Compare commits

...

19 Commits

Author SHA1 Message Date
32c3dc69bc fix: 滑动切换图片时自动跳过解码失败的无效图片
1、update_ui_ImgBle 返回类型 void → bool,解码成功返回 true,失败返回 false;
2、左滑/右滑手势回调添加 for 循环,解码失败自动跳到下一张(最多尝试 10 张防死循环);
3、更新最新设备运行日志;

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-24 18:22:53 +08:00
4e2f6906f9 feat: 启用 BLE 5.0 2M PHY 图传加速 + 移除未使用的 BluFi 组件 + BLE 断连内存泄漏修复
1、dzbj_ble.c 新增 BLE 5.0 2M PHY 请求(连接时自动协商,不支持则回退 1M);
2、dzbj_ble.c 新增 PHY 更新事件日志(tx_phy/rx_phy: 1=1M, 2=2M, 3=Coded);
3、dzbj_ble.c 断连时清理未完成的图片传输状态,释放 img_data/filepath/file_img 防止内存泄漏;
4、移除未使用的 BluFi 组件依赖(Kconfig select、编译检查、sdkconfig),解除与 BLE 5.0 的兼容冲突;
5、sdkconfig.defaults 及生产环境配置统一启用 BLE 5.0 + 保留 BLE 4.2 legacy advertising 兼容;
6、新增 BLE 图片传输问题分析与优化建议文档(含 UniApp vs Flutter 对比分析,供 APP 开发者参考);

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-24 17:12:35 +08:00
af58123d66 1、更新Claude插件高效运用的使用方法;
2、更新电子吧唧AI触屏版 → 按键版迁移总结
2026-03-23 10:30:44 +08:00
919bf8f28f feat: GIF动画表情系统 + 情绪映射增强 + HTTPS音频中止修复
一、新增功能:
1、新增8种GIF动画表情(200x89) + 3种叠加图标(45x45),实现22种情绪标签到GIF的映射表;
2、新增30+组英文近义词情绪fallback映射(如worried→sad),防止AI使用非标准标签时GIF无法切换;
3、新增HTTPS中止后诊断日志,自动追踪前20帧音频处理流程便于定位无声问题;

二、Bug修复:
4、修复HTTPS播放中止后RTC音频解码参数未恢复(16000/60→8000/20),通过background_task_串行化恢复;
5、修复AbortHttpsPlayback解码器竞态崩溃,将重置/恢复/DMA flush全部串行化执行;
6、修复LVGL gifdec不支持无全局颜色表GIF的问题,支持仅使用局部颜色表的压缩GIF;
7、修复GIF透明区域显示黑色方块,canvas初始alpha改为0x00;
8、修复lv_gif定时器gif对象为NULL时的空指针崩溃;

三、优化:
9、情绪标签从等待is_final改为第一条字幕即时触发GIF切换,新增去重和回复结束自动恢复neutral;
10、对话状态表情映射优化:THINKING→thinking、ANSWERING→happy、INTERRUPTED→surprised;
11、CPU核心绑定:LVGL任务Core0,音频循环Core1,避免GIF解码与音频争抢;
12、中文情绪词映射扩展,新增担心/心疼/着急等映射;

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-19 15:28:14 +08:00
da098bf482 1、新增了在日志打印中接收字幕详细信息的代码 2026-03-17 09:45:29 +08:00
e2ec9f36aa 1、启用LVGL GIF解码器(CONFIG_LV_USE_GIF=y),支持吧唧模式GIF图片BLE传输和播放;
2、LVGL内存管理切换为系统malloc(CONFIG_LV_MEM_CUSTOM=y),使gifdec大块分配走PSRAM避免内部堆不足;
3、pages.h stub头文件补充pages_cleanup_gif()声明,修复ui_ScreenImg.c编译隐式声明错误;

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 17:36:18 +08:00
23613e1cd3 1、新增obtain_music Function Calling音乐播放功能,4处协议分支均支持URL直播和音乐API两种HTTPS方式;
2、Kconfig新增MUSIC_API_URL音乐播放API地址配置;
3、重构SendStoryRequest和SendMusicRequest为HttpsApiPlayback通用方法,消除故事/音乐播放~440行重复代码;
4、修正4处obtain_story注释和日志:WebSocket描述改为HTTPS API(与实际实现一致);
2026-03-05 15:44:47 +08:00
ccea0c681c feat: HTTPS故事播放 + RTC/HTTPS双向音频切换状态机 + 协议层优化
1、新增HTTPS故事播放功能:SendStoryRequest通过蓝牙MAC请求故事API,支持intro+body两段式无缝播放,替换原WebSocket故事请求方式;
2、新增HttpsPlaybackFromUrl通用HTTPS音频下载播放方法,支持JSON格式Opus帧流式解码播放;
3、新增RTC↔HTTPS双向音频切换三标志位状态机(opus_playback_active_/https_playback_active_/https_playback_abort_),HTTPS播放期间静默丢弃RTC PCM包,OnAudioOutput捕获is_opus_frame防止残留Opus帧杂音;
4、新增AbortHttpsPlayback中止方法,使用独立高优先级任务(priority=10)执行DMA flush;AbortSpeaking也新增DMA缓冲区flush确保扬声器立即静音;
5、协议层新增OnBotMessage回调,非字幕Bot下行消息立即中止HTTPS播放;volc_rtc_protocol移除is_binary依赖改为直接前缀检测,新增info前缀识别,subv字幕排除on_bot_message_由subtitle handler单独处理;
6、subtitle字幕USER/AI区分从CONFIG_VOLC_DEVICE_NAME比较改为bot_前缀判断,用户说话时立即中止HTTPS播放;
7、Kconfig新增STORY_API_URL故事播放API地址配置;
8、设备注册RTC服务时,设备名称从Wi-Fi MAC地址改为使用蓝牙MAC地址

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 13:45:52 +08:00
1e7ba0763a 1、更新了postman参数、约束和语音请求讲故事的Function Call参数;
2、字幕增加了情绪标签,并且emoji表情跟随情绪和设备状态而更新;
2026-03-02 17:27:03 +08:00
04d26d7cee 1、本次新增了Function Calling的讲故事功能,可以语音获取小故事 2026-03-02 15:34:41 +08:00
7082d2a818 补充提交postman请求参数 2026-03-02 15:12:28 +08:00
98e40ac163 feat: 火山RTC字幕文本实时显示 + 字幕日志精简
1. DataCallback 新增 subv(字幕)二进制消息前缀识别,字幕数据正确解析并转发到应用层
2. OnIncomingJson 处理 type:"subtitle",通过 userId 区分用户语音识别(STT)和 AI 回复文本
3. 字幕日志简化:subv 消息仅打印"接收下行二进制消息(字幕)",不展开 JSON 内容
4. 新增postman请求的参数

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 15:11:34 +08:00
0a6b35d979 1、新增提交postman请求的Open_API参数(稳定无报错版本) 2026-03-02 10:12:59 +08:00
58c33e3cb4 feat: AI对话模式emoji表情系统 + 中文字体 + 分区优化
1. 新增AI对话LVGL界面(ai_chat_ui),支持emoji图片 + 状态文本 + 聊天消息
2. 新增7个emoji表情资源(64×64 PNG C数组):neutral/happy/sad/angry/crying/funny/laughing
3. 新增阿里巴巴普惠体20px 4bpp中文字体(GB2312字符集)
4. 利用火山RTC会话状态(VOLC_MSG_CONV_STATUS)驱动emoji切换:
   - LISTENING→happy, THINKING→neutral, ANSWERING→laughing
   - INTERRUPTED→funny, ANSWER_FINISH→happy
5. 设备状态emoji映射:Listening→happy, Speaking→laughing, Dialog→happy
6. 配网模式显示happy emoji
7. 分区优化:model 3MB→64KB,OTA 5MB→6.5MB
8. 编译优化:-Og→-Os,移除SimSun CJK字体

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 18:14:19 +08:00
38b71ce221 chore: 添加 esp_jpeg 托管组件到仓库
将 ESP Component Registry 自动下载的 espressif__esp_jpeg 组件纳入版本管理,
避免其他开发者拉取后需要重新下载。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 10:32:38 +08:00
c4de88d7ee chore: 移除 pages_stub.c(已被 dzbj/pages.c 替代)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 10:23:28 +08:00
14776acb0a feat: 完成 AI/吧唧双模式完全隔离重构 + 触摸坐标日志 + SPIFFS 预烧录
## 核心变更

### 1. 双模式完全隔离 (Phase 2+4)
- 拆分 InitializeButtons() 为 InitializeBadgeModeButtons() + InitializeAiModeButtons()
- 构造函数按 device_mode 分支:吧唧模式不创建 PowerSaveTimer/BackgroundTask
- 吧唧模式不注册音量/故事按键回调,避免调用 GetAudioCodec() 崩溃
- GPIO0 由 iot_button 统一处理,dzbj_button 仅注册 KEY2(GPIO4)
- SetDeviceState() 中 background_task_ 空指针保护

### 2. 吧唧模式 BOOT 按键崩溃修复
- 新增 dzbj_boot_click_handler()(C 函数,避免 lvgl.h 与 display.h 冲突)
- 移植 dzbj 的唤醒屏幕/退出手电筒/返回Home 完整逻辑

### 3. esp_timer 阻塞 LVGL 渲染修复
- iot_button 回调在 esp_timer 任务中执行,vTaskDelay 会阻塞 lv_tick_inc
- 改为 xTaskCreate 派发到独立 FreeRTOS 任务,避免冻结 LVGL 渲染

### 4. 触摸坐标日志 + SPIFFS 预烧录
- esp_lvgl_port_touch.c 添加触摸坐标打印
- CMakeLists.txt 添加 spiffs_create_partition_image 自动打包 spiffs_image/

### 5. dzbj 模块文件新增
- device_mode: NVS 设备模式管理 (AI=0/吧唧=1)
- dzbj_button: GPIO4 KEY2 中断 + BOOT 点击处理
- dzbj_ble: BLE GATT 图传服务 (0x0B00)
- dzbj_battery: ADC 电池电压监测
- sleep_mgr: 10s 超时熄屏低功耗管理
- pages: 图片浏览/GIF播放/PWM亮度
- fatfs: SPIFFS 文件管理

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 10:23:04 +08:00
bcfd35b9b8 chore: 从 Git 索引中移除 build/ 和 sdkconfig.old
build/ 目录和 sdkconfig.old 之前已被提交到仓库,
.gitignore 只能忽略未跟踪文件。
使用 git rm --cached 从索引中移除,本地文件不受影响。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 17:10:45 +08:00
c24a9bc162 feat: 集成 dzbj LVGL 显示模块 + 配网模式内存优化
阶段1: 将 dzbj 项目的 LVGL 8.3.11 LCD 显示集成到 AI小智 主项目,
开机显示 ScreenHome 界面,同时优化配网模式下的内存使用,
确保 WiFi+BLE+LVGL 三者共存运行。

## 新增功能

### dzbj 显示模块集成
- 新增 main/dzbj/ 目录,移植 LCD 驱动(ST77916 QSPI)、触摸驱动(CST816S)、
  LVGL 初始化和 SquareLine Studio UI 界面
- I2C 总线共享:dzbj 触摸控制器复用主项目的 I2C_NUM_1 总线
- GPIO 冲突解决:LED(GPIO21)、Touch1(GPIO1)、Touch4(GPIO7) 改为 NC,
  电池 ADC 从 GPIO6 改为 GPIO3
- 添加 LVGL、esp_lcd_st77916、esp_lcd_touch_cst816s 等组件依赖
- managed_components 纳入版本管理

### 配网模式轻量化启动
- BoxAudioCodec: 新增 output_only 模式,仅创建 I2S TX 通道(省 ~13KB DMA)
  跳过 ES7210 ADC 初始化(省 ~2-4KB)
- AudioCodec: 新增 StartOutputOnly() 方法,仅启用扬声器输出
- Application: 配网模式跳过 Opus 编码器、输入重采样器、协议初始化、
  天气位置检测等网络业务
- 板级构造函数: 配网模式跳过电池检测、IMU传感器、PowerSaveTimer

### WifiBoard 配网流程修复
- NeedsProvisioning() 静态方法: 读取 NVS force_ap 和 SSID 列表,
  用于提前判断配网模式
- force_ap 竞态修复: 构造函数不再清零 force_ap,改在 StartNetwork() 清零,
  确保 NeedsProvisioning() 能正确读到 force_ap=1
- Application 缓存 provisioning_mode_ 成员变量,避免重复读 NVS

### BLE 配网重启修复
- 配网成功后用 esp_timer 延迟重启替代 xTaskCreate,
  避免内存紧张时任务创建失败导致设备不重启
- 注释掉 WiFi 连接成功后的 MAC 地址发送步骤

### sdkconfig 内存优化
- BT_ALLOCATION_FROM_SPIRAM_FIRST=y (BLE 动态分配优先 PSRAM)
- SPIRAM_MALLOC_RESERVE_INTERNAL=32768
- NVS_ALLOCATE_CACHE_IN_SPIRAM=y
- WiFi 静态缓冲区数量优化 (RX=10, TX=8)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 17:07:51 +08:00
1466 changed files with 677445 additions and 12351 deletions

BIN
.DS_Store vendored

Binary file not shown.

14
.gitignore vendored
View File

@ -5,6 +5,20 @@
# 忽略根目录下的uniapp_code文件夹这是APP端的业务
/uniapp_code
/Linux驱动开发
# 忽略 macOS 系统文件
.DS_Store
# 忽略 Claude Code 和编辑器缓存
.cache
.claude
# 忽略构建副产物
sdkconfig.old
# 忽略日志文件和参考项目
05-最新日志.txt
07-uniapp最新日志.txt
/Dzbj_ESP32_S3
/esp-brookesia-master

View File

@ -1,733 +1,93 @@
I (2151) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (2151) AudioCodec: 将运行时输出音量设置为40
I (2151) Application: 设备启动完成,播放开机播报语音
I (2151) pp: pp rom version: e7ae62f
I (2151) net80211: net80211 rom version: e7ae62f
I (2161) wifi:wifi driver task: 3fce4d24, prio:23, stack:6656, core=0
I (2161) wifi:wifi firmware version: bea31f3
I (2161) wifi:wifi certification version: v7.0
I (2161) wifi:config NVS flash: disabled
I (2161) wifi:config nano formatting: disabled
I (2161) wifi:Init data frame dynamic rx buffer num: 32
I (2161) wifi:Init dynamic rx mgmt buffer num: 5
I (2161) wifi:Init management short buffer num: 32
I (2161) wifi:Init static tx buffer num: 16
I (2161) wifi:Init tx cache buffer num: 32
I (2161) wifi:Init static tx FG buffer num: 2
I (2161) wifi:Init static rx buffer size: 1600
I (2161) wifi:Init static rx buffer num: 16
I (2161) wifi:Init dynamic rx buffer num: 32
I (2161) wifi_init: rx ba win: 16
I (2161) wifi_init: accept mbox: 6
I (2161) wifi_init: tcpip mbox: 32
I (2161) wifi_init: udp mbox: 6
I (2161) wifi_init: tcp mbox: 6
I (2161) wifi_init: tcp tx win: 5760
I (2161) wifi_init: tcp rx win: 5760
I (2161) wifi_init: tcp mss: 1440
I (2161) wifi_init: WiFi/LWIP prefer SPIRAM
I (2161) phy_init: phy_version 701,f4f1da3a,Mar 3 2025,15:50:10
I (2201) wifi:mode : sta (20:6e:f1:b9:af:a0)
I (2201) wifi:enable tsf
I (2201) Application: 开始播放下行音频: 样本=960 采样率=16000
I (4611) wifi: 发现可连接 AP: airhub, BSSID: 70:2a:d7:85:bc:eb, RSSI: -32, Channel: 6, Authmode: 3
I (4611) WifiBoard: Starting WiFi connection, playing network connection sound
W (4611) wifi:Password length matches WPA2 standards, authmode threshold changes from OPEN to WPA2
I (4711) wifi:new:<6,1>, old:<1,0>, ap:<255,255>, sta:<6,1>, prof:1, snd_ch_cfg:0x0
I (4711) wifi:state: init -> auth (0xb0)
I (4731) wifi:state: auth -> assoc (0x0)
I (4751) wifi:state: assoc -> run (0x10)
I (4771) wifi:connected with airhub, aid = 2, channel 6, 40U, bssid = 70:2a:d7:85:bc:eb
I (4771) wifi:security: WPA2-PSK, phy: bgn, rssi: -31
I (4771) wifi:pm start, type: 1
I (4771) wifi:dp: 1, bi: 102400, li: 3, scale listen interval from 307200 us to 307200 us
I (4771) wifi:set rx beacon pti, rx_bcn_pti: 14, bcn_timeout: 25000, mt_pti: 14, mt_time: 10000
I (4791) wifi:<ba-add>idx:0 (ifx:0, 70:2a:d7:85:bc:eb), tid:0, ssn:0, winSize:64
I (4841) wifi:AP's beacon interval = 102400 us, DTIM period = 1
I (5081) Airhub1: 📤 电量上报功能已启用每30秒上报一次
I (6501) wifi: Got IP: 192.168.124.25
I (6501) esp_netif_handlers: sta ip: 192.168.124.25, mask: 255.255.255.0, gw: 192.168.124.1
I (11181) Airhub1: ADC: 963, 原始电压: 0.96V, 计算电池电压: 4.18V, 电量: 98%, 满电电压: 4.20V
I (11181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (11501) VolcRtcProtocol: 设置Agent配置参数: {"Config":{"WebSearchAgentConfig":{"ParamsString":"{\"bot_id\":\"7585449675889608233\",\"stream\":true,\"location_info\":{\"city\":\"广州市\"}}"}}}
I (11501) VolcRtcProtocol: VolcRtcProtocol 开始启动...
I (11501) VolcRtcProtocol: 使用Wi-Fi MAC地址作为设备名称(已替换冒号为下划线): 20_6e_f1_b9_af_a0
I (11501) VolcRtcProtocol: NVS凭证已加载secret=1 appid=1 device_name=20_6e_f1_b9_af_a0, free_heap=8289960
[INF|volc_rtc.c:597]volc_rtc_create: set param[0]: {"debug":{"log_to_console":1}}
[INF|volc_rtc.c:597]volc_rtc_create: set param[1]: {"audio":{"codec":{"internal":{"enable":1}}}}
[INF|volc_rtc.c:597]volc_rtc_create: set param[2]: {"rtc":{"access":{"concurrent_requests":1}}}
[INF|volc_rtc.c:597]volc_rtc_create: set param[3]: {"rtc":{"ice":{"concurrent_agents":1}}}
1970-01-01 08:00:43.149 [I] VolcEngineRTCLite.c:153 ****************** HELLO BOOKA (68f0bc7617b8520178bef12c)(1.57.207.001)(HASH-5c3aa20fe851886d21cede0115044e17c3ec8a67) ********************
1970-01-01 08:00:43.150 [I] VolcEngineRTCLite.c:158 Platform esp32s3
1970-01-01 08:00:43.150 [I] VolcEngineRTCLite.c:161 OsVersion FreeRTOS/unknown
1970-01-01 08:00:43.150 [I] VolcEngineRTCLite.c:164 CompilerInfo GCC/14.2.0
1970-01-01 08:00:43.150 [I] VolcEngineRTCLite.c:100 BOOKA_DEVICE_LOW_RESOURCE : ON
1970-01-01 08:00:43.151 [I] VolcEngineRTCLite.c:104 BOOKA_ENABLE_EVENT_REPORT : ON
1970-01-01 08:00:43.151 [I] VolcEngineRTCLite.c:108 ENABLE_G722_CODEC : ON
1970-01-01 08:00:43.151 [I] GlobalParams.c:232 pGlobalParams->configParams.rtc.access.concurrent_requests from 2 to 1
1970-01-01 08:00:43.152 [I] GlobalParams.c:233 pGlobalParams->configParams.rtc.ice.concurrent_agents from 2 to 1
1970-01-01 08:00:43.152 [I] GlobalParams.c:239 pGlobalParams->configParams.audio.codec.internal.enable from 0 to 1
1970-01-01 08:00:43.152 [I] GlobalParams.c:244 pGlobalParams->configParams.debug.log_to_console from 0 to 1
1970-01-01 08:00:43.153 [I] GlobalParams.c:247 pGlobalParams->configParams.rtc.root_path to .
I (11511) wifi:<ba-add>idx:1 (ifx:0, 70:2a:d7:85:bc:eb), tid:3, ssn:0, winSize:64
1970-01-01 08:00:43.156 [E] Cache.c:273 operation returned status code: 0x00000009
2026-02-12 11:07:27.040 [E] SocketConnection-Lite.c:191 bind local ip failed
2026-02-12 11:07:27.043 [I] LiteResolver.c:213 start resolve rtc-log-service.volcvideo.com by sep thread
2026-02-12 11:07:27.046 [I] API byte_rtc_set_audio_codec engine 0x3c2eb4f0 audio_codec_type 4
2026-02-12 11:07:27.047 [I] Common.c:82 rtcAudioCodec2SdkAudioCodec codec 5
2026-02-12 11:07:27.047 [I] API byte_rtc_set_video_codec engine 0x3c2eb4f0 video_codec_type 0
I (11521) VolcRtcProtocol: RTC实例已准备就绪房间加入将在监听状态后执行
I (11521) Application: 🌐 开始初始化WebSocket协议...
I (11521) Application: 🔧 创建WebsocketProtocol实例
I (11521) Application: 🚀 启动WebSocket协议
I (11521) Application: ✅ WebSocket协议初始化完成
I (11521) VolcRtcProtocol: VolcRtcProtocol初始化任务已创建
I (11531) EspHttp: Opening HTTP connection to https://xiaozhi-dev-web.goods.fun/xiaozhi/ota/
I (11531) Application: 打印设置设备状态日志: idle
I (11531) Application: Entering idle state, playing standby sound
I (11531) WeatherApi: [AutoDetectAndSetLocation] 调用全局函数自动检测位置
I (11531) WeatherApi: [AutoDetectLocation] ===== 开始自动检测位置 =====
I (11531) WeatherApi: [AutoDetectLocation] 从NVS命中位置: '广州市',已更新默认城市
I (11531) WeatherApi: [AutoDetectLocation] ===== 位置检测完成 =====
I (11531) main_task: Returned from app_main()
2026-02-12 11:07:27.095 [I] LiteResolver.c:213 start resolve rtc-log-info.volcvideo.com by sep thread
2026-02-12 11:07:27.115 [I] LiteResolver.c:213 start resolve access.rtc.volcvideo.com by sep thread
I (12051) esp-x509-crt-bundle: Certificate validated
2026-02-12 11:07:27.987 [E] Cache.c:311 operation returned status code: 0x00000009
I (12651) Ota: HTTP response status code: 0
I (12661) Ota: Server role: , Device role: RTC_Test
W (12661) Ota: Role mismatch (Device:RTC_Test vs Server:), upgrade denied
W (12661) Ota: ✗ Upgrade conditions not met - Role: ✗, Version check: skipped
I (12661) Ota: Running partition: ota_0
2026-02-12 19:07:28.179 [I] IceAgent.c:2533 cur nominatedCandidatePair local 192.168.124.25:0 remote 183.60.131.168:50000 state ICE_CANDIDATE_PAIR_STATE_SUCCEEDED
I (21181) Airhub1: ADC: 964, 原始电压: 0.96V, 计算电池电压: 4.18V, 电量: 98%, 满电电压: 4.20V
I (21181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (21181) Airhub1: 🔋 进入低功耗模式CPU降频、Light Sleep启用、功放关闭
I (21181) I2S_IF: Pending out channel for in channel running
I (21181) AudioCodec: Set output enable to false
I (21181) Airhub1: 🔊 功放已关闭
I (31181) Airhub1: ADC: 964, 原始电压: 0.96V, 计算电池电压: 4.18V, 电量: 98%, 满电电压: 4.20V
I (31181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (34081) Airhub1: 📤 准备上报电量: 98%
I (34081) Airhub1: 当前WiFi信号强度: -33 dBm
I (34081) Airhub1: 📤 上报数据: {"mac_address":"20:6e:f1:b9:af:a2","battery_level":98,"wifi_rssi":-33}
I (34081) EspHttp: Opening HTTP connection to https://kapibala-ai.dev.goods.fun/api/v1/public/device/update-battery/
I (34301) esp-x509-crt-bundle: Certificate validated
I (34931) Airhub1: 📥 服务器响应: {"success":false,"message":"设备不存在"}
I (34931) Airhub1: ✅ 电量上报完成
I (41181) Airhub1: ADC: 965, 原始电压: 0.96V, 计算电池电压: 4.19V, 电量: 99%, 满电电压: 4.20V
I (41181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (51181) Airhub1: ADC: 966, 原始电压: 0.97V, 计算电池电压: 4.19V, 电量: 99%, 满电电压: 4.20V
I (51181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (61181) Airhub1: ADC: 966, 原始电压: 0.97V, 计算电池电压: 4.19V, 电量: 99%, 满电电压: 4.20V
I (61181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (64081) Airhub1: 📤 准备上报电量: 99%
I (64081) Airhub1: 当前WiFi信号强度: -36 dBm
I (64081) Airhub1: 📤 上报数据: {"mac_address":"20:6e:f1:b9:af:a2","battery_level":99,"wifi_rssi":-36}
I (64091) EspHttp: Opening HTTP connection to https://kapibala-ai.dev.goods.fun/api/v1/public/device/update-battery/
I (64261) esp-x509-crt-bundle: Certificate validated
I (65141) Airhub1: 📥 服务器响应: {"success":false,"message":"设备不存在"}
I (65141) Airhub1: ✅ 电量上报完成
I (71181) Airhub1: ADC: 967, 原始电压: 0.97V, 计算电池电压: 4.20V, 电量: 99%, 满电电压: 4.20V
I (71181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (81181) Airhub1: ADC: 968, 原始电压: 0.97V, 计算电池电压: 4.20V, 电量: 100%, 满电电压: 4.20V
I (81181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (91181) Airhub1: ADC: 969, 原始电压: 0.97V, 计算电池电压: 4.21V, 电量: 100%, 满电电压: 4.20V
I (91181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (94081) Airhub1: 📤 准备上报电量: 100%
I (94081) Airhub1: 当前WiFi信号强度: -37 dBm
I (94081) Airhub1: 📤 上报数据: {"mac_address":"20:6e:f1:b9:af:a2","battery_level":100,"wifi_rssi":-37}
I (94081) EspHttp: Opening HTTP connection to https://kapibala-ai.dev.goods.fun/api/v1/public/device/update-battery/
I (94251) esp-x509-crt-bundle: Certificate validated
I (94771) Airhub1: 📥 服务器响应: {"success":false,"message":"设备不存在"}
I (94781) Airhub1: ✅ 电量上报完成
I (101181) Airhub1: ADC: 970, 原始电压: 0.97V, 计算电池电压: 4.21V, 电量: 100%, 满电电压: 4.20V
I (101181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (111181) Airhub1: ADC: 971, 原始电压: 0.97V, 计算电池电压: 4.21V, 电量: 100%, 满电电压: 4.20V
I (111181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (121181) Airhub1: ADC: 972, 原始电压: 0.97V, 计算电池电压: 4.22V, 电量: 100%, 满电电压: 4.20V
I (121181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (124081) Airhub1: 📤 准备上报电量: 100%
I (124081) Airhub1: 当前WiFi信号强度: -35 dBm
I (124081) Airhub1: 📤 上报数据: {"mac_address":"20:6e:f1:b9:af:a2","battery_level":100,"wifi_rssi":-35}
I (124091) EspHttp: Opening HTTP connection to https://kapibala-ai.dev.goods.fun/api/v1/public/device/update-battery/
I (124271) esp-x509-crt-bundle: Certificate validated
I (124871) Airhub1: 📥 服务器响应: {"success":false,"message":"设备不存在"}
I (124871) Airhub1: ✅ 电量上报完成
I (131181) Airhub1: ADC: 973, 原始电压: 0.97V, 计算电池电压: 4.22V, 电量: 100%, 满电电压: 4.20V
I (131181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (141181) Airhub1: ADC: 974, 原始电压: 0.97V, 计算电池电压: 4.23V, 电量: 100%, 满电电压: 4.20V
I (141181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (151181) Airhub1: ADC: 975, 原始电压: 0.98V, 计算电池电压: 4.23V, 电量: 100%, 满电电压: 4.20V
I (151181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (154081) Airhub1: 📤 准备上报电量: 100%
I (154081) Airhub1: 当前WiFi信号强度: -35 dBm
I (154081) Airhub1: 📤 上报数据: {"mac_address":"20:6e:f1:b9:af:a2","battery_level":100,"wifi_rssi":-35}
I (154081) EspHttp: Opening HTTP connection to https://kapibala-ai.dev.goods.fun/api/v1/public/device/update-battery/
I (154351) esp-x509-crt-bundle: Certificate validated
I (154971) Airhub1: 📥 服务器响应: {"success":false,"message":"设备不存在"}
I (154971) Airhub1: ✅ 电量上报完成
I (161181) Airhub1: ADC: 976, 原始电压: 0.98V, 计算电池电压: 4.24V, 电量: 100%, 满电电压: 4.20V
I (161181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (171181) Airhub1: ADC: 977, 原始电压: 0.98V, 计算电池电压: 4.24V, 电量: 100%, 满电电压: 4.20V
I (171181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (181181) Airhub1: ADC: 978, 原始电压: 0.98V, 计算电池电压: 4.24V, 电量: 100%, 满电电压: 4.20V
I (181181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (184081) Airhub1: 📤 准备上报电量: 100%
I (184081) Airhub1: 当前WiFi信号强度: -34 dBm
I (184081) Airhub1: 📤 上报数据: {"mac_address":"20:6e:f1:b9:af:a2","battery_level":100,"wifi_rssi":-34}
I (184081) EspHttp: Opening HTTP connection to https://kapibala-ai.dev.goods.fun/api/v1/public/device/update-battery/
I (184271) esp-x509-crt-bundle: Certificate validated
I (184821) Airhub1: 📥 服务器响应: {"success":false,"message":"设备不存在"}
I (184821) Airhub1: ✅ 电量上报完成
I (191181) Airhub1: ADC: 979, 原始电压: 0.98V, 计算电池电压: 4.25V, 电量: 100%, 满电电压: 4.20V
I (191181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (201181) Airhub1: ADC: 980, 原始电压: 0.98V, 计算电池电压: 4.25V, 电量: 100%, 满电电压: 4.20V
I (201181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (211181) Airhub1: ADC: 981, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (211181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (214081) Airhub1: 📤 准备上报电量: 100%
I (214081) Airhub1: 当前WiFi信号强度: -39 dBm
I (214081) Airhub1: 📤 上报数据: {"mac_address":"20:6e:f1:b9:af:a2","battery_level":100,"wifi_rssi":-39}
I (214081) EspHttp: Opening HTTP connection to https://kapibala-ai.dev.goods.fun/api/v1/public/device/update-battery/
I (214281) esp-x509-crt-bundle: Certificate validated
I (214771) Airhub1: 📥 服务器响应: {"success":false,"message":"设备不存在"}
I (214771) Airhub1: ✅ 电量上报完成
I (221181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (221181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (231181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (231181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (241181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (241181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (244081) Airhub1: 📤 准备上报电量: 100%
I (244081) Airhub1: 当前WiFi信号强度: -42 dBm
I (244081) Airhub1: 📤 上报数据: {"mac_address":"20:6e:f1:b9:af:a2","battery_level":100,"wifi_rssi":-42}
I (244081) EspHttp: Opening HTTP connection to https://kapibala-ai.dev.goods.fun/api/v1/public/device/update-battery/
I (244291) esp-x509-crt-bundle: Certificate validated
I (244791) Airhub1: 📥 服务器响应: {"success":false,"message":"设备不存在"}
I (244791) Airhub1: ✅ 电量上报完成
I (251181) Airhub1: ADC: 983, 原始电压: 0.98V, 计算电池电压: 4.27V, 电量: 100%, 满电电压: 4.20V
I (251181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (261181) Airhub1: ADC: 983, 原始电压: 0.98V, 计算电池电压: 4.27V, 电量: 100%, 满电电压: 4.20V
I (261181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (271181) Airhub1: ADC: 983, 原始电压: 0.98V, 计算电池电压: 4.27V, 电量: 100%, 满电电压: 4.20V
I (271181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (274081) Airhub1: 📤 准备上报电量: 100%
I (274081) Airhub1: 当前WiFi信号强度: -39 dBm
I (274081) Airhub1: 📤 上报数据: {"mac_address":"20:6e:f1:b9:af:a2","battery_level":100,"wifi_rssi":-39}
I (274081) EspHttp: Opening HTTP connection to https://kapibala-ai.dev.goods.fun/api/v1/public/device/update-battery/
I (274271) esp-x509-crt-bundle: Certificate validated
I (274891) Airhub1: 📥 服务器响应: {"success":false,"message":"设备不存在"}
I (274891) Airhub1: ✅ 电量上报完成
I (281181) Airhub1: ADC: 983, 原始电压: 0.98V, 计算电池电压: 4.27V, 电量: 100%, 满电电压: 4.20V
I (281181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (291181) Airhub1: ADC: 983, 原始电压: 0.98V, 计算电池电压: 4.27V, 电量: 100%, 满电电压: 4.20V
I (291181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (301181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (301181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (304081) Airhub1: 📤 准备上报电量: 100%
I (304081) Airhub1: 当前WiFi信号强度: -41 dBm
I (304081) Airhub1: 📤 上报数据: {"mac_address":"20:6e:f1:b9:af:a2","battery_level":100,"wifi_rssi":-41}
I (304091) EspHttp: Opening HTTP connection to https://kapibala-ai.dev.goods.fun/api/v1/public/device/update-battery/
I (304271) esp-x509-crt-bundle: Certificate validated
I (304921) Airhub1: 📥 服务器响应: {"success":false,"message":"设备不存在"}
I (304921) Airhub1: ✅ 电量上报完成
I (311181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (311181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (321181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (321181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (331181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (331181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (334081) Airhub1: 📤 准备上报电量: 100%
I (334081) Airhub1: 当前WiFi信号强度: -32 dBm
I (334081) Airhub1: 📤 上报数据: {"mac_address":"20:6e:f1:b9:af:a2","battery_level":100,"wifi_rssi":-32}
I (334081) EspHttp: Opening HTTP connection to https://kapibala-ai.dev.goods.fun/api/v1/public/device/update-battery/
I (334271) esp-x509-crt-bundle: Certificate validated
I (334811) Airhub1: 📥 服务器响应: {"success":false,"message":"设备不存在"}
I (334811) Airhub1: ✅ 电量上报完成
I (341181) Airhub1: ADC: 981, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (341181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (351181) Airhub1: ADC: 981, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (351181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (361181) Airhub1: ADC: 981, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (361181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (364081) Airhub1: 📤 准备上报电量: 100%
I (364081) Airhub1: 当前WiFi信号强度: -33 dBm
I (364081) Airhub1: 📤 上报数据: {"mac_address":"20:6e:f1:b9:af:a2","battery_level":100,"wifi_rssi":-33}
I (364081) EspHttp: Opening HTTP connection to https://kapibala-ai.dev.goods.fun/api/v1/public/device/update-battery/
I (364331) esp-x509-crt-bundle: Certificate validated
I (365021) Airhub1: 📥 服务器响应: {"success":false,"message":"设备不存在"}
I (365021) Airhub1: ✅ 电量上报完成
I (371181) Airhub1: ADC: 981, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (371181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (381181) Airhub1: ADC: 981, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (381181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (391181) Airhub1: ADC: 981, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (391181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (394081) Airhub1: 📤 准备上报电量: 100%
I (394081) Airhub1: 当前WiFi信号强度: -33 dBm
I (394081) Airhub1: 📤 上报数据: {"mac_address":"20:6e:f1:b9:af:a2","battery_level":100,"wifi_rssi":-33}
I (394081) EspHttp: Opening HTTP connection to https://kapibala-ai.dev.goods.fun/api/v1/public/device/update-battery/
I (394251) esp-x509-crt-bundle: Certificate validated
I (394791) Airhub1: 📥 服务器响应: {"success":false,"message":"设备不存在"}
I (394791) Airhub1: ✅ 电量上报完成
I (401181) Airhub1: ADC: 981, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (401181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (411181) Airhub1: ADC: 981, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (411181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (421181) Airhub1: ADC: 981, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (421181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (424081) Airhub1: 📤 准备上报电量: 100%
I (424081) Airhub1: 当前WiFi信号强度: -33 dBm
I (424081) Airhub1: 📤 上报数据: {"mac_address":"20:6e:f1:b9:af:a2","battery_level":100,"wifi_rssi":-33}
I (424081) EspHttp: Opening HTTP connection to https://kapibala-ai.dev.goods.fun/api/v1/public/device/update-battery/
I (424271) esp-x509-crt-bundle: Certificate validated
I (424861) Airhub1: 📥 服务器响应: {"success":false,"message":"设备不存在"}
I (424861) Airhub1: ✅ 电量上报完成
I (431181) Airhub1: ADC: 981, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (431181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (441181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (441181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (451181) Airhub1: ADC: 981, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (451181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (454081) Airhub1: 📤 准备上报电量: 100%
I (454081) Airhub1: 当前WiFi信号强度: -33 dBm
I (454081) Airhub1: 📤 上报数据: {"mac_address":"20:6e:f1:b9:af:a2","battery_level":100,"wifi_rssi":-33}
I (454081) EspHttp: Opening HTTP connection to https://kapibala-ai.dev.goods.fun/api/v1/public/device/update-battery/
I (454271) esp-x509-crt-bundle: Certificate validated
I (454951) Airhub1: 📥 服务器响应: {"success":false,"message":"设备不存在"}
I (454951) Airhub1: ✅ 电量上报完成
I (461181) Airhub1: ADC: 981, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (461181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (471181) Airhub1: ADC: 981, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (471181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (481181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (481181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (484081) Airhub1: 📤 准备上报电量: 100%
I (484081) Airhub1: 当前WiFi信号强度: -33 dBm
I (484091) Airhub1: 📤 上报数据: {"mac_address":"20:6e:f1:b9:af:a2","battery_level":100,"wifi_rssi":-33}
I (484091) EspHttp: Opening HTTP connection to https://kapibala-ai.dev.goods.fun/api/v1/public/device/update-battery/
I (484251) esp-x509-crt-bundle: Certificate validated
I (484831) Airhub1: 📥 服务器响应: {"success":false,"message":"设备不存在"}
I (484841) Airhub1: ✅ 电量上报完成
I (491181) Airhub1: ADC: 981, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (491181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (501181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (501181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (511181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (511181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (514081) Airhub1: 📤 准备上报电量: 100%
I (514081) Airhub1: 当前WiFi信号强度: -33 dBm
I (514081) Airhub1: 📤 上报数据: {"mac_address":"20:6e:f1:b9:af:a2","battery_level":100,"wifi_rssi":-33}
I (514081) EspHttp: Opening HTTP connection to https://kapibala-ai.dev.goods.fun/api/v1/public/device/update-battery/
I (514251) esp-x509-crt-bundle: Certificate validated
I (514831) Airhub1: 📥 服务器响应: {"success":false,"message":"设备不存在"}
I (514831) Airhub1: ✅ 电量上报完成
I (521181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (521181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (531181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (531181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (541181) Airhub1: ADC: 983, 原始电压: 0.98V, 计算电池电压: 4.27V, 电量: 100%, 满电电压: 4.20V
I (541181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (544081) Airhub1: 📤 准备上报电量: 100%
I (544081) Airhub1: 当前WiFi信号强度: -32 dBm
I (544091) Airhub1: 📤 上报数据: {"mac_address":"20:6e:f1:b9:af:a2","battery_level":100,"wifi_rssi":-32}
I (544091) EspHttp: Opening HTTP connection to https://kapibala-ai.dev.goods.fun/api/v1/public/device/update-battery/
I (544251) esp-x509-crt-bundle: Certificate validated
I (544821) Airhub1: 📥 服务器响应: {"success":false,"message":"设备不存在"}
I (544821) Airhub1: ✅ 电量上报完成
I (551181) Airhub1: ADC: 983, 原始电压: 0.98V, 计算电池电压: 4.27V, 电量: 100%, 满电电压: 4.20V
I (551181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (561181) Airhub1: ADC: 983, 原始电压: 0.98V, 计算电池电压: 4.27V, 电量: 100%, 满电电压: 4.20V
I (561181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (571181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (571181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (574081) Airhub1: 📤 准备上报电量: 100%
I (574081) Airhub1: 当前WiFi信号强度: -31 dBm
I (574081) Airhub1: 📤 上报数据: {"mac_address":"20:6e:f1:b9:af:a2","battery_level":100,"wifi_rssi":-31}
I (574081) EspHttp: Opening HTTP connection to https://kapibala-ai.dev.goods.fun/api/v1/public/device/update-battery/
I (574321) esp-x509-crt-bundle: Certificate validated
I (574931) Airhub1: 📥 服务器响应: {"success":false,"message":"设备不存在"}
I (574931) Airhub1: ✅ 电量上报完成
I (581181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (581181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (591181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (591181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (601181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (601181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (604081) Airhub1: 📤 准备上报电量: 100%
I (604081) Airhub1: 当前WiFi信号强度: -32 dBm
I (604081) Airhub1: 📤 上报数据: {"mac_address":"20:6e:f1:b9:af:a2","battery_level":100,"wifi_rssi":-32}
I (604081) EspHttp: Opening HTTP connection to https://kapibala-ai.dev.goods.fun/api/v1/public/device/update-battery/
I (604261) esp-x509-crt-bundle: Certificate validated
I (604791) Airhub1: 📥 服务器响应: {"success":false,"message":"设备不存在"}
I (604791) Airhub1: ✅ 电量上报完成
I (611181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (611181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (621181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (621181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (631181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (631181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (634081) Airhub1: 📤 准备上报电量: 100%
I (634081) Airhub1: 当前WiFi信号强度: -33 dBm
I (634081) Airhub1: 📤 上报数据: {"mac_address":"20:6e:f1:b9:af:a2","battery_level":100,"wifi_rssi":-33}
I (634081) EspHttp: Opening HTTP connection to https://kapibala-ai.dev.goods.fun/api/v1/public/device/update-battery/
I (634351) esp-x509-crt-bundle: Certificate validated
I (634921) Airhub1: 📥 服务器响应: {"success":false,"message":"设备不存在"}
I (634921) Airhub1: ✅ 电量上报完成
I (641181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (641181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (651181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (651181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (661181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (661181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (664081) Airhub1: 📤 准备上报电量: 100%
I (664081) Airhub1: 当前WiFi信号强度: -33 dBm
I (664081) Airhub1: 📤 上报数据: {"mac_address":"20:6e:f1:b9:af:a2","battery_level":100,"wifi_rssi":-33}
I (664081) EspHttp: Opening HTTP connection to https://kapibala-ai.dev.goods.fun/api/v1/public/device/update-battery/
I (664321) esp-x509-crt-bundle: Certificate validated
I (664921) Airhub1: 📥 服务器响应: {"success":false,"message":"设备不存在"}
I (664931) Airhub1: ✅ 电量上报完成
I (671181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (671181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (681181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (681181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (691181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (691181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (694081) Airhub1: 📤 准备上报电量: 100%
I (694081) Airhub1: 当前WiFi信号强度: -33 dBm
I (694081) Airhub1: 📤 上报数据: {"mac_address":"20:6e:f1:b9:af:a2","battery_level":100,"wifi_rssi":-33}
I (694081) EspHttp: Opening HTTP connection to https://kapibala-ai.dev.goods.fun/api/v1/public/device/update-battery/
I (694251) esp-x509-crt-bundle: Certificate validated
I (694841) Airhub1: 📥 服务器响应: {"success":false,"message":"设备不存在"}
I (694851) Airhub1: ✅ 电量上报完成
I (701181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (701181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (711181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (711181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (721181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (721181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (724081) Airhub1: 📤 准备上报电量: 100%
I (724081) Airhub1: 当前WiFi信号强度: -34 dBm
I (724091) Airhub1: 📤 上报数据: {"mac_address":"20:6e:f1:b9:af:a2","battery_level":100,"wifi_rssi":-34}
I (724091) EspHttp: Opening HTTP connection to https://kapibala-ai.dev.goods.fun/api/v1/public/device/update-battery/
I (724281) esp-x509-crt-bundle: Certificate validated
I (724821) Airhub1: 📥 服务器响应: {"success":false,"message":"设备不存在"}
I (724831) Airhub1: ✅ 电量上报完成
I (731181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (731181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (741181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (741181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (751181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (751181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (754081) Airhub1: 📤 准备上报电量: 100%
I (754081) Airhub1: 当前WiFi信号强度: -34 dBm
I (754081) Airhub1: 📤 上报数据: {"mac_address":"20:6e:f1:b9:af:a2","battery_level":100,"wifi_rssi":-34}
I (754081) EspHttp: Opening HTTP connection to https://kapibala-ai.dev.goods.fun/api/v1/public/device/update-battery/
I (754261) esp-x509-crt-bundle: Certificate validated
I (754831) Airhub1: 📥 服务器响应: {"success":false,"message":"设备不存在"}
I (754831) Airhub1: ✅ 电量上报完成
I (761181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (761181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (771181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (771181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (781181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (781181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (784081) Airhub1: 📤 准备上报电量: 100%
I (784081) Airhub1: 当前WiFi信号强度: -34 dBm
I (784081) Airhub1: 📤 上报数据: {"mac_address":"20:6e:f1:b9:af:a2","battery_level":100,"wifi_rssi":-34}
I (784081) EspHttp: Opening HTTP connection to https://kapibala-ai.dev.goods.fun/api/v1/public/device/update-battery/
I (784291) esp-x509-crt-bundle: Certificate validated
I (784841) Airhub1: 📥 服务器响应: {"success":false,"message":"设备不存在"}
I (784841) Airhub1: ✅ 电量上报完成
I (791181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (791181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (792291) wifi:new:<6,0>, old:<6,1>, ap:<255,255>, sta:<6,0>, prof:1, snd_ch_cfg:0x0
I (801181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (801181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (811181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (811181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (814081) Airhub1: 📤 准备上报电量: 100%
I (814081) Airhub1: 当前WiFi信号强度: -33 dBm
I (814081) Airhub1: 📤 上报数据: {"mac_address":"20:6e:f1:b9:af:a2","battery_level":100,"wifi_rssi":-33}
I (814081) EspHttp: Opening HTTP connection to https://kapibala-ai.dev.goods.fun/api/v1/public/device/update-battery/
I (814261) esp-x509-crt-bundle: Certificate validated
I (814811) Airhub1: 📥 服务器响应: {"success":false,"message":"设备不存在"}
I (814811) Airhub1: ✅ 电量上报完成
I (821181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (821181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (831181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (831181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (841181) Airhub1: ADC: 982, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (841181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (844081) Airhub1: 📤 准备上报电量: 100%
I (844081) Airhub1: 当前WiFi信号强度: -36 dBm
I (844081) Airhub1: 📤 上报数据: {"mac_address":"20:6e:f1:b9:af:a2","battery_level":100,"wifi_rssi":-36}
I (844081) EspHttp: Opening HTTP connection to https://kapibala-ai.dev.goods.fun/api/v1/public/device/update-battery/
I (844271) esp-x509-crt-bundle: Certificate validated
I (844881) Airhub1: 📥 服务器响应: {"success":false,"message":"设备不存在"}
I (844881) Airhub1: ✅ 电量上报完成
I (846321) Airhub1: BOOT button clicked
I (846321) Airhub1: 触摸任务已解锁,可以接收新的触摸
I (846321) Airhub1: 当前设备状态: 3
I (846321) Airhub1: 所有触摸状态已重置
I (846321) Airhub1: 从待命状态切换到聆听状态
I (846321) Airhub1: 强制重新初始化音频输出
I (846371) I2S_IF: channel mode 0 bits:16/16 channel:2 mask:1
I (846371) I2S_IF: STD Mode 1 bits:16/16 channel:2 sample_rate:16000 mask:1
I (846381) Adev_Codec: Open codec device OK
I (846381) AudioCodec: Set output enable to true
I (846381) Airhub1: 播放提示音:卡卡在呢
I (846381) Airhub1: 等待音频播放完成...
I (846901) Airhub1: 音频队列已清空,等待硬件输出完成...
I (847401) Airhub1: 音频播放完成
I (847401) Application: 打印设置设备状态日志: connecting
I (847401) Application: 正在尝试打开音频通道
I (847401) WifiBoard: 🔋 电源管理模式切换: 禁用低功耗模式(恢复正常模式)
I (847401) wifi:Set ps type: 0, coexist: 0
I (847401) VolcRtcProtocol: Join RTC: handle=0x3c2eb440 bot=botCL63FJgWe iot_ready=1 free_heap=8146300
[INF|volc_rtc.c:695]volc_rtc_start: bot_id=botCL63FJgWe audio_codec=4 heap_free=8146300
[INF|volc_device_manager.c:594]Get RTC config URL: https://iot-cn-shanghai.iot.volces.com/2021-12-14/GetRTCConfig?Action=GetRTCConfig&Version=2021-12-14
[INF|volc_device_manager.c:595]RTC config request body: {"InstanceID":"68f0bc7611a5cf890711f2d0","product_key":"69080ba98219e1f34702d133","device_name":"20_6e_f1_b9_af_a0","random_num":847353,"timestamp":847353,"signature":"gbKoU5hIRCWtMFWRF8zO2lJgrNSpNCdGaCKR82oeiWA=","bot_id":"botCL63FJgWe","audio_codec":4,"task_id":"test","Config":{"WebSearchAgentConfig":{"ParamsString":"{\"bot_id\":\"7585449675889608233\",\"stream\":true,\"location_info\":{\"city\":\"广州市\"}}"}}}
I (847401) VOLC_HTTP: HTTP POST attempt 1/3
I (847401) VOLC_HTTP: Performing HTTP request...
I (847601) esp-x509-crt-bundle: Certificate validated
I (848261) VOLC_HTTP: HTTP_EVENT_ON_DATA: read 307 bytes, total: 307
I (848261) VOLC_HTTP: HTTP_EVENT_ON_DATA: read 130 bytes, total: 437
I (848261) VOLC_HTTP: HTTP response status: 200
I (848261) VOLC_HTTP: Content-Length: 437, actually read: 437
I (848261) VOLC_HTTP: Successfully read response: 437 bytes
I (848261) VOLC_HTTP: HTTP POST request completed, response_buffer=0x3c306be8
[INF|volc_device_manager.c:605]Get RTC config response received
[INF|volc_device_manager.c:606]RTC config response content: {"ResponseMetadata":{"Action":"GetRTCConfig","Version":"2021-12-14"},"Result":{"RoomID":"aibotrtc_G711A_20_6e_f1_b9_af_a0_20260212112123000","TaskID":"test","UserID":"20_6e_f1_b9_af_a0","Token":"00168f0bc7617b8520178bef12ceQDWARICM0eNabOBlmkyAGFpYm90cnRjX0c3MTFBXzIwXzZlX2YxX2I5X2FmX2EwXzIwMjYwMjEyMTEyMTIzMDAwEQAyMF82ZV9mMV9iOV9hZl9hMAYAAACzgZZpAQCzgZZpAgCzgZZpAwCzgZZpBACzgZZpBQCzgZZpIAAz13We5AQ3wm2mdgrjyIJ7WrpV3a7KGezOUZhPFuYd9g=="}}
[INF|volc_device_manager.c:702]Retrieved RTC config: channel_name=aibotrtc_G711A_20_6e_f1_b9_af_a0_20260212112123000, uid=20_6e_f1_b9_af_a0, task_id=test
[INF|volc_rtc.c:701]volc_get_rtc_config success heap_free=8145632
[INF|volc_rtc.c:119]Joining channel: aibotrtc_G711A_20_6e_f1_b9_af_a0_20260212112123000, uid: 20_6e_f1_b9_af_a0, token: 00168f0bc7617b8520178bef12ceQDWARICM0eNabOBlmkyAGFpYm90cnRjX0c3MTFBXzIwXzZlX2YxX2I5X2FmX2EwXzIwMjYwMjEyMTEyMTIzMDAwEQAyMF82ZV9mMV9iOV9hZl9hMAYAAACzgZZpAQCzgZZpAgCzgZZpAwCzgZZpBACzgZZpBQCzgZZpIAAz13We5AQ3wm2mdgrjyIJ7WrpV3a7KGezOUZhPFuYd9g==, vpub: 0, vsub: 0, apub: 1, asub: 1
[INF|volc_rtc.c:123]Memory before byte_rtc_join_room - Heap: 8145632 bytes, SPIRAM: 8128012 bytes
2026-02-12 19:21:23.754 [I] API byte_rtc_join_room engine 0x3c2eb4f0 channel_name aibotrtc_G711A_20_6e_f1_b9_af_a0_20260212112123000 user_name 20_6e_f1_b9_af_a0 token 00168f0bc7617b8520178bef12ceQDWARICM0eNabOBlmkyAGFpYm90cnRjX0c3MTFBXzIwXzZlX2YxX2I5X2FmX2EwXzIwMjYwMjEyMTEyMTIzMDAwEQAyMF82ZV9mMV9iOV9hZl9hMAYAAACzgZZpAQCzgZZpAgCzgZZpAwCzgZZpBACzgZZpBQCzgZZpIAAz13We5AQ3wm2mdgrjyIJ7WrpV3a7KGezOUZhPFuYd9g== audio sub 1 pub 1 video sub 0 pub 0
[INF|volc_rtc.c:132]Memory after byte_rtc_join_room - Heap: 8145032 bytes (change: -600), SPIRAM: 8127412 bytes (change: -600)
2026-02-12 19:21:23.759 [I] RoomImplX.c:632 [room_event] key: join_room, type: begin, result: true
2026-02-12 19:21:23.950 [I] Rtp.c:139 video_retrans_buffer_duration_ms = 3000
2026-02-12 19:21:23.951 [I] Rtp.c:141 enable_video_transport_cc = 1
2026-02-12 19:21:23.952 [I] Rtp.c:190 audio_retrans_buffer_duration_ms = 1000
2026-02-12 19:21:23.953 [I] Rtp.c:193 enable_audio_transport_cc = 1
2026-02-12 19:21:23.958 [I] RoomImplX.c:816 [room_event] key: join_room, type: end, result: true
[INF|volc_rtc.c:254]join channel success aibotrtc_G711A_20_6e_f1_b9_af_a0_20260212112123000 elapsed 189 ms
I (848471) VolcRtcProtocol: RTC连接成功
I (848471) VolcRtcProtocol: Wait connect bits=0x1 free_heap=8058124
2026-02-12 19:21:23.967 [W] IceMessageProcessor.c:360 TODO: handle signal engineControlMessage content {"roomId":"aibotrtc_G711A_20_6e_f1_b9_af_a0_20260212112123000","type":"changeCodec","body":{"media":"audio","codec":"PCMA"},"appId":"68f0bc7617b8520178bef12c","messageId":"41c946850f08409b96c31e86329fcfb7","sessionId":"x13PHSuP5pOouRKG4jEopddQYIxtYX5W"}
[INF|volc_rtc.c:268]remote user joined aibotrtc_G711A_20_6e_f1_b9_af_a0_20260212112123000:bot_20260212112123000 elapsed 0 ms
I (848771) VolcRtcProtocol: RTC远程用户加入
I (848771) Application: Dialog watchdog started, initial device state: 7
I (848771) Application: 打印设置设备状态日志: dialog
I (848771) Application: 🟢 音频通道已打开
I (848771) Application: 当前设备状态: dialog
I (848771) VolcRtcProtocol: 延迟发送StartListening等待会话就绪
I (848771) Airhub1: 🔋 退出低功耗模式CPU恢复正常、Light Sleep禁用、功放打开
I (848771) Application: 进入对话框状态:启用全双工
I (848771) Airhub1: 🔊 功放已打开
I (848771) Airhub1: 🔋 PowerSaveTimer已唤醒从低功耗模式恢复到正常模式
I (848771) Application: 🔄 禁用电源低功耗管理模式
I (848781) WifiBoard: 🔋 电源管理模式切换: 禁用低功耗模式(恢复正常模式)
I (848781) wifi:Set ps type: 0, coexist: 0
I (848781) Application: 🔊 启用音频编解码器输出
I (848781) Application: 🔄 音频通道打开,准备播放欢迎语音
I (848781) Application: 当前设备状态: dialog
I (848781) Application: 🟢 音频通道初始化完成
2026-02-12 19:21:24.267 [W] EngineImplX.c:598 callback pEngineImplX->eventHandler.on_user_joined used too many times 6
2026-02-12 19:21:24.340 [I] rx_net_audio_jitterbuffer.c:183 first_frame_build_target_delay:1, direct_mode:0, direct_mode_max_wait_time:200
2026-02-12 19:21:24.350 [I] rx_net_audio_jitterbuffer.c:1537 [a_jb]insert ok:dup:total 0:0:0,in: jitter nor=0 reor=0, wj=0, out: pkt=0 t_diff=0 seq_diff=0 buffer_ms=0 target_ms=20 expand_npkt=1 expand_loss=0 start_seq 0 end_seq 0
2026-02-12 19:21:24.384 [I] StreamSubscriber.c:336 [room_event] key: first_frame, media: audio, type: begin_recv
2026-02-12 19:21:24.804 [I] rx_net_audio_jitterbuffer.c:1785 fir pkt seq=0
2026-02-12 19:21:24.805 [I] rx_net_audio_jitterbuffer.c:1792 first recv dia cnt=0, fir pkt=0
2026-02-12 19:21:24.807 [I] rx_net_audio_jitterbuffer.c:1785 fir pkt seq=1
2026-02-12 19:21:24.879 [I] rx_net_audio_jitterbuffer.c:1443 build_target_delay over need_extract_packet s=320
2026-02-12 19:21:24.883 [I] MediaService.c:405 [room_event] key: first_frame, media: audio, type: recv_end
I (849401) VolcRtcProtocol: 接收下行音频首包: 类型=PCM 大小=320
I (849401) Application: 收到下行音频首包入队: 字节=320
2026-02-12 19:21:25.398 [I] rx_net_lite_cc_bandwidth_estimation.c:200 lite-cc bandwidth up bandwidth = 4630000
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_20_6e_f1_b9_af_a0_20260212112123000 src=bot_20260212112123000 size=275 binary=1 free_heap=7888840
I (849951) VolcRtcProtocol: 接收下行消息: subv
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_20_6e_f1_b9_af_a0_20260212112123000 src=bot_20260212112123000 size=282 binary=1 free_heap=7891252
I (850041) VolcRtcProtocol: 接收下行消息: subv
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_20_6e_f1_b9_af_a0_20260212112123000 src=bot_20260212112123000 size=288 binary=1 free_heap=7891936
I (850131) VolcRtcProtocol: 接收下行消息: subv
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_20_6e_f1_b9_af_a0_20260212112123000 src=bot_20260212112123000 size=306 binary=1 free_heap=7893180
I (850241) VolcRtcProtocol: 接收下行消息: subv
2026-02-12 19:21:25.798 [I] rx_net_lite_cc_bandwidth_estimation.c:200 lite-cc bandwidth up bandwidth = 5000000
I (850771) Application: dialog对话空闲倒计时剩余: 40 秒
I (850791) VolcRtcProtocol: 上行音频统计: PCM帧=52 字节=16640, G711A帧=0 字节=0, 速率=66288 bps
I (850791) VolcRtcProtocol: 下行音频统计: PCM字节=22400, OPUS字节=0
2026-02-12 19:21:26.372 [I] rx_net_audio_jitterbuffer.c:1537 [a_jb]insert ok:dup:total 98:1:99,in: jitter nor=66 reor=84, wj=11, out: pkt=75 t_diff=35 seq_diff=1 buffer_ms=480 target_ms=100 expand_npkt=23 expand_loss=0 start_seq 1 end_seq 97
2026-02-12 19:21:26.374 [I] rx_net_audio_jitterbuffer.c:1717 is burst ver, [a_jb] rtt_to_s: 57, e2e_avg: -1, e2e_max: 0
I (851181) Airhub1: ADC: 981, 原始电压: 0.98V, 计算电池电压: 4.26V, 电量: 100%, 满电电压: 4.20V
I (851181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_20_6e_f1_b9_af_a0_20260212112123000 src=bot_20260212112123000 size=312 binary=1 free_heap=7889932
I (851251) VolcRtcProtocol: 接收下行消息: subv
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_20_6e_f1_b9_af_a0_20260212112123000 src=bot_20260212112123000 size=318 binary=1 free_heap=7889872
I (851331) VolcRtcProtocol: 接收下行消息: subv
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_20_6e_f1_b9_af_a0_20260212112123000 src=bot_20260212112123000 size=324 binary=1 free_heap=7891156
I (851541) VolcRtcProtocol: 接收下行消息: subv
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_20_6e_f1_b9_af_a0_20260212112123000 src=bot_20260212112123000 size=330 binary=1 free_heap=7886636
I (851731) VolcRtcProtocol: 接收下行消息: subv
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_20_6e_f1_b9_af_a0_20260212112123000 src=bot_20260212112123000 size=332 binary=1 free_heap=7888552
I (851931) VolcRtcProtocol: 接收下行消息: subv
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_20_6e_f1_b9_af_a0_20260212112123000 src=bot_20260212112123000 size=338 binary=1 free_heap=7887972
I (852131) VolcRtcProtocol: 接收下行消息: subv
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_20_6e_f1_b9_af_a0_20260212112123000 src=bot_20260212112123000 size=345 binary=1 free_heap=7885020
I (852331) VolcRtcProtocol: 接收下行消息: subv
I (852401) wifi:new:<6,1>, old:<6,0>, ap:<255,255>, sta:<6,1>, prof:1, snd_ch_cfg:0x0
[INF|volc_rtc.c:475]message received channel=aibotrtc_G711A_20_6e_f1_b9_af_a0_20260212112123000 src=bot_20260212112123000 size=355 binary=1 free_heap=7888240
I (852541) VolcRtcProtocol: 接收下行消息: subv
I (852811) VolcRtcProtocol: 上行音频统计: PCM帧=50 字节=16000, G711A帧=0 字节=0, 速率=63241 bps
I (852811) VolcRtcProtocol: 下行音频统计: PCM字节=32320, OPUS字节=0
2026-02-12 19:21:28.389 [I] rx_net_audio_jitterbuffer.c:1537 [a_jb]insert ok:dup:total 96:0:96,in: jitter nor=32 reor=0, wj=28, out: pkt=101 t_diff=38 seq_diff=1 buffer_ms=380 target_ms=100 expand_npkt=0 expand_loss=0 start_seq 98 end_seq 193
I (854771) Application: dialog对话空闲倒计时剩余: 39 秒
I (854821) VolcRtcProtocol: 上行音频统计: PCM帧=51 字节=16320, G711A帧=0 字节=0, 速率=64937 bps
I (854821) VolcRtcProtocol: 下行音频统计: PCM字节=7360, OPUS字节=0
2026-02-12 19:21:30.393 [I] rx_net_audio_jitterbuffer.c:1537 [a_jb]insert ok:dup:total 0:0:0,in: jitter nor=0 reor=0, wj=28, out: pkt=18 t_diff=37 seq_diff=1 buffer_ms=0 target_ms=100 expand_npkt=82 expand_loss=0 start_seq 0 end_seq 0
I (856771) Application: dialog对话空闲倒计时剩余: 37 秒
I (856831) VolcRtcProtocol: 上行音频统计: PCM帧=50 字节=16000, G711A帧=0 字节=0, 速率=63682 bps
I (856831) VolcRtcProtocol: 下行音频统计: PCM字节=0, OPUS字节=0
2026-02-12 19:21:32.400 [I] rx_net_audio_jitterbuffer.c:1537 [a_jb]insert ok:dup:total 0:0:0,in: jitter nor=0 reor=0, wj=28, out: pkt=0 t_diff=0 seq_diff=0 buffer_ms=0 target_ms=100 expand_npkt=101 expand_loss=0 start_seq 0 end_seq 0
I (858771) Application: dialog对话空闲倒计时剩余: 35 秒
I (858841) VolcRtcProtocol: 上行音频统计: PCM帧=50 字节=16000, G711A帧=0 字节=0, 速率=63702 bps
I (858841) VolcRtcProtocol: 下行音频统计: PCM字节=0, OPUS字节=0
2026-02-12 19:21:34.418 [I] rx_net_audio_jitterbuffer.c:1537 [a_jb]insert ok:dup:total 0:0:0,in: jitter nor=0 reor=0, wj=28, out: pkt=0 t_diff=0 seq_diff=0 buffer_ms=0 target_ms=100 expand_npkt=100 expand_loss=0 start_seq 0 end_seq 0
I (860771) Application: dialog对话空闲倒计时剩余: 33 秒
I (860851) VolcRtcProtocol: 上行音频统计: PCM帧=50 字节=16000, G711A帧=0 字节=0, 速率=63681 bps
I (860851) VolcRtcProtocol: 下行音频统计: PCM字节=0, OPUS字节=0
2026-02-12 19:21:36.428 [I] rx_net_audio_jitterbuffer.c:1537 [a_jb]insert ok:dup:total 0:0:0,in: jitter nor=0 reor=0, wj=28, out: pkt=0 t_diff=0 seq_diff=0 buffer_ms=0 target_ms=100 expand_npkt=101 expand_loss=0 start_seq 0 end_seq 0
I (861181) Airhub1: ADC: 980, 原始电压: 0.98V, 计算电池电压: 4.25V, 电量: 100%, 满电电压: 4.20V
I (861181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (862771) Application: dialog对话空闲倒计时剩余: 31 秒
I (862861) VolcRtcProtocol: 上行音频统计: PCM帧=51 字节=16320, G711A帧=0 字节=0, 速率=64946 bps
I (862861) VolcRtcProtocol: 下行音频统计: PCM字节=0, OPUS字节=0
2026-02-12 19:21:38.439 [I] rx_net_audio_jitterbuffer.c:1537 [a_jb]insert ok:dup:total 0:0:0,in: jitter nor=0 reor=0, wj=28, out: pkt=0 t_diff=0 seq_diff=0 buffer_ms=0 target_ms=100 expand_npkt=100 expand_loss=0 start_seq 0 end_seq 0
I (864771) Application: dialog对话空闲倒计时剩余: 29 秒
I (864871) VolcRtcProtocol: 上行音频统计: PCM帧=50 字节=16000, G711A帧=0 字节=0, 速率=63676 bps
I (864871) VolcRtcProtocol: 下行音频统计: PCM字节=0, OPUS字节=0
2026-02-12 19:21:40.459 [I] rx_net_audio_jitterbuffer.c:1537 [a_jb]insert ok:dup:total 0:0:0,in: jitter nor=0 reor=0, wj=28, out: pkt=0 t_diff=0 seq_diff=0 buffer_ms=0 target_ms=100 expand_npkt=101 expand_loss=0 start_seq 0 end_seq 0
I (866771) Application: dialog对话空闲倒计时剩余: 27 秒
I (866881) VolcRtcProtocol: 上行音频统计: PCM帧=50 字节=16000, G711A帧=0 字节=0, 速率=63695 bps
I (866881) VolcRtcProtocol: 下行音频统计: PCM字节=0, OPUS字节=0
2026-02-12 19:21:42.468 [I] rx_net_audio_jitterbuffer.c:1537 [a_jb]insert ok:dup:total 0:0:0,in: jitter nor=0 reor=0, wj=28, out: pkt=0 t_diff=0 seq_diff=0 buffer_ms=0 target_ms=100 expand_npkt=101 expand_loss=0 start_seq 0 end_seq 0
I (868771) Application: dialog对话空闲倒计时剩余: 25 秒
I (868891) VolcRtcProtocol: 上行音频统计: PCM帧=50 字节=16000, G711A帧=0 字节=0, 速率=63681 bps
I (868891) VolcRtcProtocol: 下行音频统计: PCM字节=0, OPUS字节=0
2026-02-12 19:21:44.488 [I] rx_net_audio_jitterbuffer.c:1537 [a_jb]insert ok:dup:total 0:0:0,in: jitter nor=0 reor=0, wj=28, out: pkt=0 t_diff=0 seq_diff=0 buffer_ms=0 target_ms=100 expand_npkt=101 expand_loss=0 start_seq 0 end_seq 0
I (870771) Application: dialog对话空闲倒计时剩余: 23 秒
I (870901) VolcRtcProtocol: 上行音频统计: PCM帧=51 字节=16320, G711A帧=0 字节=0, 速率=64944 bps
I (870901) VolcRtcProtocol: 下行音频统计: PCM字节=0, OPUS字节=0
2026-02-12 19:21:46.501 [I] rx_net_audio_jitterbuffer.c:1537 [a_jb]insert ok:dup:total 0:0:0,in: jitter nor=0 reor=0, wj=28, out: pkt=0 t_diff=0 seq_diff=0 buffer_ms=0 target_ms=100 expand_npkt=101 expand_loss=0 start_seq 0 end_seq 0
I (871181) Airhub1: ADC: 979, 原始电压: 0.98V, 计算电池电压: 4.25V, 电量: 100%, 满电电压: 4.20V
I (871181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (872771) Application: dialog对话空闲倒计时剩余: 21 秒
I (872911) VolcRtcProtocol: 上行音频统计: PCM帧=50 字节=16000, G711A帧=0 字节=0, 速率=63672 bps
I (872911) VolcRtcProtocol: 下行音频统计: PCM字节=0, OPUS字节=0
2026-02-12 19:21:48.522 [I] rx_net_audio_jitterbuffer.c:1537 [a_jb]insert ok:dup:total 0:0:0,in: jitter nor=0 reor=0, wj=28, out: pkt=0 t_diff=0 seq_diff=0 buffer_ms=0 target_ms=100 expand_npkt=101 expand_loss=0 start_seq 0 end_seq 0
I (874081) Airhub1: 📤 准备上报电量: 100%
I (874081) Airhub1: 当前WiFi信号强度: -34 dBm
I (874081) Airhub1: 📤 上报数据: {"mac_address":"20:6e:f1:b9:af:a2","battery_level":100,"wifi_rssi":-34}
I (874081) EspHttp: Opening HTTP connection to https://kapibala-ai.dev.goods.fun/api/v1/public/device/update-battery/
I (874261) esp-x509-crt-bundle: Certificate validated
I (874771) Application: dialog对话空闲倒计时剩余: 19 秒
I (874931) VolcRtcProtocol: 上行音频统计: PCM帧=48 字节=15360, G711A帧=0 字节=0, 速率=60678 bps
I (874941) VolcRtcProtocol: 下行音频统计: PCM字节=0, OPUS字节=0
I (874981) Airhub1: 📥 服务器响应: {"success":false,"message":"设备不存在"}
I (874991) Airhub1: ✅ 电量上报完成
2026-02-12 19:21:50.529 [I] rx_net_audio_jitterbuffer.c:1537 [a_jb]insert ok:dup:total 0:0:0,in: jitter nor=0 reor=0, wj=28, out: pkt=0 t_diff=0 seq_diff=0 buffer_ms=0 target_ms=100 expand_npkt=100 expand_loss=0 start_seq 0 end_seq 0
I (876771) Application: dialog对话空闲倒计时剩余: 17 秒
I (876941) VolcRtcProtocol: 上行音频统计: PCM帧=50 字节=16000, G711A帧=0 字节=0, 速率=63704 bps
I (876941) VolcRtcProtocol: 下行音频统计: PCM字节=0, OPUS字节=0
2026-02-12 19:21:52.540 [I] rx_net_audio_jitterbuffer.c:1537 [a_jb]insert ok:dup:total 0:0:0,in: jitter nor=0 reor=0, wj=28, out: pkt=0 t_diff=0 seq_diff=0 buffer_ms=0 target_ms=100 expand_npkt=101 expand_loss=0 start_seq 0 end_seq 0
I (878771) Application: dialog对话空闲倒计时剩余: 15 秒
I (878951) VolcRtcProtocol: 上行音频统计: PCM帧=50 字节=16000, G711A帧=0 字节=0, 速率=63681 bps
I (878951) VolcRtcProtocol: 下行音频统计: PCM字节=0, OPUS字节=0
2026-02-12 19:21:54.558 [I] rx_net_audio_jitterbuffer.c:1537 [a_jb]insert ok:dup:total 0:0:0,in: jitter nor=0 reor=0, wj=28, out: pkt=0 t_diff=0 seq_diff=0 buffer_ms=0 target_ms=100 expand_npkt=100 expand_loss=0 start_seq 0 end_seq 0
I (880771) Application: dialog对话空闲倒计时剩余: 13 秒
I (880961) VolcRtcProtocol: 上行音频统计: PCM帧=51 字节=16320, G711A帧=0 字节=0, 速率=64941 bps
I (880961) VolcRtcProtocol: 下行音频统计: PCM字节=0, OPUS字节=0
2026-02-12 19:21:56.569 [I] rx_net_audio_jitterbuffer.c:1537 [a_jb]insert ok:dup:total 0:0:0,in: jitter nor=0 reor=0, wj=28, out: pkt=0 t_diff=0 seq_diff=0 buffer_ms=0 target_ms=100 expand_npkt=101 expand_loss=0 start_seq 0 end_seq 0
I (881181) Airhub1: ADC: 979, 原始电压: 0.98V, 计算电池电压: 4.25V, 电量: 100%, 满电电压: 4.20V
I (881181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (882771) Application: dialog对话空闲倒计时剩余: 11 秒
I (882971) VolcRtcProtocol: 上行音频统计: PCM帧=50 字节=16000, G711A帧=0 字节=0, 速率=63682 bps
I (882971) VolcRtcProtocol: 下行音频统计: PCM字节=0, OPUS字节=0
2026-02-12 19:21:58.583 [I] rx_net_audio_jitterbuffer.c:1537 [a_jb]insert ok:dup:total 0:0:0,in: jitter nor=0 reor=0, wj=28, out: pkt=0 t_diff=0 seq_diff=0 buffer_ms=0 target_ms=100 expand_npkt=101 expand_loss=0 start_seq 0 end_seq 0
I (884771) Application: dialog对话空闲倒计时剩余: 9 秒
I (884981) VolcRtcProtocol: 上行音频统计: PCM帧=50 字节=16000, G711A帧=0 字节=0, 速率=63691 bps
I (884981) VolcRtcProtocol: 下行音频统计: PCM字节=0, OPUS字节=0
2026-02-12 19:22:00.608 [I] rx_net_audio_jitterbuffer.c:1537 [a_jb]insert ok:dup:total 0:0:0,in: jitter nor=0 reor=0, wj=28, out: pkt=0 t_diff=0 seq_diff=0 buffer_ms=0 target_ms=100 expand_npkt=101 expand_loss=0 start_seq 0 end_seq 0
I (886771) Application: dialog对话空闲倒计时剩余: 7 秒
I (886991) VolcRtcProtocol: 上行音频统计: PCM帧=50 字节=16000, G711A帧=0 字节=0, 速率=63684 bps
I (886991) VolcRtcProtocol: 下行音频统计: PCM字节=0, OPUS字节=0
2026-02-12 19:22:02.614 [I] rx_net_audio_jitterbuffer.c:1537 [a_jb]insert ok:dup:total 0:0:0,in: jitter nor=0 reor=0, wj=28, out: pkt=0 t_diff=0 seq_diff=0 buffer_ms=0 target_ms=100 expand_npkt=100 expand_loss=0 start_seq 0 end_seq 0
I (888771) Application: dialog对话空闲倒计时剩余: 5 秒
I (889001) VolcRtcProtocol: 上行音频统计: PCM帧=51 字节=16320, G711A帧=0 字节=0, 速率=64941 bps
I (889001) VolcRtcProtocol: 下行音频统计: PCM字节=0, OPUS字节=0
2026-02-12 19:22:04.639 [I] rx_net_audio_jitterbuffer.c:1537 [a_jb]insert ok:dup:total 0:0:0,in: jitter nor=0 reor=0, wj=28, out: pkt=0 t_diff=0 seq_diff=0 buffer_ms=0 target_ms=100 expand_npkt=101 expand_loss=0 start_seq 0 end_seq 0
I (890771) Application: dialog对话空闲倒计时剩余: 3 秒
I (891011) VolcRtcProtocol: 上行音频统计: PCM帧=50 字节=16000, G711A帧=0 字节=0, 速率=63678 bps
I (891021) VolcRtcProtocol: 下行音频统计: PCM字节=0, OPUS字节=0
2026-02-12 19:22:06.648 [I] rx_net_audio_jitterbuffer.c:1537 [a_jb]insert ok:dup:total 0:0:0,in: jitter nor=0 reor=0, wj=28, out: pkt=0 t_diff=0 seq_diff=0 buffer_ms=0 target_ms=100 expand_npkt=101 expand_loss=0 start_seq 0 end_seq 0
I (891181) Airhub1: ADC: 978, 原始电压: 0.98V, 计算电池电压: 4.24V, 电量: 100%, 满电电压: 4.20V
I (891181) BluetoothMAC: Bluetooth MAC Address: 20:6e:f1:b9:af:a2
I (892771) Application: dialog对话空闲倒计时剩余: 1 秒
I (893021) VolcRtcProtocol: 上行音频统计: PCM帧=50 字节=16000, G711A帧=0 字节=0, 速率=63694 bps
I (893021) VolcRtcProtocol: 下行音频统计: PCM字节=0, OPUS字节=0
2026-02-12 19:22:08.663 [I] rx_net_audio_jitterbuffer.c:1537 [a_jb]insert ok:dup:total 0:0:0,in: jitter nor=0 reor=0, wj=28, out: pkt=0 t_diff=0 seq_diff=0 buffer_ms=0 target_ms=100 expand_npkt=101 expand_loss=0 start_seq 0 end_seq 0
I (894771) Application: Dialog watchdog idle reached, elapsed=41, marking and rebooting
I (894771) Application: Dialog watchdog: preparing NVS writes (system)
I (894771) Application: Dialog watchdog: committing NVS (system)
I (894771) Settings: Committed NVS namespace system
I (894771) Application: Dialog watchdog (task) set reboot_cause=1, verify=1, restart in 2000ms
I (895031) VolcRtcProtocol: 上行音频统计: PCM帧=50 字节=16000, G711A帧=0 字节=0, 速率=63685 bps
I (895031) VolcRtcProtocol: 下行音频统计: PCM字节=0, OPUS字节=0
2026-02-12 19:22:10.688 [I] rx_net_audio_jitterbuffer.c:1537 [a_jb]insert ok:dup:total 0:0:0,in: jitter nor=0 reor=0, wj=28, out: pkt=0 t_diff=0 seq_diff=0 buffer_ms=0 target_ms=100 expand_npkt=101 expand_loss=0 start_seq 0 end_seq 0
I (896771) wifi:state: run -> init (0x0)
I (896771) wifi:pm stop, total sleep time: 550614139 us / 891994376 us
I (896771) wifi:<ba-del>idx:0, tid:0
I (896771) wifi:<ba-del>idx:1, tid:3
I (896771) wifi:new:<6,0>, old:<6,1>, ap:<255,255>, sta:<6,1>, prof:1, snd_ch_cfg:0x0
I (896771) wifi: Reconnecting airhub (attempt 1 / 5)
2026-02-12 19:22:12.265 [E] IceUtils.c:183 operation returned status code: 0x00000101
I (896811) wifi:flush txq
I (896811) wifi:stop sw txq
I (896811) wifi:lmac stop hw txq
2026-02-12 19:22:12.294 [E] IceUtils.c:183 operation returned sESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0xc (RTC_SW_CPU_RST),boot:0xb (SPI_FAST_FLASH_BOOT)
Saved PC:0x40379db5
--- 0x40379db5: esp_restart_noos at /Users/rdzleo/esp/esp-idf/v5.4.2/esp-idf/components/esp_system/port/soc/esp32s3/system_internal.c:162
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fce2820,len:0x56c
load:0x403c8700,len:0x4
load:0x403c8704,len:0xb88
load:0x403cb700,len:0x2df4
entry 0x403c88f4
I (49) WeatherApi: 初始化天气API配置 - 默认城市: 北京
I (49) WeatherApi: WiFi位置缓存限制已设置为: 5 条
I (50) coexist: coex firmware version: 7b9a184
I (50) coexist: coexist rom version e7ae62f
I (50) main_task: Started on CPU0
I (60) main_task: Calling app_main()
I (80) BackgroundTask: background_task started
I (80) BluetoothProvisioning: 蓝牙配网对象创建完成
I (80) button: IoT Button Version: 3.5.0
I (80) gpio: GPIO[0]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (80) button: IoT Button Version: 3.5.0
I (80) gpio: GPIO[4]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (80) Airhub1: 初始化按钮...
I (80) Airhub1: Boot button initialized on GPIO0
I (80) Airhub1: Volume up button initialized on GPIO-1
I (80) Airhub1: Volume down button initialized on GPIO-1
I (80) Airhub1: 故事按键已初始化GPIO引脚 =4
I (80) Airhub1: 所有按键已成功初始化!
I (881719) DZBJ_BLE: Disconnected, remote 9c:76:0e:47:1b:de, reason 0x13
I (881719) IMG_UI: 准备显示图片: face_1774344833.jpg, 路径: /spiflash/face_1774344833.jpg
I (881719) IMG_UI: 文件大小: 38679 字节
I (881719) DZBJ_BLE: Advertising start successfully
I (881939) IMG_UI: 图片解码成功,宽度: 360, 高度: 360
I (881939) IMG_UI: JPEG图片更新成功: face_1774344833.jpg
I (881939) IMG_LIST: BLE导航到ScreenImg显示: face_1774344833.jpg
I (886089) DZBJ_BAT: ADC原始值=2772, ADC电压=2320mV, 电池电压=4640mV, 电量=100%
I (891089) DZBJ_BAT: ADC原始值=2777, ADC电压=2324mV, 电池电压=4648mV, 电量=100%
I (893029) LVGL: Touch detected: x=251, y=223, count=1
I (893059) LVGL: Touch detected: x=250, y=223, count=1
I (893089) LVGL: Touch detected: x=236, y=222, count=1
I (893119) LVGL: Touch detected: x=210, y=219, count=1
I (893149) LVGL: Touch detected: x=170, y=213, count=1
I (893149) IMG_LIST: 切换到下一张图片,索引: 1/8
I (893149) IMG_UI: 准备显示图片: 03.jpg, 路径: /spiflash/03.jpg
I (893169) IMG_UI: 文件大小: 8805 字节
I (893169) IMG_UI: 释放之前的图片数据
I (893269) IMG_UI: 图片解码成功,宽度: 360, 高度: 360
I (893269) IMG_UI: JPEG图片更新成功: 03.jpg
I (893919) LVGL: Touch detected: x=251, y=187, count=1
I (893949) LVGL: Touch detected: x=250, y=187, count=1
I (893979) LVGL: Touch detected: x=241, y=187, count=1
I (894009) LVGL: Touch detected: x=216, y=187, count=1
I (894039) LVGL: Touch detected: x=151, y=190, count=1
I (894039) IMG_LIST: 切换到下一张图片,索引: 2/8
I (894039) IMG_UI: 准备显示图片: 02.jpg, 路径: /spiflash/02.jpg
I (894039) IMG_UI: 文件大小: 20498 字节
I (894039) IMG_UI: 释放之前的图片数据
I (894159) IMG_UI: 图片解码成功,宽度: 360, 高度: 360
I (894159) IMG_UI: JPEG图片更新成功: 02.jpg
I (894569) LVGL: Touch detected: x=262, y=196, count=1
I (894599) LVGL: Touch detected: x=248, y=196, count=1
I (894629) LVGL: Touch detected: x=216, y=196, count=1
I (894659) LVGL: Touch detected: x=169, y=194, count=1
I (894659) IMG_LIST: 切换到下一张图片,索引: 3/8
I (894659) IMG_UI: 准备显示图片: default.jpg, 路径: /spiflash/default.jpg
I (894659) IMG_UI: 文件大小: 47430 字节
I (894659) IMG_UI: 释放之前的图片数据
I (894829) IMG_UI: 图片解码成功,宽度: 360, 高度: 360
I (894829) IMG_UI: JPEG图片更新成功: default.jpg
I (895209) LVGL: Touch detected: x=256, y=200, count=1
I (895239) LVGL: Touch detected: x=253, y=200, count=1
I (895269) LVGL: Touch detected: x=238, y=200, count=1
I (895299) LVGL: Touch detected: x=205, y=198, count=1
I (895299) IMG_LIST: 切换到下一张图片,索引: 4/8
I (895299) IMG_UI: 准备显示图片: face_1772002032846.jpg, 路径: /spiflash/face_1772002032846.jpg
I (895319) IMG_UI: 文件大小: 987342 字节
I (895319) IMG_UI: 释放之前的图片数据
E (895719) FATFS: 不是有效JPEG文件: /spiflash/face_1772002032846.jpg
E (895719) IMG_UI: 图片解码失败,错误码: -1
I (896089) DZBJ_BAT: ADC原始值=2773, ADC电压=2321mV, 电池电压=4642mV, 电量=100%
I (899189) LVGL: Touch detected: x=311, y=196, count=1
I (899219) LVGL: Touch detected: x=307, y=196, count=1
I (899249) LVGL: Touch detected: x=291, y=196, count=1
I (899279) LVGL: Touch detected: x=255, y=196, count=1
I (899279) IMG_LIST: 切换到下一张图片,索引: 5/8
I (899279) IMG_UI: 准备显示图片: face_1774340638342.jpg, 路径: /spiflash/face_1774340638342.jpg
I (899279) IMG_UI: 文件大小: 70339 字节
I (899539) IMG_UI: 图片解码成功,宽度: 360, 高度: 360
I (899539) IMG_UI: JPEG图片更新成功: face_1774340638342.jpg
I (900279) LVGL: Touch detected: x=286, y=204, count=1
I (900309) LVGL: Touch detected: x=285, y=204, count=1
I (900339) LVGL: Touch detected: x=275, y=204, count=1
I (900369) LVGL: Touch detected: x=220, y=203, count=1
I (900369) IMG_LIST: 切换到下一张图片,索引: 6/8
I (900369) IMG_UI: 准备显示图片: face_1774340678141.jpg, 路径: /spiflash/face_1774340678141.jpg
I (900369) IMG_UI: 文件大小: 71774 字节
I (900369) IMG_UI: 释放之前的图片数据
I (900639) IMG_UI: 图片解码成功,宽度: 360, 高度: 360
I (900639) IMG_UI: JPEG图片更新成功: face_1774340678141.jpg
I (901089) DZBJ_BAT: ADC原始值=2754, ADC电压=2306mV, 电池电压=4612mV, 电量=100%
I (901109) LVGL: Touch detected: x=292, y=212, count=1
I (901139) LVGL: Touch detected: x=288, y=212, count=1
I (901169) LVGL: Touch detected: x=272, y=211, count=1
I (901199) LVGL: Touch detected: x=236, y=209, count=1
I (901199) IMG_LIST: 切换到下一张图片,索引: 7/8
I (901199) IMG_UI: 准备显示图片: face_1774344117.jpg, 路径: /spiflash/face_1774344117.jpg
I (901199) IMG_UI: 文件大小: 94251 字节
I (901199) IMG_UI: 释放之前的图片数据
E (901279) FATFS: 不是有效JPEG文件: /spiflash/face_1774344117.jpg
E (901279) IMG_UI: 图片解码失败,错误码: -1
I (902049) LVGL: Touch detected: x=333, y=214, count=1
I (902079) LVGL: Touch detected: x=331, y=214, count=1
I (902109) LVGL: Touch detected: x=318, y=214, count=1
I (902139) LVGL: Touch detected: x=288, y=214, count=1
I (902169) LVGL: Touch detected: x=210, y=214, count=1
I (902169) IMG_LIST: 切换到下一张图片,索引: 8/8
I (902169) IMG_UI: 准备显示图片: face_1774344833.jpg, 路径: /spiflash/face_1774344833.jpg
I (902169) IMG_UI: 文件大小: 38679 字节
I (902389) IMG_UI: 图片解码成功,宽度: 360, 高度: 360
I (902389) IMG_UI: JPEG图片更新成功: face_1774344833.jpg
I (906089) DZBJ_BAT: ADC原始值=2763, ADC电压=2312mV, 电池电压=4624mV, 电量=100%

View File

@ -0,0 +1,291 @@
# AI对话 + 电子吧唧 双模式适配说明
> 更新日期2026-02-27
> 硬件平台movecall-moji-esp32s3 (ESP32-S3-N16R8)
> ESP-IDF版本5.4.2
> LVGL版本8.3.11
---
## 一、项目现状
### 1.1 主项目 (Baji_Rtc_Toy)
基于 AI小智 开源项目改造,当前已集成功能:
- 火山引擎 RTC 语音对话WiFi 连接)
- BLE 配网BluedroidService 0xABF0
- 音频编解码ES8311 + Opus
- 唤醒词检测esp-sr AFE
- **LVGL 8.3.11 LCD 显示**Phase 1 已完成,开机显示 ScreenHome
- ST77916 QSPI 360×360 LCD + CST816S 触摸(已初始化)
### 1.2 dzbj 子项目 (电子吧唧)
独立的 ESP32-S3 LVGL 项目,位于 `/dzbj/` 目录,功能:
- 360×360 ST77916 QSPI LCD + CST816S 触摸
- LVGL 8.3.11 三屏界面ScreenHome/ScreenImg/ScreenSet
- BLE GATT 图片传输服务Service 0x0B00
- GIF 播放、JPEG 解码、SPIFFS 图片管理
- 低功耗休眠/唤醒管理10s 超时熄屏)
- PWM 背光控制
### 1.3 实施进度
| 阶段 | 状态 | 说明 |
|------|------|------|
| Phase 1: 点亮屏幕 | **已完成** | LCD + LVGL + ScreenHome 显示 |
| Phase 2+4: 完整模式 + 切换 | **实施中** | 移植 dzbj 全模块 + 双模式切换 |
| Phase 3: AI 聊天 UI | 待定 | 基于 LVGL 的 emoji + 聊天气泡 |
---
## 二、双模式架构设计
### 2.1 架构概览
```
┌─────────────────────────────────────────────────┐
│ LVGL 8.3.11 + LCD │
│ (常驻,两个模式共享显示硬件) │
├────────────────────┬────────────────────────────┤
│ AI 对话模式 │ 电子吧唧模式 │
│ (mode=0, 默认) │ (mode=1) │
│ │ │
│ WiFi + RTC 协议 │ BLE GATT Server │
│ ScreenHome (仅显示) │ ScreenHome/Img/Set │
│ 音频编解码 + 唤醒词 │ BLE 图片传输 (0x0B00) │
│ PowerSaveTimer │ sleep_mgr (10s熄屏) │
│ IMU 传感器 │ battery 电池监测 │
│ 电量检测 (板级) │ SPIFFS 图片管理 │
├────────────────────┴────────────────────────────┤
│ BOOT 双击 切换写NVS + 重启) │
└─────────────────────────────────────────────────┘
```
### 2.2 模式定义
**AI 对话模式** (device_mode=0, 默认)
- 网络WiFi 连接
- 协议:火山引擎 RTC 实时对话
- 音频:唤醒词检测 + Opus 编解码 + I2S 输出
- 显示ScreenHome仅显示无触摸交互
- BLE**关闭**(仅配网时启动)
**电子吧唧模式** (device_mode=1)
- 网络:**WiFi 关闭**
- BLEGATT Server图片传输服务 0x0B00
- 显示ScreenHome → ScreenImg图片浏览→ ScreenSet设置
- 功能JPEG 解码、GIF 播放、SPIFFS 图片管理、低功耗、电池监测
### 2.3 模式切换方案
**方案重启切换NVS 标志)**
```
BOOT 双击 → 读取 NVS device_mode → 切换 0↔1 → 写入 NVS → esp_restart()
```
切换时间约 3-4 秒重启时间NVS 擦写寿命 10-100万次无限次切换。
**选择重启而非热切换的原因**
1. WiFi + BLE Bluedroid 同时运行内部 SRAM 不足(约需 280KB可用 ~334KB
2. 热切换需处理大量资源释放/重建协议、音频管道、FreeRTOS 任务),复杂度极高
3. Application 单例内部状态event_group, opus 编解码器, background_task难以干净重置
4. 重启方式简单可靠,避免内存泄漏和碎片化风险
---
## 三、内存预算分析
### 3.1 硬件规格
- **内部 SRAM**~334KB DIRAM可用
- **PSRAM**8MB OCT-SPI 80MHz
- **Flash**16MB
### 3.2 各模式内存占用
| 场景 | 估算占用 | 剩余 | 可行性 |
|------|----------|------|--------|
| AI 对话模式WiFi+RTC+音频+LVGL | ~212-237KB | ~97-122KB | **可行**(偏紧) |
| 电子吧唧模式BLE+LVGL+SPIFFS | ~190KB | ~144KB | **可行**(充裕) |
| 两模式同时运行 | ~274-345KB | 不足 | **不可行** |
### 3.3 关键验证数据
- Phase 1 测试WiFi + BLE 同时运行导致 `assert failed: vQueueDelete queue.c:2355`FreeRTOS 信号量分配失败)
- BLE 配网成功后 `xTaskCreate` 分配 2048 栈失败(已改用 `esp_timer` 解决)
- 确认两模式必须互斥运行
---
## 四、启动流程
### 4.1 双模式启动序列
```
开机
├── 板级构造函数(通用)
│ ├── PowerSaveTimer 初始化
│ ├── InitializeButtons()(主项目 Button 类,双击注册在此)
│ ├── InitializeCodecI2c()
│ ├── dzbj_display_init() ← LCD + LVGL 始终初始化
│ │
│ ├── if device_mode == BADGE (吧唧模式)
│ │ └── InitializeBadgeMode()
│ │ ├── fatfs_init() // SPIFFS 文件系统
│ │ ├── init_spiffs_image_list() // 扫描图片
│ │ ├── dzbj_button_init() // ISR按键
│ │ ├── battery_init() // 电池检测
│ │ ├── dzbj_ble_init() // BLE 图传
│ │ └── sleep_mgr_init() // 低功耗管理
│ │
│ └── else (AI模式, 默认)
│ ├── InitializeIot()
│ ├── InitializeBatteryMonitor()
│ ├── InitializeImuSensor()
│ └── PowerSaveTimer 启用
├── Application::Start()
│ ├── if device_mode == BADGE
│ │ └── SetDeviceState(Idle); return; // 不启动WiFi/协议/音频
│ │
│ └── else (AI模式)
│ ├── Opus 编解码器初始化
│ ├── 音频管道启动
│ ├── board.StartNetwork() // WiFi 连接
│ ├── RTC 协议初始化
│ └── MainLoop + AudioLoop 启动
```
### 4.2 BOOT 按键行为
| 事件 | AI模式 | 吧唧模式 | 配网模式 |
|------|--------|---------|---------|
| 单击 | Idle↔Listening 切换 | 待定(返回 ScreenHome | 显示 MAC 地址 |
| 双击 | **切换到吧唧模式** | **切换到AI模式** | 无响应 |
| 长按5s | 无响应 | 无响应 | 进入生产测试 |
---
## 五、模块移植清单
### 5.1 从 dzbj 移植的模块
| 模块 | 源文件 | 目标文件 | 适配要点 |
|------|--------|---------|---------|
| fatfs | `dzbj/main/fatfs/` | `main/dzbj/fatfs.c/h` | `gpio.h``dzbj_gpio.h` |
| pages | `dzbj/main/pages/pages.c` | `main/dzbj/pages.c` | 移除 `wifi.h`PWM 去重 |
| BLE图传 | `dzbj/main/ble/ble.c` | `main/dzbj/dzbj_ble.c/h` | **新增 deinit 函数** |
| sleep_mgr | `dzbj/main/sleep_mgr/` | `main/dzbj/sleep_mgr.c` | 按键回调适配 |
| button | `dzbj/main/button/` | `main/dzbj/dzbj_button.c/h` | ISR+队列+去抖 |
| battery | `dzbj/main/battery/` | `main/dzbj/battery.c/h` | ADC 校准 + UI 更新 |
### 5.2 新建模块
| 模块 | 文件 | 功能 |
|------|------|------|
| device_mode | `main/dzbj/device_mode.c/h` | NVS 模式读写 + 重启切换 |
### 5.3 修改的现有文件
| 文件 | 修改内容 |
|------|---------|
| `movecall_moji_esp32s3.cc` | 模式分支 + InitializeBadgeMode() + BOOT 双击回调 |
| `application.cc` | Start() 模式分支(吧唧模式早返回) |
| `main/CMakeLists.txt` | 添加新源文件 |
| `main/idf_component.yml` | 添加 esp_jpeg 依赖 |
| `main/sleep_mgr/include/sleep_mgr.h` | stub 改为真实函数声明 |
### 5.4 删除的文件
| 文件 | 原因 |
|------|------|
| `main/pages/pages_stub.c` | 被 `main/dzbj/pages.c` 真实实现替代 |
---
## 六、GPIO 引脚分配(已解决)
Phase 1 已完成的 GPIO 冲突解决:
| GPIO | 主项目原用途 | dzbj用途 | 解决方案 |
|------|------------|---------|---------|
| 21 | BUILTIN_LED | LCD D3 | LED 改为 GPIO_NUM_NC |
| 1 | Touch1 (电容触摸) | LCD 背光 EN | Touch1 改为 GPIO_NUM_NC |
| 7 | Touch4 (电容触摸) | LCD RST | Touch4 改为 GPIO_NUM_NC |
| 6 | Battery ADC | Touch RST | Battery ADC 改为 GPIO 3 |
| 17/18 | I2C_NUM_1 (音频) | I2C_NUM_0 (触摸) | 统一为 I2C_NUM_1 共享 |
---
## 七、风险评估
### 7.1 重启切换方案(已选定)
| 风险 | 等级 | 说明 |
|------|------|------|
| 内存泄漏 | **无** | 每次重启全新初始化,无残留 |
| 内存碎片化 | **无** | 重启清除所有堆分配 |
| WiFi/BLE deinit 不可靠 | **无** | 无需 deinit重启自然释放 |
| NVS 擦写寿命 | **极低** | 10-100万次日常使用完全足够 |
| 切换体验 | **低** | ~3-4秒重启时间可加转场动画优化 |
### 7.2 其他风险
| 风险 | 等级 | 缓解方案 |
|------|------|---------|
| 符号冲突pages_stub vs pages.c | 中 | 删除 stub真实实现始终编译 |
| button 模块冲突C++ Button vs C ISR | 中 | 条件初始化,两模式用不同实现 |
| SPIFFS 分区未配置 | 中 | 检查分区表是否有 spiffs 分区 |
| Flash 空间 | 低 | 当前 app 分区 5MB固件 ~3.5MB,剩余充足 |
---
## 八、分区表
当前分区表:
```csv
# Name, Type, SubType, Offset, Size, Flags
nvs, data, nvs, 0x9000, 0x4000,
otadata, data, ota, 0xd000, 0x2000,
phy_init, data, phy, 0xf000, 0x1000,
model, data, spiffs, 0x10000, 0x300000,
ota_0, app, ota_0, 0x310000, 5M,
ota_1, app, ota_1, 0x820000, 5M,
```
dzbj 图片浏览功能需要 SPIFFS 存储。`model` 分区3MB, spiffs 类型)可复用,或需新增 storage 分区。
---
## 九、验证计划
### 9.1 编译验证
```bash
idf.py build
```
### 9.2 AI 模式验证(默认 mode=0
- [ ] 开机正常进入 WiFi 连接 + RTC 对话
- [ ] LVGL 显示 ScreenHome
- [ ] BOOT 单击切换对话状态
- [ ] BOOT 双击 → 切换到吧唧模式,设备重启
- [ ] 内存剩余 > 80KB
### 9.3 吧唧模式验证mode=1
- [ ] 开机日志显示"电子吧唧模式启动"
- [ ] 不连接 WiFi不播放开机语音
- [ ] BLE 广播可见(手机搜索 "Airhub_XX:XX:XX"
- [ ] 手机 APP 可传输图片到设备
- [ ] 屏幕显示传输的图片
- [ ] 10s 无操作后屏幕熄灭
- [ ] 按键或触摸唤醒屏幕
- [ ] BOOT 双击 → 切换回 AI 模式,设备重启
- [ ] 内存剩余 > 150KB
### 9.4 稳定性验证
- [ ] 来回切换 10+ 次,功能正常
- [ ] 各模式下长时间运行(>1小时无崩溃

View File

@ -0,0 +1,695 @@
# BLE 图片传输失败分析与优化建议
## 一、问题现象
APP 通过 BLE 向设备传输一张 533934 字节(约 521KB的 JPEG 图片,传输过程中 BLE 连接断开,图片未完整接收,设备屏幕未更新。
---
## 二、双端日志对照分析
### 2.1 APP 端日志Flutter Web
```
[BLE Transfer] MTU 协商失败,使用默认值: FlutterBluePlusException | requestMtu | fbp-code: 2 | android-only
[BLE Transfer] MTU=512, chunkSize=507
[BLE Transfer] 服务: 0b00
[BLE Transfer] 特征: 0b01 (write + writeWithoutResponse)
[BLE Transfer] 特征: 0b02 (write + writeWithoutResponse)
[BLE Transfer] JPEG 大小: 533934 字节
[FBP] stopScan: already stopped
(以上日志重复出现两次 —— APP 进行了两次连接尝试)
```
### 2.2 设备端日志ESP32-S3
```
I (14939) DZBJ_BLE: Connected, conn_id 0, remote 9c:76:0e:47:1b:de
I (15959) DZBJ_BLE: 处理前序数据
I (15959) DZBJ_BLE: 图片数据长度533934
I (16069) DZBJ_BLE: 传输通道建立成功,文件名称:face_1774336190.jpg,文件大小:533934
I (16069) DZBJ_BLE: 获取到数据:第:1包,长度:509,是否结束0
I (19169) DZBJ_BLE: 获取到数据:第:101包,长度:509,是否结束0 ← 3秒收100包
I (23309) DZBJ_BLE: 获取到数据:第:201包,长度:509,是否结束0 ← 4秒收100包
I (25379) DZBJ_BLE: 获取到数据:第:1包,长度:509,是否结束0 ← 包序号溢出*
W (26369) BT_HCI: hcif disc complete: hdl 0x1, rsn 0x13 dev_find 1
I (26369) DZBJ_BLE: Disconnected, reason 0x13 ← APP主动断开
```
> *注:包序号字段为 `uint8_t`0~255第 256 包时溢出回到 0日志显示为"第1包"。**传输本身未中断,仅是日志显示溢出**。设备端后续会修复此日志。
### 2.3 时间线还原
| 时间点 | 事件 | 说明 |
|--------|------|------|
| T+0s | BLE 连接建立 | MTU=512 生效 |
| T+1s | 前序数据解析 | 文件名 + 文件大小 |
| T+1.1s | 传输开始 | chunkSize=507 字节/包 |
| T+1.1s ~ T+9.3s | 数据传输中 | 约收到 300 包 ≈ 150KB |
| **T+10.3s** | **APP 断开连接** | reason 0x13 = Remote User Terminated |
| - | 无"传输完成"日志 | 图片未保存,屏幕未更新 |
### 2.4 传输进度估算
- 需要总包数533934 ÷ 505每包纯数据 ≈ **1058 包**
- 实际传输时间:约 10 秒
- 已接收约300~400 包150KB~200KB
- **完成度:约 30%**
---
## 三、问题根因
### 3.1 核心原因WriteWithoutResponse 无流控导致 BLE 缓冲区溢出
APP 使用 `writeWithoutResponse` 模式连续发送 1058 个数据包,此模式特点:
- **不等待设备端 ACK**,发送速度完全由 APP 端控制
- ESP32-S3 的 BLE 协议栈有内部缓冲区Bluedroid TX buffer连续高速写入导致缓冲区积压
- 当缓冲区满且链路层来不及发送时,**底层协议栈会主动断开连接**
- BLE 规范中 WriteWithoutResponse 没有流控机制,必须由应用层自行控制节奏
### 3.2 次要原因Flutter Web 环境 BLE 限制
- `js_primitives.dart` 表明 APP 运行在 **Flutter Web**(浏览器)环境
- Web Bluetooth API 的 `requestMtu` 不可用Android-only APIMTU 由浏览器自动协商
- Web Bluetooth 的写入吞吐量和稳定性**显著低于** Android/iOS 原生 BLE
- 浏览器对 BLE 操作有隐式超时和安全限制
### 3.3 APP 连接了两次
APP 日志出现两组完整的服务发现记录,但设备端只有一次连接/断连,可能原因:
- 第一次连接极短(未成功开始传输),设备端未触发 CONNECT_EVT
- 或第一次只完成了服务发现就断开,第二次才开始数据传输
---
## 四、APP 端优化建议
### 4.1 【P0 - 必须修复】添加发送流控
这是导致传输失败的直接原因,**必须修复**。
#### 方案 A混合写入模式推荐改动最小
每 N 包使用一次 `write`(带响应)作为同步点,其余用 `writeWithoutResponse`
```dart
const int SYNC_INTERVAL = 10; // 每 10 包同步一次
for (var i = 0; i < chunks.length; i++) {
if (i % SYNC_INTERVAL == 0) {
// 带响应写入:等待设备端 ACK天然起到流控作用
await characteristic.write(chunks[i], withoutResponse: false);
} else {
// 无响应写入:速度快
await characteristic.write(chunks[i], withoutResponse: true);
}
}
```
**原理**`write`withoutResponse: false会等待设备端 GATT 层 ACK这个等待天然给设备端缓冲区消化数据的时间避免溢出。
#### 方案 B固定间隔延迟
如果不想用混合模式,在每批包之间加短延迟:
```dart
for (var i = 0; i < chunks.length; i++) {
await characteristic.write(chunks[i], withoutResponse: true);
// 每 20 包暂停一下,让设备端消化缓冲区
if (i % 20 == 0) {
await Future.delayed(Duration(milliseconds: 10));
}
}
```
#### 方案 C基于 FlutterBluePlus 队列深度控制
FlutterBluePlus 3.x+ 支持写入队列管理:
```dart
// 限制最大并发写入数,防止缓冲区溢出
FlutterBluePlus.setWriteQueueSize(maxConcurrent: 5);
```
### 4.2 【P0 - 必须修复】添加断连检测与错误处理
当前 APP 在传输中断后没有任何错误反馈,用户不知道发生了什么:
```dart
// 监听连接状态变化
device.connectionState.listen((state) {
if (state == BluetoothConnectionState.disconnected) {
if (transferInProgress) {
showError("传输中断,已发送 ${sentBytes}/${totalBytes} 字节,请重试");
transferInProgress = false;
}
}
});
// 传输函数中添加异常捕获
Future<void> transferImage(List<int> imageData) async {
try {
transferInProgress = true;
for (var i = 0; i < chunks.length; i++) {
if (!device.isConnected) {
throw Exception("BLE 连接断开,传输中止于第 $i/${chunks.length} 包");
}
await characteristic.write(chunks[i], withoutResponse: i % 10 != 0);
sentBytes = i * chunkSize;
}
transferInProgress = false;
} catch (e) {
transferInProgress = false;
log("[BLE Transfer] 传输失败: $e");
rethrow; // 向上层抛出,由 UI 处理
}
}
```
### 4.3 【P1 - 建议修复】断连自动重试
```dart
const int MAX_RETRIES = 3;
Future<bool> transferWithRetry(List<int> imageData) async {
for (var attempt = 0; attempt < MAX_RETRIES; attempt++) {
try {
if (!device.isConnected) {
await device.connect(timeout: Duration(seconds: 10));
await device.discoverServices();
}
await transferImage(imageData);
return true; // 传输成功
} catch (e) {
log("[BLE Transfer] 第 ${attempt + 1} 次尝试失败: $e");
await device.disconnect();
await Future.delayed(Duration(seconds: 2)); // 等待后重试
}
}
return false; // 全部重试失败
}
```
### 4.4 【P1 - 建议修复】Flutter Web 平台适配
Web Bluetooth 吞吐量低于原生 BLE需要更保守的传输策略
```dart
import 'package:flutter/foundation.dart' show kIsWeb;
// 根据平台调整传输参数
int getSyncInterval() {
if (kIsWeb) {
return 5; // Web 环境:每 5 包同步一次(更保守)
} else {
return 15; // Native 环境:每 15 包同步一次
}
}
// Web 端建议同时降低传输并发
int getChunkBatchSize() {
if (kIsWeb) {
return 10; // Web每批 10 包 + 10ms 间隔
} else {
return 30; // Native每批 30 包
}
}
```
### 4.5 【P2 - 可选优化】传输进度 UI
```dart
Future<void> transferImage(
List<int> imageData, {
void Function(double progress)? onProgress,
}) async {
final chunks = splitIntoChunks(imageData, chunkSize);
for (var i = 0; i < chunks.length; i++) {
await characteristic.write(chunks[i], withoutResponse: i % 10 != 0);
onProgress?.call((i + 1) / chunks.length);
}
}
// UI 层调用
transferImage(jpegData, onProgress: (progress) {
setState(() => transferProgress = progress); // 0.0 ~ 1.0
});
```
---
## 五、BLE 图传协议参考
### 5.1 协议格式
#### 前序包(第一包,建立传输通道)
写入特征:`0x0B01`
| 偏移 | 长度 | 字段 | 说明 |
|------|------|------|------|
| 0 | 1 | type | 固定 `0xFD` 表示图片传输 |
| 1 | 22 | filename | 文件名UTF-8'\0'填充) |
| 23 | 3 | length | 文件总大小大端序3字节 |
#### 数据包(后续包)
写入特征:`0x0B01`
| 偏移 | 长度 | 字段 | 说明 |
|------|------|------|------|
| 0 | 1 | pkt_no | 包序号0~255 循环,仅用于日志) |
| 1 | 1 | isEnd | 0=继续传输, 1=最后一包 |
| 2 | N | data | 图片数据N = chunkSize - 2 = 505 字节) |
#### 图片编辑命令
写入特征:`0x0B02`
| 类型字节(末字节) | 说明 |
|----------|------|
| `0xFF` | 切换显示指定图片payload 前 22 字节为文件名) |
| `0xF1` | 删除指定图片 |
### 5.2 MTU 与包大小关系
```
协商 MTU = 512
ATT Header = 3 字节
GATT Write Header = 2 字节attribute handle
─────────────────────────
可用 Payload = 512 - 3 - 2 = 507 字节(即 chunkSize
数据包头 = 2 字节pkt_no + isEnd
每包纯图片数据 = 507 - 2 = 505 字节
```
### 5.3 传输耗时预估
基于连接间隔 7.5~20ms设备端配置 min_int=6, max_int=16加入方案 A 流控后:
| 图片大小 | 总包数 | 无流控(当前) | 方案A 流控后预估 |
|----------|--------|---------------|-----------------|
| 100KB | ~203 | ~2s可能断连 | ~4s |
| 300KB | ~608 | ~6s可能断连 | ~12s |
| 500KB | ~1013 | ~10s大概率断连 | ~20s |
| 1MB | ~2026 | 必定断连 | ~40s |
---
## 六、设备端已完成的修复
以下问题已在最新固件中修复:
| 问题 | 影响 | 修复状态 |
|------|------|----------|
| BLE 断连后未清理传输状态 | `img_data` 内存泄漏,`SendStatus.isSend` 残留 | ✅ 已修复:`DISCONNECT_EVT` 中自动释放资源 |
| BLE 5.0 2M PHY 未启用 | 传输速度只有 1M PHY | ✅ 已启用:连接后自动协商 2M PHY速度翻倍 |
| 未使用的 BluFi 组件占用编译资源 | 与 BLE 5.0 不兼容 | ✅ 已移除:两种模式均使用自定义 GATT Server |
---
## 七、测试验证清单
完成 APP 端优化后,请按以下步骤验证:
- [ ] **小图测试**:传输 50KB 图片,确认完整接收并显示
- [ ] **大图测试**:传输 500KB+ 图片,确认不中途断连
- [ ] **连续测试**:连续传 3~5 张图片,每次都成功
- [ ] **弱信号测试**:手机距设备 3~5 米,测试传输稳定性
- [ ] **Web 端测试**:在 Chrome 浏览器中完成上述全部测试
- [ ] **断连恢复测试**:传输中手动关闭蓝牙再打开,确认 APP 能正确提示并重试
### 传输成功的设备端日志标志
```
I DZBJ_BLE: 传输通道建立成功,文件名称:xxx.jpg,文件大小:533934
I DZBJ_BLE: 获取到数据:第:101包,长度:509,是否结束0
I DZBJ_BLE: 获取到数据:第:201包,长度:509,是否结束0
...(中间持续接收)
I DZBJ_BLE: 数据接收完毕,累计:533934字节预期:533934字节 ← 累计 = 预期
I DZBJ_BLE: 图片接收成功,数据直通显示(533934字节) ← 屏幕更新触发
```
---
## 八、BLE 5.0 2M PHY 已启用(设备端已完成)
设备端固件已启用 BLE 5.0 2M PHY**APP 端无需任何修改**PHY 协商在 BLE 链路层自动完成,对 GATT 操作完全透明。
### 8.1 设备端日志确认
```
I BLE_INIT: Feature Config, ADV:1, BLE_50:1, ... ← BLE 5.0 已启用
I DZBJ_BLE: Connected, conn_id 0, remote 73:8f:af:0d:36:7a
I DZBJ_BLE: PHY update, status 0, tx_phy 1, rx_phy 1 ← 初始 1M PHY
I DZBJ_BLE: PHY update, status 0, tx_phy 2, rx_phy 2 ← 自动切换到 2M PHY ✅
```
### 8.2 速度对比
| PHY 模式 | 物理层速率 | 实际应用层吞吐量 | 533KB 图片预估耗时 |
|----------|-----------|-----------------|-------------------|
| 1M PHY旧固件 | 1 Mbps | ~100-200 KB/s | ~3-5s |
| **2M PHY当前固件** | **2 Mbps** | **~200-350 KB/s** | **~1.5-2.5s** |
### 8.3 兼容性
- 手机支持 BLE 5.02017 年后主流机型):自动协商 2M PHY速度翻倍
- 手机不支持 BLE 5.0:自动保持 1M PHY不报错功能不受影响
- APP 端 FlutterBluePlus 的 `write` / `writeWithoutResponse` 调用方式完全不变
---
## 九、【P0 关键问题】Flutter APP 无法连接电子吧唧模式
### 9.1 问题现象
Flutter APP 在电子吧唧模式下可以扫描到设备,**BLE 连接成功,但约 3 秒后 APP 主动断开**,无法进行图片传输。而在 AI 对话模式下,同一 APP 可以正常连接和蓝牙配网。
### 9.2 设备端日志分析(设备端完全正常)
```
I (14509) DZBJ_BLE: Connected, conn_id 0, remote 73:8f:af:0d:36:7a ← 连接成功 ✅
I (14539) DZBJ_BLE: PHY update, status 0, tx_phy 1, rx_phy 1 ← PHY 初始化 ✅
I (14879) DZBJ_BLE: Connection params update, conn_int 12 ← 参数协商 ✅
I (15039) DZBJ_BLE: Connection params update, conn_int 6 ← 参数协商 ✅
I (16329) DZBJ_BLE: PHY update, status 0, tx_phy 2, rx_phy 2 ← 2M PHY 切换 ✅
W (17429) BT_HCI: hcif disc complete: rsn 0x13 ← APP 主动断开 ❌
I (17429) DZBJ_BLE: Disconnected, reason 0x13
```
**设备端没有任何错误**。BLE 连接正常建立参数协商正常PHY 成功切换到 2M。是 APP 端在连接后约 3 秒主动断开了连接reason 0x13 = Remote User Terminated Connection
### 9.3 APP 端日志分析
```
[BLE Transfer] MTU 协商失败,使用默认值: FlutterBluePlusException | requestMtu | fbp-code: 2 | android-only
[BLE Transfer] MTU=512, chunkSize=507
[BLE Transfer] 服务: 0b00
[BLE Transfer] 特征: 0b01 (write + writeWithoutResponse)
[BLE Transfer] 特征: 0b02 (write + writeWithoutResponse)
[BLE Transfer] JPEG 大小: 533934 字节
(以上日志重复出现两次 —— APP 进行了两次连接尝试)
```
APP 日志显示:
1. MTU 协商失败(`fbp-code: 2, android-only` 表明 `requestMtu` 在非 Android 平台不可用)
2. 服务和特征**已成功发现**0x0B00 服务、0x0B01/0x0B02 特征)
3. 整个流程重复了两次(两次连接尝试都失败)
### 9.4 根因分析
APP 连接后能发现服务和特征,但仍然断开,可能的原因:
#### 原因 1MTU 协商失败导致后续写入异常
`requestMtu` 失败后APP 代码中 `MTU=512, chunkSize=507` 是写死的回退值。如果实际系统 MTU 远小于 512某些平台默认 MTU=23每包发送 509 字节2字节ATT头 + 507 数据)会超出实际 MTU**导致 BLE 协议栈直接丢包或报错**。
**修复方案**MTU 协商失败时,应使用系统默认 MTU 或通过平台 API 获取实际值,而非写死 512。
```dart
try {
await device.requestMtu(512);
} catch (e) {
print('MTU 协商失败: $e');
}
// 关键:无论 requestMtu 是否成功,都从系统获取实际 MTU
final actualMtu = await device.mtu.first; // 获取实际协商的 MTU
final chunkSize = actualMtu - 3; // ATT 头部 3 字节
print('实际 MTU: $actualMtu, chunkSize: $chunkSize');
```
#### 原因 2连接后流程异常导致超时断开
APP 可能在 MTU 协商失败后进入了错误处理分支,没有继续执行图片传输,等待超时后断开。
**排查方法**:在 Flutter 代码中检查 `requestMtu` 失败后是否有 `return` 或异常抛出中断了后续的 `discoverServices` / `write` 流程。
**修复方案**:确保 `requestMtu` 失败不会中断主流程。
```dart
Future<void> connectAndTransfer(BluetoothDevice device) async {
await device.connect();
// MTU 协商(失败不影响后续流程)
try {
await device.requestMtu(512);
} catch (e) {
print('MTU 协商失败,使用默认值: $e');
// ✅ 不要 return 或 throw继续执行
}
// 服务发现(必须执行)
final services = await device.discoverServices();
final imageService = services.firstWhere(
(s) => s.uuid.toString().contains('0b00'),
orElse: () => throw Exception('未找到图传服务 0x0B00'),
);
// 获取特征
final writeChar = imageService.characteristics.firstWhere(
(c) => c.uuid.toString().contains('0b01'),
);
// 开始传输...
await transferImage(writeChar, imageData);
}
```
#### 原因 3APP 连接了两次
日志显示完整的连接流程重复出现两次。第一次连接可能在写入数据时失败APP 重试了一次但结果相同。
**排查方法**:检查 APP 中是否有自动重连/重试逻辑,以及第一次连接失败时的具体错误信息。
### 9.5 两种模式 BLE 服务对比
APP 需要支持连接两种模式的 BLE 服务,它们的差异:
| 维度 | AI 对话模式(配网) | 电子吧唧模式(图传) |
|------|-------------------|-------------------|
| 服务 UUID | `0xABF0` | `0x0B00` |
| 写入特征 | `0xABF1` (Write) | `0x0B01` (Write + WriteNoResponse) |
| 通知特征 | `0xABF2` (Notify) | `0x0B02` (Write非 Notify) |
| 设备名称 | `Airhub_xx:xx:xx:xx:xx:xx` | `Airhub_xx:xx:xx:xx:xx:xx`(相同) |
| 广播标识 | 扫描响应含 `ABF0` UUID | 扫描响应含厂商数据 `LDdzbj` + `0B00` UUID |
| 协议格式 | 二进制命令1字节CMD + payload | 二进制帧(前序帧 + 数据帧,见第五章) |
**APP 端区分两种模式的方法**
- 扫描响应Scan Response中的厂商数据包含 ASCII `"dzbj"` → 电子吧唧模式
- 连接后发现服务 `0x0B00` → 图传模式;发现服务 `0xABF0` → 配网模式
- 两种模式不会同时存在设备重启切换APP 只需按发现的服务 UUID 走对应流程
### 9.6 APP 端自查清单
请 Flutter APP 开发者按以下顺序排查:
- [ ] `requestMtu(512)` 失败后,是否 `return` / `throw` 中断了后续流程?
- [ ] `requestMtu` 失败后,`chunkSize` 是否仍为 507实际 MTU 是否支持这个大小?
- [ ] `discoverServices()` 是否在 `requestMtu` 之后执行?是否能找到 `0x0B00` 服务?
- [ ] 写入特征时使用 `writeWithoutResponse` 还是 `write`?是否有流控/节流机制?
- [ ] 连接断开时是否有更详细的错误日志FlutterBluePlus 的 `onConnectionStateChanged`
- [ ] 两次连接尝试之间是否有足够的间隔(建议 2 秒以上)?
---
## 十、UniApp 成功 vs Flutter 失败——对比分析
UniApp 测试 APP 可以正常连接电子吧唧模式并成功传输图片,而 Flutter 正式 APP 连接后约 3 秒断开。以下是两者 BLE 实现的关键差异分析。
### 10.1 连接流程对比
| 步骤 | UniApp成功 | Flutter失败 |
|------|--------------|----------------|
| **BLE 连接** | `uni.createBLEConnection()` 原生 API | `device.connect()` FlutterBluePlus |
| **MTU 协商** | `uni.setBLEMTU({mtu:512})`,失败仅 log 不中断 | `device.requestMtu(512)` 抛异常 `android-only` |
| **MTU 失败处理** | 成功 → `getBleService()`;失败 → 仅打印日志,**不中断流程** | 异常后 `chunkSize` 写死 507**可能中断后续流程** |
| **服务发现** | `uni.getBLEDeviceServices()``findByUuid16()` 灵活匹配 | `device.discoverServices()` → UUID 字符串匹配 |
| **特征发现** | `uni.getBLEDeviceCharacteristics()` → 同样灵活匹配 | 从服务对象直接获取 |
### 10.2 UniApp 成功的 5 个关键因素
#### 因素 1MTU 协商失败不阻塞主流程
```javascript
// UniApp connect.vue:426
setBleMtu() {
uni.setBLEMTU({
deviceId: this.deviceId,
mtu: 512,
success() {
that.isConnected = true;
that.getBleService(); // ✅ 成功后继续
},
fail() {
console.log('MTU设置失败'); // ✅ 仅打印,不阻塞
}
})
}
```
**注意**UniApp 的 `fail` 回调中确实**没有**调用 `getBleService()`,但在原生 APP 环境下 `setBLEMTU` 通常会成功。如果 MTU 设置失败UniApp 也无法继续——但它运行在原生环境中,所以 MTU 协商基本都成功。
**Flutter 问题**`requestMtu` 在非 Android 平台iOS/Web直接抛异常如果异常处理不当catch 中 return/throw后续服务发现和传输都不会执行。
#### 因素 2UUID 灵活匹配(兼容多种格式)
```javascript
// UniApp connect.vue:358
findByUuid16(list, uuid16) {
const hex4 = uuid16.toString(16).padStart(4, '0').toLowerCase();
const fullTarget = '0000' + hex4 + '-0000-1000-8000-00805f9b34fb';
return list.find(item => {
const uuid = item.uuid.toLowerCase();
if (uuid === fullTarget) return true; // 128-bit 完整格式
if (uuid === hex4 || uuid === '0000' + hex4) return true; // 短格式
if (uuid.startsWith('0000' + hex4 + '-')) return true; // 前缀匹配
return false;
});
}
```
UniApp 同时匹配 `"0b00"``"00000b00"``"00000b00-0000-1000-8000-00805f9b34fb"` 三种格式。**不同平台/不同 BLE 库返回的 UUID 格式不统一**,灵活匹配避免了因格式不匹配导致"找不到服务"的问题。
**Flutter 建议**:检查 `discoverServices()` 返回的 UUID 格式,确保匹配逻辑兼容短 UUID 和完整 128-bit UUID。
#### 因素 3每包 5ms 延迟 + 重试机制(基础流控)
```javascript
// UniApp connect.vue:308 writeBleImage()
while (offset < len) {
await this.bleWrite(this.imageWriteuuid, packet.buffer);
await this.delay(5); // ✅ 每包 5ms 延迟,防止 BLE 缓冲区溢出
offset += chunkLen;
packetNo++;
}
// UniApp connect.vue:237 bleWrite()(带重试)
async bleWrite(characteristicId, buffer) {
const MAX_RETRY = 3;
for (let i = 0; i < MAX_RETRY; i++) {
try {
await this._bleWriteOnce(characteristicId, buffer, 'writeNoResponse');
return;
} catch (err) {
if (i < MAX_RETRY - 1) {
await this.delay(20 * (i + 1)); // ✅ 退避递增20ms, 40ms, 60ms
} else {
// ✅ 最后一次尝试降级为 write带应答
await this._bleWriteOnce(characteristicId, buffer, 'write');
return;
}
}
}
}
```
这是 UniApp 传输成功的**最核心因素**
- **每包 5ms 延迟**:给 ESP32 BLE 协议栈缓冲区消化时间
- **3 次重试**:写入失败不立即放弃
- **退避递增**:重试间隔 20ms → 40ms → 60ms给系统更多恢复时间
- **降级机制**:最终尝试用 `write`(带 ACK 应答),天然起到流控作用
#### 因素 4前序帧发送后等待 50ms
```javascript
// UniApp connect.vue:323
await this.bleWrite(this.imageWriteuuid, header.buffer);
await this.delay(50); // ✅ 等待设备端处理前序帧malloc内存、创建文件等
```
设备端收到前序帧后需要执行 `malloc()``fopen()` 等操作50ms 的等待确保设备端准备好接收数据帧。
#### 因素 5原生运行环境非 Web
UniApp 编译为原生 APP 运行Android/iOSBLE API 直接调用系统原生接口:
- MTU 协商通过原生 API 实现,成功率高
- BLE 写入性能接近原生(无浏览器 Web Bluetooth 的限制)
- 无 Web Bluetooth 的隐式超时和安全限制
### 10.3 Flutter APP 需要修复的差异点
| 序号 | 差异项 | UniApp 做法 | Flutter 当前问题 | 修复优先级 |
|------|--------|------------|-----------------|-----------|
| 1 | **MTU 失败处理** | fail 仅 log不阻断 | 异常可能中断后续流程 | **P0** |
| 2 | **发送流控** | 每包 5ms 延迟 | 无延迟,全速发送 | **P0** |
| 3 | **写入重试** | 3 次重试 + 退避递增 + 降级为 write | 无重试机制 | **P0** |
| 4 | **前序帧等待** | header 后 50ms | 未知(需检查) | **P1** |
| 5 | **UUID 匹配** | 兼容短/长/前缀三种格式 | 可能只匹配一种格式 | **P1** |
| 6 | **运行环境** | 原生 APP | 可能运行在 Web 环境 | **P1** |
### 10.4 Flutter 参考实现(对标 UniApp
```dart
/// 发送单包数据(带重试 + 降级机制,对标 UniApp bleWrite
Future<void> bleWriteWithRetry(
BluetoothCharacteristic char,
List<int> data, {
int maxRetry = 3,
}) async {
for (var i = 0; i < maxRetry; i++) {
try {
await char.write(data, withoutResponse: true);
return;
} catch (e) {
if (i < maxRetry - 1) {
// 退避递增20ms, 40ms, 60ms
await Future.delayed(Duration(milliseconds: 20 * (i + 1)));
} else {
// 最后一次降级为 write带应答
await char.write(data, withoutResponse: false);
return;
}
}
}
}
/// 图片分包传输(对标 UniApp writeBleImage
Future<void> transferImage(
BluetoothCharacteristic writeChar,
List<int> imageData,
String filename, {
void Function(double)? onProgress,
}) async {
// 1. 发送前序帧
final header = buildHeader(filename, imageData.length); // 26 字节
await bleWriteWithRetry(writeChar, header);
await Future.delayed(Duration(milliseconds: 50)); // ← 关键:等待设备端准备
// 2. 分包发送数据
final chunkSize = 507; // MTU(512) - ATT(3) - Handle(2)
var offset = 0;
var packetNo = 0;
while (offset < imageData.length) {
final remaining = imageData.length - offset;
final chunkLen = remaining < chunkSize ? remaining : chunkSize;
final isEnd = (offset + chunkLen >= imageData.length) ? 0x01 : 0x00;
final packet = <int>[packetNo & 0xFF, isEnd, ...imageData.sublist(offset, offset + chunkLen)];
await bleWriteWithRetry(writeChar, packet);
await Future.delayed(Duration(milliseconds: 5)); // ← 关键:每包 5ms 延迟
offset += chunkLen;
packetNo++;
if (packetNo % 10 == 0 || isEnd == 1) {
onProgress?.call(offset / imageData.length);
}
}
}
```
### 10.5 总结
**UniApp 能成功而 Flutter 失败的核心原因是UniApp 实现了基础的 BLE 流控机制(每包延迟 + 重试 + 降级),而 Flutter APP 缺少这些关键防护。**
BLE `WriteWithoutResponse` 是"发后不管"模式ESP32 的 Bluedroid 协议栈缓冲区有限(约 8-10 个包),不加延迟的全速发送会导致缓冲区溢出 → 协议栈断开连接。UniApp 的 5ms/包延迟虽然简单,但足以让缓冲区不积压。
---
## 十一、联系方式
如有疑问请联系固件端开发。设备端调试可提供串口日志115200 波特率)配合定位问题。

View File

@ -16,3 +16,6 @@ add_compile_options(-Wno-missing-field-initializers)
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
project(kapi)
# SPIFFS spiffs_image/ storage
spiffs_create_partition_image(storage spiffs_image FLASH_IN_PROJECT)

View File

@ -0,0 +1,503 @@
# Claude Code 插件高效运用指南
> 更新日期: 2026-03-19skill-creator 补充)
> 适用环境: macOS / Claude Code 2.1.37+ / ESP32 嵌入式开发
---
## 一、当前已安装资源总览
| 类别 | 数量 | 说明 |
|------|------|------|
| 官方插件 (claude-plugins-official) | 7 个 | Git 工作流、代码审查、功能开发、迭代循环、规则维护、Skill 创建 |
| 社区插件 (claude-code-settings) | 2 个 | 长时任务自主执行、规格驱动开发 |
| 自定义 Skills (~/.claude/skills/) | 10 个 | ESP32 专用 6 个 + RK3588/Linux 驱动 4 个 |
| 内置 Skills | 3 个 | simplify、loop、claude-api |
---
## 二、命令速查表
| 命令 | 来源 | 一句话说明 |
|------|------|-----------|
| `/commit` | commit-commands | 自动分析变更,生成提交信息并 commit |
| `/commit-push-pr` | commit-commands | 一键 commit → push → 创建 PR |
| `/clean_gone` | commit-commands | 清理远程已删除的本地分支 |
| `/code-review` | code-review | 4 个 Agent 并行审查,置信度过滤 |
| `/review-pr` | pr-review-toolkit | 6 个专业 Agent 综合 PR 审查 |
| `/feature-dev` | feature-dev | 7 阶段引导式功能开发 |
| `/ralph-loop` | ralph-loop | 迭代式自引用开发循环,持续直到任务完成 |
| `/cancel-ralph` | ralph-loop | 取消正在运行的 Ralph Loop |
| `/claude-md-improver` | claude-md-management | 审计 CLAUDE.md检查与代码库一致性 |
| `/revise-claude-md` | claude-md-management | 从当前会话提取经验更新 CLAUDE.md |
| `/autonomous-skill` | autonomous-skill | 多会话长时任务自主执行 |
| `/spec-kit-skill` | spec-kit-skill | 7 阶段规格驱动开发工作流 |
| `/skill-creator` | skill-creator | **元技能**:交互式创建、测试、优化自定义 Skills |
| `/simplify` | 内置 | 审查代码复用性、质量和效率 |
| `/loop` | 内置 | 定时循环执行命令(如每 5 分钟检查一次) |
---
## 三、按场景分类的使用指南
### 场景 1日常编码提交每天用
#### `/commit` — 智能提交
**何时用**:写完代码,需要提交时
**使用方式**
```
你:/commit
```
Claude 会自动:
1. 运行 `git diff` 分析所有变更
2. 理解变更内容和意图
3. 生成符合项目风格的提交信息
4. 执行 `git commit`
**对比手动提交的优势**
- 不用自己写 commit message
- 自动识别变更类型feat/fix/refactor
- 遵循项目已有的提交风格
---
#### `/commit-push-pr` — 一键发布
**何时用**:功能开发完成,需要提交 + 推送 + 创建 PR
**使用方式**
```
你:/commit-push-pr
```
一步完成三件事,适合功能分支开发完成后快速发布。
---
#### `/clean_gone` — 清理分支
**何时用**:定期清理,或感觉本地分支太多时
**使用方式**
```
你:/clean_gone
```
自动清理所有远程已删除但本地仍残留的分支(`git branch` 中标记为 `[gone]` 的)。
---
### 场景 2代码审查提交前 / PR 合并前)
#### `/code-review` — 快速审查
**何时用**:提交前快速检查是否有明显问题
**使用方式**
```
你:/code-review
```
**工作原理**:启动 4 个并行 Agent
1. CLAUDE.md 合规检查 ×2检查代码是否遵循项目规则
2. Bug 扫描(检测潜在 Bug
3. Git 历史上下文分析(结合 git log 理解变更背景)
置信度 < 80 的问题自动过滤只报告高确信度问题
**适合**:日常快速检查,耗时较短
---
#### `/review-pr` — 深度审查
**何时用**:重要功能合并前的全面审查
**使用方式**
```
你:/review-pr
```
**工作原理**:启动 6 个专业 Agent
| Agent | 检查内容 |
|-------|---------|
| code-reviewer | 代码质量、Bug、安全漏洞 |
| comment-analyzer | 注释准确性和可维护性 |
| silent-failure-hunter | 静默失败和错误处理缺陷 |
| pr-test-analyzer | 测试覆盖质量 |
| type-design-analyzer | 类型设计质量(封装、不变量) |
| code-simplifier | 代码简化机会 |
**适合**:重要 PR、团队协作代码、关键功能上线前
**`/code-review` vs `/review-pr` 如何选择?**
| | `/code-review` | `/review-pr` |
|---|---|---|
| Agent 数量 | 4 个 | 6 个 |
| 耗时 | 较短 | 较长 |
| 深度 | 快速扫描 | 全面审查 |
| 使用频率 | 每次提交前 | 重要 PR 合并前 |
---
### 场景 3功能开发新功能 / 复杂任务)
#### `/feature-dev` — 引导式功能开发
**何时用**:开发新功能,需要系统性地理解代码库并设计方案
**使用方式**
```
你:/feature-dev 添加 OTA 远程固件升级功能
```
**7 阶段工作流**
```
阶段 1: 理解代码库 → code-explorer Agent 分析现有架构
阶段 2: 提问澄清 → 向你提出关键问题(如 OTA 源、回滚策略)
阶段 3: 需求确认 → 确认功能范围和约束
阶段 4: 架构设计 → code-architect Agent 设计方案
阶段 5: 实现 → 按设计方案编码
阶段 6: 审查 → code-reviewer Agent 检查实现质量
阶段 7: 总结 → 输出变更摘要
```
**ESP32 项目实际用例**
```
你:/feature-dev 新增 BLE OTA 固件升级功能
你:/feature-dev 添加 MQTT 设备影子同步
你:/feature-dev 实现多语言 TTS 语音切换
```
**优势**:避免直接写代码导致的架构混乱,先理解再动手
---
#### `/autonomous-skill` — 长时任务自主执行
**何时用**:任务太大,一个会话搞不定(如大规模重构、全项目代码迁移)
**使用方式**
```
你:/autonomous-skill 将项目从 ESP-IDF v5.1 迁移到 v5.4
```
**工作原理**
1. **Initializer Agent**:分析任务,分解为子任务清单
2. 生成 `.autonomous/<task-name>/task_list.md``progress.md`
3. **Executor Agent**:逐个执行子任务,自动更新进度
4. 会话中断后,下次启动自动从 `progress.md` 继续
**适合**
- 跨多文件的大规模重构
- 框架/SDK 版本迁移
- 全项目代码规范统一
---
### 场景 4迭代式开发调试 / 持续改进)
#### `/ralph-loop` — 持续迭代直到完成
**何时用**:任务需要多轮尝试才能完成(如调试、性能调优)
**使用方式**
```
你:/ralph-loop 优化 GIF 动画播放性能,目标是音频不卡顿
```
**工作原理**
- Claude 完成一轮后尝试退出 → Stop Hook 拦截 → 重新注入 prompt → 继续迭代
- 直到任务真正完成才停止
**取消方式**
```
你:/cancel-ralph
```
**适合**
- 性能调优(反复测量-修改-验证)
- 复杂 Bug 排查(需要多轮假设-验证)
- 代码质量持续改进
**注意**:会消耗较多 token确保任务值得持续迭代
---
### 场景 5知识管理CLAUDE.md 维护)
#### `/claude-md-improver` — 审计规则文件
**何时用**:定期维护(建议每 1-2 周一次),或感觉 CLAUDE.md 与实际代码不一致时
**使用方式**
```
你:/claude-md-improver
```
**输出**
- 质量报告(一致性评分、过时内容、遗漏项)
- 自动更新建议
- 与当前代码库对比的差异分析
---
#### `/revise-claude-md` — 提取会话经验
**何时用**:解决了一个复杂问题后,在会话结束前执行
**使用方式**
```
你:/revise-claude-md
```
**工作原理**
- 回顾当前会话中的所有踩坑经验、解决方案、架构决策
- 自动提取有价值的内容更新到 CLAUDE.md
- 避免下次遇到同样问题
**最佳实践**
```
解决完 Bug → 测试通过 → /revise-claude-md → /commit
```
---
### 场景 6代码简化内置
#### `/simplify` — 代码简化审查
**何时用**:写完代码后,检查是否有可简化的地方
**使用方式**
```
你:/simplify
```
**检查内容**
- 代码复用机会
- 不必要的复杂度
- 可删除的冗余代码
- 保持功能不变的前提下简化实现
---
### 场景 7自定义 Skill 创建与优化(元技能)
#### `/skill-creator` — 从零创建专业领域 Skills
**何时用**:需要为新的技术领域(如 Linux 驱动、Android HAL、新硬件平台创建专属的 Claude Code Skill
**来源**Anthropic 官方插件claude-plugins-official是一个"元技能"Meta-Skill— 专门用来创建其他 Skills 的 Skill。
**使用方式**
```
你:/skill-creator
```
**四种操作模式**
| 模式 | 命令 | 说明 |
|------|------|------|
| **Create** | `/skill-creator` | 通过交互式问答从零创建新 Skill自动生成 SKILL.md |
| **Eval** | `/skill-creator eval` | 运行测试用例,对比有/无 Skill 的效果差异 |
| **Improve** | `/skill-creator improve` | 基于评测反馈自动迭代改进 Skill最多 5 轮) |
| **Benchmark** | `/skill-creator benchmark` | A/B 盲测对比,量化 Skill 对输出质量的提升 |
**内置 4 个子 Agent**
| Agent | 职责 |
|-------|------|
| Executor | 执行 Skill生成输出结果 |
| Grader | 对输出结果评分(质量、准确性、完整性) |
| Comparator | A/B 盲测对比(有 Skill vs 无 Skill |
| Analyzer | 分析评测结果,生成改进建议 |
**完整工作流程Create 模式)**
```
步骤 1: 捕获意图 → 理解你想让 Skill 做什么
步骤 2: 问答调研 → 收集边界情况、格式要求、依赖工具等
步骤 3: 编写 SKILL.md → 按最佳实践自动生成(含 frontmatter + 指令内容)
步骤 4: 定义测试用例 → 生成 2-3 个真实测试提示
步骤 5: 运行评估 → 执行 with-skill 和 baseline 对比打分
步骤 6: 迭代改进 → 根据反馈自动优化 SKILL.md 内容
步骤 7: 优化触发词 → 微调 description 字段提升触发精度
```
**实际用例**
```
# 从零创建 Linux 驱动开发 Skill
你:/skill-creator
Claude你想创建什么领域的 Skill
Linux 内核驱动开发,包括设备树 DTS、GPIO/I2C/SPI 驱动、V4L2 摄像头驱动
# 从文档资料创建 Skill
你:/skill-creator
你:(提供 RK3588 SDK 文档、Android HAL 开发指南等资料)
Claude自动消化资料 → 生成结构化的 SKILL.md
# 评估并优化已有 Skill
你:/skill-creator eval ~/.claude/skills/linux-driver/SKILL.md
你:/skill-creator improve ~/.claude/skills/linux-driver/SKILL.md
```
**生成的 SKILL.md 标准格式**
```yaml
---
name: my-skill-name
description: 描述功能和触发时机(决定何时自动激活)
allowed-tools: Bash, Read, Grep, Glob # 可选,限制可用工具
---
# Skill 标题
## 审查清单 / 排障速查表 / 构建流程
(结构化的专业知识内容)
```
**Skill 存放位置**
| 范围 | 路径 | 说明 |
|------|------|------|
| 个人全局 | `~/.claude/skills/<name>/SKILL.md` | 所有项目通用(如你的 ESP32 Skills |
| 项目级 | `.claude/skills/<name>/SKILL.md` | 仅当前项目 |
| 插件提供 | 插件安装目录内 | 通过 `claude plugins install` 安装 |
**与手动创建 Skill 的对比**
| | 手动创建 | `/skill-creator` |
|---|---|---|
| 方式 | 自己编写 SKILL.md | 交互式引导 + 自动生成 |
| 测试 | 凭感觉验证 | 自动化评测 + A/B 对比 |
| 迭代 | 手动修改 | 自动分析 + 5 轮迭代优化 |
| 触发精度 | 靠经验写 description | 自动优化触发词 |
| 适合 | 熟悉 Skill 格式的用户 | 任何用户,尤其是新领域拓展 |
**最佳实践**
```
准备资料(文档/教程/代码示例)
/skill-creatorCreate 模式,喂入资料)
/skill-creator eval评估效果
/skill-creator improve迭代优化
投入使用,后续根据实际踩坑经验持续补充
```
---
## 四、ESP32 项目推荐工作流
### 日常开发流程
```
编码 → /simplify检查简化→ /commit提交
```
### 新功能开发流程
```
/feature-dev引导开发→ 编码 → 构建测试 → /code-review快速审查→ /commit-push-pr发布
```
### 重要功能上线流程
```
/feature-dev → 编码 → 构建测试 → /review-pr深度审查→ 修复审查问题 → /commit-push-pr
```
### 复杂 Bug 排查流程
```
/ralph-loop 排查并修复xxx问题 → 修复完成 → /revise-claude-md记录经验→ /commit
```
### 大规模重构流程
```
/autonomous-skill自主执行重构→ 检查结果 → /review-pr审查→ /commit-push-pr
```
### 定期维护流程(每 1-2 周)
```
/claude-md-improver审计规则→ /clean_gone清理分支
```
### 新领域 Skill 创建流程
```
收集资料(文档/教程/API手册→ /skill-creator创建→ /skill-creator eval评估→ /skill-creator improve优化
```
**示例**:为香橙派 CM5 (RK3588S) 创建 Linux 驱动开发 Skills
```
1. 准备 Rockchip BSP 文档、Linux 内核驱动教程、设备树语法说明
2. /skill-creator → 创建 linux-driver Skill
3. /skill-creator → 创建 android-hal Skill
4. /skill-creator → 创建 rk3588-build Skill
5. /skill-creator eval → 评估效果 → /skill-creator improve → 迭代优化
```
---
## 五、自定义 Skills 与自动触发
### Skills 自动触发机制
当前对话中,以下 Skills 会根据关键词自动激活:
| Skill | 触发条件 |
|-------|---------|
| esp-build | 你说"编译"、"构建"、"烧录" |
| esp-analyze-log | 你提供设备日志、提到 crash/panic |
| esp-troubleshoot | 你描述设备异常 |
| esp-optimize | 你提到"优化"、"内存不足" |
| esp-code-review | 你要求"代码审查"、"review" |
| esp-driver | 你说"写一个驱动" |
| linux-driver | 你说"Linux 驱动"、"设备树"、"内核模块" |
| android-hal | 你说"HAL"、"AIDL"、"HIDL"、"JNI" |
| rk3588-build | 你说"编译 SDK"、"刷机"、"Docker 编译环境" |
| rk3588-troubleshoot | 你描述驱动不工作、设备不识别、内核崩溃 |
| simplify | 通过 /simplify 调用 |
| loop | 通过 /loop 调用 |
| claude-api | 涉及 Anthropic SDK 开发 |
### ESP32 Skills 与插件配合
| 自定义 Skill | 触发方式 | 与插件配合 |
|-------------|---------|-----------|
| esp-build | "帮我编译" / "构建项目" | 编译 → `/commit` 提交 |
| esp-analyze-log | 提供日志文件路径 | 分析日志 → 修复 → `/revise-claude-md` 记录 |
| esp-troubleshoot | 描述设备异常现象 | 排障 → `/ralph-loop` 持续调试 |
| esp-optimize | "优化内存" / "固件太大" | 优化 → `/simplify` 检查 → `/commit` |
| esp-code-review | "帮我审查代码" | 先 esp-code-review → 再 `/review-pr` 双重审查 |
| esp-driver | "写一个I2C驱动" | `/feature-dev` 设计 → esp-driver 生成 → `/code-review` 审查 |
### RK3588/Linux 驱动 Skills 与插件配合
| 自定义 Skill | 触发方式 | 与插件配合 |
|-------------|---------|-----------|
| linux-driver | "写一个 GPIO/I2C/SPI 驱动" | `/feature-dev` 设计 → linux-driver 生成 → `/code-review` 审查 |
| android-hal | "开发 HAL 让 APP 控制硬件" | linux-driver 写驱动 → android-hal 写 HAL → `/review-pr` 审查 |
| rk3588-build | "编译内核" / "刷机" / "搭建编译环境" | 编译 → 刷机 → `/revise-claude-md` 记录踩坑 |
| rk3588-troubleshoot | "设备不识别" / "内核崩溃" | 排障 → `/ralph-loop` 持续调试 → `/revise-claude-md` 记录 |
---
## 六、注意事项
1. **Token 消耗**`/review-pr`6 Agent`/ralph-loop`(持续迭代)消耗较多 token按需使用
2. **`/ralph-loop` 需要手动取消**:通过 `/cancel-ralph` 停止,否则会一直运行
3. **`/autonomous-skill` 的进度文件**:保存在 `.autonomous/` 目录,不要手动删除未完成的任务
4. **`/spec-kit-skill` 依赖外部工具**:需要安装 GitHub Spec-Kit CLI目前 ESP32 项目用不到
5. **插件更新**:运行 `claude plugins update` 可更新所有插件到最新版本
6. **`/skill-creator` 资料质量决定 Skill 质量**:喂入的文档越专业、越详细,生成的 Skill 审查清单和排障表越准确。建议提供官方文档 + 实战踩坑经验的组合
7. **Skill 持续迭代**:首次创建的 Skill 不一定完美,随着实际开发中遇到新问题,持续补充更新 SKILL.md类似你现有 ESP32 Skills 的演进过程)

View File

@ -1,31 +0,0 @@
set(CMAKE_ASM_COMPILER "/Users/rdzleo/.espressif/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/bin/xtensa-esp32s3-elf-gcc")
set(CMAKE_ASM_COMPILER_ARG1 "")
set(CMAKE_AR "/Users/rdzleo/.espressif/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/bin/xtensa-esp32s3-elf-ar")
set(CMAKE_ASM_COMPILER_AR "/Users/rdzleo/.espressif/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/bin/xtensa-esp32s3-elf-gcc-ar")
set(CMAKE_RANLIB "/Users/rdzleo/.espressif/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/bin/xtensa-esp32s3-elf-ranlib")
set(CMAKE_ASM_COMPILER_RANLIB "/Users/rdzleo/.espressif/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/bin/xtensa-esp32s3-elf-gcc-ranlib")
set(CMAKE_LINKER "/Users/rdzleo/.espressif/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/bin/xtensa-esp32s3-elf-ld")
set(CMAKE_LINKER_LINK "")
set(CMAKE_LINKER_LLD "")
set(CMAKE_ASM_COMPILER_LINKER "")
set(CMAKE_ASM_COMPILER_LINKER_ID "")
set(CMAKE_ASM_COMPILER_LINKER_VERSION )
set(CMAKE_ASM_COMPILER_LINKER_FRONTEND_VARIANT )
set(CMAKE_MT "")
set(CMAKE_TAPI "CMAKE_TAPI-NOTFOUND")
set(CMAKE_ASM_COMPILER_LOADED 1)
set(CMAKE_ASM_COMPILER_ID "GNU")
set(CMAKE_ASM_COMPILER_VERSION "")
set(CMAKE_ASM_COMPILER_ENV_VAR "ASM")
set(CMAKE_ASM_COMPILER_ARCHITECTURE_ID "")
set(CMAKE_ASM_COMPILER_SYSROOT "/Users/rdzleo/.espressif/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/bin/../xtensa-esp-elf/usr")
set(CMAKE_COMPILER_SYSROOT "/Users/rdzleo/.espressif/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/bin/../xtensa-esp-elf/usr")
set(CMAKE_ASM_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
set(CMAKE_ASM_LINKER_PREFERENCE 0)
set(CMAKE_ASM_LINKER_DEPFILE_SUPPORTED )
set(CMAKE_LINKER_PUSHPOP_STATE_SUPPORTED )
set(CMAKE_ASM_LINKER_PUSHPOP_STATE_SUPPORTED )

View File

@ -1,85 +0,0 @@
set(CMAKE_C_COMPILER "/Users/rdzleo/.espressif/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/bin/xtensa-esp32s3-elf-gcc")
set(CMAKE_C_COMPILER_ARG1 "")
set(CMAKE_C_COMPILER_ID "GNU")
set(CMAKE_C_COMPILER_VERSION "14.2.0")
set(CMAKE_C_COMPILER_VERSION_INTERNAL "")
set(CMAKE_C_COMPILER_WRAPPER "")
set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "17")
set(CMAKE_C_EXTENSIONS_COMPUTED_DEFAULT "ON")
set(CMAKE_C_STANDARD_LATEST "23")
set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert;c_std_17;c_std_23")
set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes")
set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros")
set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert")
set(CMAKE_C17_COMPILE_FEATURES "c_std_17")
set(CMAKE_C23_COMPILE_FEATURES "c_std_23")
set(CMAKE_C_PLATFORM_ID "")
set(CMAKE_C_SIMULATE_ID "")
set(CMAKE_C_COMPILER_FRONTEND_VARIANT "GNU")
set(CMAKE_C_COMPILER_APPLE_SYSROOT "")
set(CMAKE_C_SIMULATE_VERSION "")
set(CMAKE_C_COMPILER_ARCHITECTURE_ID "")
set(CMAKE_C_COMPILER_SYSROOT "/Users/rdzleo/.espressif/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/bin/../xtensa-esp-elf/usr")
set(CMAKE_COMPILER_SYSROOT "/Users/rdzleo/.espressif/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/bin/../xtensa-esp-elf/usr")
set(CMAKE_AR "/Users/rdzleo/.espressif/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/bin/xtensa-esp32s3-elf-ar")
set(CMAKE_C_COMPILER_AR "/Users/rdzleo/.espressif/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/bin/xtensa-esp32s3-elf-gcc-ar")
set(CMAKE_RANLIB "/Users/rdzleo/.espressif/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/bin/xtensa-esp32s3-elf-ranlib")
set(CMAKE_C_COMPILER_RANLIB "/Users/rdzleo/.espressif/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/bin/xtensa-esp32s3-elf-gcc-ranlib")
set(CMAKE_LINKER "/Users/rdzleo/.espressif/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/bin/xtensa-esp32s3-elf-ld")
set(CMAKE_LINKER_LINK "")
set(CMAKE_LINKER_LLD "")
set(CMAKE_C_COMPILER_LINKER "NOTFOUND")
set(CMAKE_C_COMPILER_LINKER_ID "")
set(CMAKE_C_COMPILER_LINKER_VERSION )
set(CMAKE_C_COMPILER_LINKER_FRONTEND_VARIANT )
set(CMAKE_MT "")
set(CMAKE_TAPI "CMAKE_TAPI-NOTFOUND")
set(CMAKE_COMPILER_IS_GNUCC 1)
set(CMAKE_C_COMPILER_LOADED 1)
set(CMAKE_C_COMPILER_WORKS TRUE)
set(CMAKE_C_ABI_COMPILED TRUE)
set(CMAKE_C_COMPILER_ENV_VAR "CC")
set(CMAKE_C_COMPILER_ID_RUN 1)
set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m)
set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
set(CMAKE_C_LINKER_PREFERENCE 10)
set(CMAKE_C_LINKER_DEPFILE_SUPPORTED )
set(CMAKE_LINKER_PUSHPOP_STATE_SUPPORTED )
set(CMAKE_C_LINKER_PUSHPOP_STATE_SUPPORTED )
# Save compiler ABI information.
set(CMAKE_C_SIZEOF_DATA_PTR "4")
set(CMAKE_C_COMPILER_ABI "ELF")
set(CMAKE_C_BYTE_ORDER "LITTLE_ENDIAN")
set(CMAKE_C_LIBRARY_ARCHITECTURE "")
if(CMAKE_C_SIZEOF_DATA_PTR)
set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}")
endif()
if(CMAKE_C_COMPILER_ABI)
set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}")
endif()
if(CMAKE_C_LIBRARY_ARCHITECTURE)
set(CMAKE_LIBRARY_ARCHITECTURE "")
endif()
set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "")
if(CMAKE_C_CL_SHOWINCLUDES_PREFIX)
set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}")
endif()
set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/Users/rdzleo/.espressif/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/lib/gcc/xtensa-esp-elf/14.2.0/include;/Users/rdzleo/.espressif/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/lib/gcc/xtensa-esp-elf/14.2.0/include-fixed;/Users/rdzleo/.espressif/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/xtensa-esp-elf/include")
set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "gcc;c;nosys;c;gcc")
set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/Users/rdzleo/.espressif/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/lib/gcc/xtensa-esp-elf/14.2.0/esp32s3;/Users/rdzleo/.espressif/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/xtensa-esp-elf/lib/esp32s3;/Users/rdzleo/.espressif/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/lib/gcc/xtensa-esp-elf/14.2.0;/Users/rdzleo/.espressif/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/lib/gcc;/Users/rdzleo/.espressif/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/xtensa-esp-elf/lib;/Users/rdzleo/.espressif/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/xtensa-esp-elf/usr/lib")
set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")

View File

@ -1,109 +0,0 @@
set(CMAKE_CXX_COMPILER "/Users/rdzleo/.espressif/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/bin/xtensa-esp32s3-elf-g++")
set(CMAKE_CXX_COMPILER_ARG1 "")
set(CMAKE_CXX_COMPILER_ID "GNU")
set(CMAKE_CXX_COMPILER_VERSION "14.2.0")
set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "")
set(CMAKE_CXX_COMPILER_WRAPPER "")
set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "17")
set(CMAKE_CXX_EXTENSIONS_COMPUTED_DEFAULT "ON")
set(CMAKE_CXX_STANDARD_LATEST "26")
set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20;cxx_std_23;cxx_std_26")
set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters")
set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates")
set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates")
set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17")
set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20")
set(CMAKE_CXX23_COMPILE_FEATURES "cxx_std_23")
set(CMAKE_CXX26_COMPILE_FEATURES "cxx_std_26")
set(CMAKE_CXX_PLATFORM_ID "")
set(CMAKE_CXX_SIMULATE_ID "")
set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "GNU")
set(CMAKE_CXX_COMPILER_APPLE_SYSROOT "")
set(CMAKE_CXX_SIMULATE_VERSION "")
set(CMAKE_CXX_COMPILER_ARCHITECTURE_ID "")
set(CMAKE_CXX_COMPILER_SYSROOT "/Users/rdzleo/.espressif/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/bin/../xtensa-esp-elf/usr")
set(CMAKE_COMPILER_SYSROOT "/Users/rdzleo/.espressif/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/bin/../xtensa-esp-elf/usr")
set(CMAKE_AR "/Users/rdzleo/.espressif/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/bin/xtensa-esp32s3-elf-ar")
set(CMAKE_CXX_COMPILER_AR "/Users/rdzleo/.espressif/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/bin/xtensa-esp32s3-elf-gcc-ar")
set(CMAKE_RANLIB "/Users/rdzleo/.espressif/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/bin/xtensa-esp32s3-elf-ranlib")
set(CMAKE_CXX_COMPILER_RANLIB "/Users/rdzleo/.espressif/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/bin/xtensa-esp32s3-elf-gcc-ranlib")
set(CMAKE_LINKER "/Users/rdzleo/.espressif/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/bin/xtensa-esp32s3-elf-ld")
set(CMAKE_LINKER_LINK "")
set(CMAKE_LINKER_LLD "")
set(CMAKE_CXX_COMPILER_LINKER "NOTFOUND")
set(CMAKE_CXX_COMPILER_LINKER_ID "")
set(CMAKE_CXX_COMPILER_LINKER_VERSION )
set(CMAKE_CXX_COMPILER_LINKER_FRONTEND_VARIANT )
set(CMAKE_MT "")
set(CMAKE_TAPI "CMAKE_TAPI-NOTFOUND")
set(CMAKE_COMPILER_IS_GNUCXX 1)
set(CMAKE_CXX_COMPILER_LOADED 1)
set(CMAKE_CXX_COMPILER_WORKS TRUE)
set(CMAKE_CXX_ABI_COMPILED TRUE)
set(CMAKE_CXX_COMPILER_ENV_VAR "CXX")
set(CMAKE_CXX_COMPILER_ID_RUN 1)
set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;mpp;CPP;ixx;cppm;ccm;cxxm;c++m)
set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC)
foreach (lang IN ITEMS C OBJC OBJCXX)
if (CMAKE_${lang}_COMPILER_ID_RUN)
foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS)
list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension})
endforeach()
endif()
endforeach()
set(CMAKE_CXX_LINKER_PREFERENCE 30)
set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1)
set(CMAKE_CXX_LINKER_DEPFILE_SUPPORTED )
set(CMAKE_LINKER_PUSHPOP_STATE_SUPPORTED )
set(CMAKE_CXX_LINKER_PUSHPOP_STATE_SUPPORTED )
# Save compiler ABI information.
set(CMAKE_CXX_SIZEOF_DATA_PTR "4")
set(CMAKE_CXX_COMPILER_ABI "ELF")
set(CMAKE_CXX_BYTE_ORDER "LITTLE_ENDIAN")
set(CMAKE_CXX_LIBRARY_ARCHITECTURE "")
if(CMAKE_CXX_SIZEOF_DATA_PTR)
set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}")
endif()
if(CMAKE_CXX_COMPILER_ABI)
set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}")
endif()
if(CMAKE_CXX_LIBRARY_ARCHITECTURE)
set(CMAKE_LIBRARY_ARCHITECTURE "")
endif()
set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "")
if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX)
set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}")
endif()
set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/Users/rdzleo/.espressif/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/xtensa-esp-elf/include/c++/14.2.0;/Users/rdzleo/.espressif/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/xtensa-esp-elf/include/c++/14.2.0/xtensa-esp-elf/esp32s3;/Users/rdzleo/.espressif/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/xtensa-esp-elf/include/c++/14.2.0/backward;/Users/rdzleo/.espressif/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/lib/gcc/xtensa-esp-elf/14.2.0/include;/Users/rdzleo/.espressif/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/lib/gcc/xtensa-esp-elf/14.2.0/include-fixed;/Users/rdzleo/.espressif/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/xtensa-esp-elf/include")
set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;gcc;c;nosys;c;gcc")
set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/Users/rdzleo/.espressif/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/lib/gcc/xtensa-esp-elf/14.2.0/esp32s3;/Users/rdzleo/.espressif/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/xtensa-esp-elf/lib/esp32s3;/Users/rdzleo/.espressif/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/lib/gcc/xtensa-esp-elf/14.2.0;/Users/rdzleo/.espressif/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/lib/gcc;/Users/rdzleo/.espressif/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/xtensa-esp-elf/lib;/Users/rdzleo/.espressif/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/xtensa-esp-elf/usr/lib")
set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
set(CMAKE_CXX_COMPILER_CLANG_RESOURCE_DIR "")
set(CMAKE_CXX_COMPILER_IMPORT_STD "")
### Imported target for C++23 standard library
set(CMAKE_CXX23_COMPILER_IMPORT_STD_NOT_FOUND_MESSAGE "Experimental `import std` support not enabled when detecting toolchain; it must be set before `CXX` is enabled (usually a `project()` call)")
### Imported target for C++26 standard library
set(CMAKE_CXX26_COMPILER_IMPORT_STD_NOT_FOUND_MESSAGE "Experimental `import std` support not enabled when detecting toolchain; it must be set before `CXX` is enabled (usually a `project()` call)")

View File

@ -1,15 +0,0 @@
set(CMAKE_HOST_SYSTEM "Darwin-24.6.0")
set(CMAKE_HOST_SYSTEM_NAME "Darwin")
set(CMAKE_HOST_SYSTEM_VERSION "24.6.0")
set(CMAKE_HOST_SYSTEM_PROCESSOR "arm64")
include("/Users/rdzleo/esp/esp-idf/v5.4.2/esp-idf/tools/cmake/toolchain-esp32s3.cmake")
set(CMAKE_SYSTEM "Generic")
set(CMAKE_SYSTEM_NAME "Generic")
set(CMAKE_SYSTEM_VERSION "")
set(CMAKE_SYSTEM_PROCESSOR "")
set(CMAKE_CROSSCOMPILING "TRUE")
set(CMAKE_SYSTEM_LOADED 1)

View File

@ -1,934 +0,0 @@
#ifdef __cplusplus
# error "A C++ compiler has been selected for C."
#endif
#if defined(__18CXX)
# define ID_VOID_MAIN
#endif
#if defined(__CLASSIC_C__)
/* cv-qualifiers did not exist in K&R C */
# define const
# define volatile
#endif
#if !defined(__has_include)
/* If the compiler does not have __has_include, pretend the answer is
always no. */
# define __has_include(x) 0
#endif
/* Version number components: V=Version, R=Revision, P=Patch
Version date components: YYYY=Year, MM=Month, DD=Day */
#if defined(__INTEL_COMPILER) || defined(__ICC)
# define COMPILER_ID "Intel"
# if defined(_MSC_VER)
# define SIMULATE_ID "MSVC"
# endif
# if defined(__GNUC__)
# define SIMULATE_ID "GNU"
# endif
/* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later,
except that a few beta releases use the old format with V=2021. */
# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
# if defined(__INTEL_COMPILER_UPDATE)
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
# else
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10)
# endif
# else
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER)
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE)
/* The third version component from --version is an update index,
but no macro is provided for it. */
# define COMPILER_VERSION_PATCH DEC(0)
# endif
# if defined(__INTEL_COMPILER_BUILD_DATE)
/* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
# endif
# if defined(_MSC_VER)
/* _MSC_VER = VVRR */
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
# endif
# if defined(__GNUC__)
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
# elif defined(__GNUG__)
# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
# endif
# if defined(__GNUC_MINOR__)
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
# endif
# if defined(__GNUC_PATCHLEVEL__)
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
# endif
#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER)
# define COMPILER_ID "IntelLLVM"
#if defined(_MSC_VER)
# define SIMULATE_ID "MSVC"
#endif
#if defined(__GNUC__)
# define SIMULATE_ID "GNU"
#endif
/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and
* later. Look for 6 digit vs. 8 digit version number to decide encoding.
* VVVV is no smaller than the current year when a version is released.
*/
#if __INTEL_LLVM_COMPILER < 1000000L
# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100)
# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10)
# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10)
#else
# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000)
# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100)
# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100)
#endif
#if defined(_MSC_VER)
/* _MSC_VER = VVRR */
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
#endif
#if defined(__GNUC__)
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
#elif defined(__GNUG__)
# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
#endif
#if defined(__GNUC_MINOR__)
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
#endif
#if defined(__GNUC_PATCHLEVEL__)
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
#endif
#elif defined(__PATHCC__)
# define COMPILER_ID "PathScale"
# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
# if defined(__PATHCC_PATCHLEVEL__)
# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
# endif
#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
# define COMPILER_ID "Embarcadero"
# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF)
#elif defined(__BORLANDC__)
# define COMPILER_ID "Borland"
/* __BORLANDC__ = 0xVRR */
# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
# define COMPILER_ID "Watcom"
/* __WATCOMC__ = VVRR */
# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
# if (__WATCOMC__ % 10) > 0
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
# endif
#elif defined(__WATCOMC__)
# define COMPILER_ID "OpenWatcom"
/* __WATCOMC__ = VVRP + 1100 */
# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
# if (__WATCOMC__ % 10) > 0
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
# endif
#elif defined(__SUNPRO_C)
# define COMPILER_ID "SunPro"
# if __SUNPRO_C >= 0x5100
/* __SUNPRO_C = 0xVRRP */
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12)
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF)
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF)
# else
/* __SUNPRO_CC = 0xVRP */
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8)
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF)
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF)
# endif
#elif defined(__HP_cc)
# define COMPILER_ID "HP"
/* __HP_cc = VVRRPP */
# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000)
# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100)
# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100)
#elif defined(__DECC)
# define COMPILER_ID "Compaq"
/* __DECC_VER = VVRRTPPPP */
# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000)
# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100)
# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000)
#elif defined(__IBMC__) && defined(__COMPILER_VER__)
# define COMPILER_ID "zOS"
/* __IBMC__ = VRP */
# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
#elif defined(__open_xl__) && defined(__clang__)
# define COMPILER_ID "IBMClang"
# define COMPILER_VERSION_MAJOR DEC(__open_xl_version__)
# define COMPILER_VERSION_MINOR DEC(__open_xl_release__)
# define COMPILER_VERSION_PATCH DEC(__open_xl_modification__)
# define COMPILER_VERSION_TWEAK DEC(__open_xl_ptf_fix_level__)
# define COMPILER_VERSION_INTERNAL_STR __clang_version__
#elif defined(__ibmxl__) && defined(__clang__)
# define COMPILER_ID "XLClang"
# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__)
# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__)
# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__)
# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__)
#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800
# define COMPILER_ID "XL"
/* __IBMC__ = VRP */
# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800
# define COMPILER_ID "VisualAge"
/* __IBMC__ = VRP */
# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
#elif defined(__NVCOMPILER)
# define COMPILER_ID "NVHPC"
# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__)
# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__)
# if defined(__NVCOMPILER_PATCHLEVEL__)
# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__)
# endif
#elif defined(__PGI)
# define COMPILER_ID "PGI"
# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
# if defined(__PGIC_PATCHLEVEL__)
# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
# endif
#elif defined(__clang__) && defined(__cray__)
# define COMPILER_ID "CrayClang"
# define COMPILER_VERSION_MAJOR DEC(__cray_major__)
# define COMPILER_VERSION_MINOR DEC(__cray_minor__)
# define COMPILER_VERSION_PATCH DEC(__cray_patchlevel__)
# define COMPILER_VERSION_INTERNAL_STR __clang_version__
#elif defined(_CRAYC)
# define COMPILER_ID "Cray"
# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
#elif defined(__TI_COMPILER_VERSION__)
# define COMPILER_ID "TI"
/* __TI_COMPILER_VERSION__ = VVVRRRPPP */
# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000)
# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000)
#elif defined(__CLANG_FUJITSU)
# define COMPILER_ID "FujitsuClang"
# define COMPILER_VERSION_MAJOR DEC(__FCC_major__)
# define COMPILER_VERSION_MINOR DEC(__FCC_minor__)
# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__)
# define COMPILER_VERSION_INTERNAL_STR __clang_version__
#elif defined(__FUJITSU)
# define COMPILER_ID "Fujitsu"
# if defined(__FCC_version__)
# define COMPILER_VERSION __FCC_version__
# elif defined(__FCC_major__)
# define COMPILER_VERSION_MAJOR DEC(__FCC_major__)
# define COMPILER_VERSION_MINOR DEC(__FCC_minor__)
# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__)
# endif
# if defined(__fcc_version)
# define COMPILER_VERSION_INTERNAL DEC(__fcc_version)
# elif defined(__FCC_VERSION)
# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION)
# endif
#elif defined(__ghs__)
# define COMPILER_ID "GHS"
/* __GHS_VERSION_NUMBER = VVVVRP */
# ifdef __GHS_VERSION_NUMBER
# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100)
# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10)
# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10)
# endif
#elif defined(__TASKING__)
# define COMPILER_ID "Tasking"
# define COMPILER_VERSION_MAJOR DEC(__VERSION__/1000)
# define COMPILER_VERSION_MINOR DEC(__VERSION__ % 100)
# define COMPILER_VERSION_INTERNAL DEC(__VERSION__)
#elif defined(__ORANGEC__)
# define COMPILER_ID "OrangeC"
# define COMPILER_VERSION_MAJOR DEC(__ORANGEC_MAJOR__)
# define COMPILER_VERSION_MINOR DEC(__ORANGEC_MINOR__)
# define COMPILER_VERSION_PATCH DEC(__ORANGEC_PATCHLEVEL__)
#elif defined(__RENESAS__)
# define COMPILER_ID "Renesas"
/* __RENESAS_VERSION__ = 0xVVRRPP00 */
# define COMPILER_VERSION_MAJOR HEX(__RENESAS_VERSION__ >> 24 & 0xFF)
# define COMPILER_VERSION_MINOR HEX(__RENESAS_VERSION__ >> 16 & 0xFF)
# define COMPILER_VERSION_PATCH HEX(__RENESAS_VERSION__ >> 8 & 0xFF)
#elif defined(__TINYC__)
# define COMPILER_ID "TinyCC"
#elif defined(__BCC__)
# define COMPILER_ID "Bruce"
#elif defined(__SCO_VERSION__)
# define COMPILER_ID "SCO"
#elif defined(__ARMCC_VERSION) && !defined(__clang__)
# define COMPILER_ID "ARMCC"
#if __ARMCC_VERSION >= 1000000
/* __ARMCC_VERSION = VRRPPPP */
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
#else
/* __ARMCC_VERSION = VRPPPP */
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
#endif
#elif defined(__clang__) && defined(__apple_build_version__)
# define COMPILER_ID "AppleClang"
# if defined(_MSC_VER)
# define SIMULATE_ID "MSVC"
# endif
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
# if defined(_MSC_VER)
/* _MSC_VER = VVRR */
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
# endif
# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION)
# define COMPILER_ID "ARMClang"
# define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000)
# define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100)
# define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION/100 % 100)
# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION)
#elif defined(__clang__) && defined(__ti__)
# define COMPILER_ID "TIClang"
# define COMPILER_VERSION_MAJOR DEC(__ti_major__)
# define COMPILER_VERSION_MINOR DEC(__ti_minor__)
# define COMPILER_VERSION_PATCH DEC(__ti_patchlevel__)
# define COMPILER_VERSION_INTERNAL DEC(__ti_version__)
#elif defined(__clang__)
# define COMPILER_ID "Clang"
# if defined(_MSC_VER)
# define SIMULATE_ID "MSVC"
# endif
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
# if defined(_MSC_VER)
/* _MSC_VER = VVRR */
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
# endif
#elif defined(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__))
# define COMPILER_ID "LCC"
# define COMPILER_VERSION_MAJOR DEC(__LCC__ / 100)
# define COMPILER_VERSION_MINOR DEC(__LCC__ % 100)
# if defined(__LCC_MINOR__)
# define COMPILER_VERSION_PATCH DEC(__LCC_MINOR__)
# endif
# if defined(__GNUC__) && defined(__GNUC_MINOR__)
# define SIMULATE_ID "GNU"
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
# if defined(__GNUC_PATCHLEVEL__)
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
# endif
# endif
#elif defined(__GNUC__)
# define COMPILER_ID "GNU"
# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
# if defined(__GNUC_MINOR__)
# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
# endif
# if defined(__GNUC_PATCHLEVEL__)
# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
# endif
#elif defined(_MSC_VER)
# define COMPILER_ID "MSVC"
/* _MSC_VER = VVRR */
# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
# if defined(_MSC_FULL_VER)
# if _MSC_VER >= 1400
/* _MSC_FULL_VER = VVRRPPPPP */
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
# else
/* _MSC_FULL_VER = VVRRPPPP */
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
# endif
# endif
# if defined(_MSC_BUILD)
# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
# endif
#elif defined(_ADI_COMPILER)
# define COMPILER_ID "ADSP"
#if defined(__VERSIONNUM__)
/* __VERSIONNUM__ = 0xVVRRPPTT */
# define COMPILER_VERSION_MAJOR DEC(__VERSIONNUM__ >> 24 & 0xFF)
# define COMPILER_VERSION_MINOR DEC(__VERSIONNUM__ >> 16 & 0xFF)
# define COMPILER_VERSION_PATCH DEC(__VERSIONNUM__ >> 8 & 0xFF)
# define COMPILER_VERSION_TWEAK DEC(__VERSIONNUM__ & 0xFF)
#endif
#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
# define COMPILER_ID "IAR"
# if defined(__VER__) && defined(__ICCARM__)
# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000)
# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000)
# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000)
# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__))
# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100)
# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100))
# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__)
# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
# endif
#elif defined(__DCC__) && defined(_DIAB_TOOL)
# define COMPILER_ID "Diab"
# define COMPILER_VERSION_MAJOR DEC(__VERSION_MAJOR_NUMBER__)
# define COMPILER_VERSION_MINOR DEC(__VERSION_MINOR_NUMBER__)
# define COMPILER_VERSION_PATCH DEC(__VERSION_ARCH_FEATURE_NUMBER__)
# define COMPILER_VERSION_TWEAK DEC(__VERSION_BUG_FIX_NUMBER__)
#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC)
# define COMPILER_ID "SDCC"
# if defined(__SDCC_VERSION_MAJOR)
# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR)
# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR)
# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH)
# else
/* SDCC = VRP */
# define COMPILER_VERSION_MAJOR DEC(SDCC/100)
# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10)
# define COMPILER_VERSION_PATCH DEC(SDCC % 10)
# endif
/* These compilers are either not known or too old to define an
identification macro. Try to identify the platform and guess that
it is the native compiler. */
#elif defined(__hpux) || defined(__hpua)
# define COMPILER_ID "HP"
#else /* unknown compiler */
# define COMPILER_ID ""
#endif
/* Construct the string literal in pieces to prevent the source from
getting matched. Store it in a pointer rather than an array
because some compilers will just produce instructions to fill the
array rather than assigning a pointer to a static array. */
char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
#ifdef SIMULATE_ID
char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
#endif
#ifdef __QNXNTO__
char const* qnxnto = "INFO" ":" "qnxnto[]";
#endif
#if defined(__CRAYXT_COMPUTE_LINUX_TARGET)
char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
#endif
#define STRINGIFY_HELPER(X) #X
#define STRINGIFY(X) STRINGIFY_HELPER(X)
/* Identify known platforms by name. */
#if defined(__linux) || defined(__linux__) || defined(linux)
# define PLATFORM_ID "Linux"
#elif defined(__MSYS__)
# define PLATFORM_ID "MSYS"
#elif defined(__CYGWIN__)
# define PLATFORM_ID "Cygwin"
#elif defined(__MINGW32__)
# define PLATFORM_ID "MinGW"
#elif defined(__APPLE__)
# define PLATFORM_ID "Darwin"
#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
# define PLATFORM_ID "Windows"
#elif defined(__FreeBSD__) || defined(__FreeBSD)
# define PLATFORM_ID "FreeBSD"
#elif defined(__NetBSD__) || defined(__NetBSD)
# define PLATFORM_ID "NetBSD"
#elif defined(__OpenBSD__) || defined(__OPENBSD)
# define PLATFORM_ID "OpenBSD"
#elif defined(__sun) || defined(sun)
# define PLATFORM_ID "SunOS"
#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
# define PLATFORM_ID "AIX"
#elif defined(__hpux) || defined(__hpux__)
# define PLATFORM_ID "HP-UX"
#elif defined(__HAIKU__)
# define PLATFORM_ID "Haiku"
#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
# define PLATFORM_ID "BeOS"
#elif defined(__QNX__) || defined(__QNXNTO__)
# define PLATFORM_ID "QNX"
#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
# define PLATFORM_ID "Tru64"
#elif defined(__riscos) || defined(__riscos__)
# define PLATFORM_ID "RISCos"
#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
# define PLATFORM_ID "SINIX"
#elif defined(__UNIX_SV__)
# define PLATFORM_ID "UNIX_SV"
#elif defined(__bsdos__)
# define PLATFORM_ID "BSDOS"
#elif defined(_MPRAS) || defined(MPRAS)
# define PLATFORM_ID "MP-RAS"
#elif defined(__osf) || defined(__osf__)
# define PLATFORM_ID "OSF1"
#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
# define PLATFORM_ID "SCO_SV"
#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
# define PLATFORM_ID "ULTRIX"
#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
# define PLATFORM_ID "Xenix"
#elif defined(__WATCOMC__)
# if defined(__LINUX__)
# define PLATFORM_ID "Linux"
# elif defined(__DOS__)
# define PLATFORM_ID "DOS"
# elif defined(__OS2__)
# define PLATFORM_ID "OS2"
# elif defined(__WINDOWS__)
# define PLATFORM_ID "Windows3x"
# elif defined(__VXWORKS__)
# define PLATFORM_ID "VxWorks"
# else /* unknown platform */
# define PLATFORM_ID
# endif
#elif defined(__INTEGRITY)
# if defined(INT_178B)
# define PLATFORM_ID "Integrity178"
# else /* regular Integrity */
# define PLATFORM_ID "Integrity"
# endif
# elif defined(_ADI_COMPILER)
# define PLATFORM_ID "ADSP"
#else /* unknown platform */
# define PLATFORM_ID
#endif
/* For windows compilers MSVC and Intel we can determine
the architecture of the compiler being used. This is because
the compilers do not have flags that can change the architecture,
but rather depend on which compiler is being used
*/
#if defined(_WIN32) && defined(_MSC_VER)
# if defined(_M_IA64)
# define ARCHITECTURE_ID "IA64"
# elif defined(_M_ARM64EC)
# define ARCHITECTURE_ID "ARM64EC"
# elif defined(_M_X64) || defined(_M_AMD64)
# define ARCHITECTURE_ID "x64"
# elif defined(_M_IX86)
# define ARCHITECTURE_ID "X86"
# elif defined(_M_ARM64)
# define ARCHITECTURE_ID "ARM64"
# elif defined(_M_ARM)
# if _M_ARM == 4
# define ARCHITECTURE_ID "ARMV4I"
# elif _M_ARM == 5
# define ARCHITECTURE_ID "ARMV5I"
# else
# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
# endif
# elif defined(_M_MIPS)
# define ARCHITECTURE_ID "MIPS"
# elif defined(_M_SH)
# define ARCHITECTURE_ID "SHx"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#elif defined(__WATCOMC__)
# if defined(_M_I86)
# define ARCHITECTURE_ID "I86"
# elif defined(_M_IX86)
# define ARCHITECTURE_ID "X86"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
# if defined(__ICCARM__)
# define ARCHITECTURE_ID "ARM"
# elif defined(__ICCRX__)
# define ARCHITECTURE_ID "RX"
# elif defined(__ICCRH850__)
# define ARCHITECTURE_ID "RH850"
# elif defined(__ICCRL78__)
# define ARCHITECTURE_ID "RL78"
# elif defined(__ICCRISCV__)
# define ARCHITECTURE_ID "RISCV"
# elif defined(__ICCAVR__)
# define ARCHITECTURE_ID "AVR"
# elif defined(__ICC430__)
# define ARCHITECTURE_ID "MSP430"
# elif defined(__ICCV850__)
# define ARCHITECTURE_ID "V850"
# elif defined(__ICC8051__)
# define ARCHITECTURE_ID "8051"
# elif defined(__ICCSTM8__)
# define ARCHITECTURE_ID "STM8"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#elif defined(__ghs__)
# if defined(__PPC64__)
# define ARCHITECTURE_ID "PPC64"
# elif defined(__ppc__)
# define ARCHITECTURE_ID "PPC"
# elif defined(__ARM__)
# define ARCHITECTURE_ID "ARM"
# elif defined(__x86_64__)
# define ARCHITECTURE_ID "x64"
# elif defined(__i386__)
# define ARCHITECTURE_ID "X86"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#elif defined(__clang__) && defined(__ti__)
# if defined(__ARM_ARCH)
# define ARCHITECTURE_ID "ARM"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#elif defined(__TI_COMPILER_VERSION__)
# if defined(__TI_ARM__)
# define ARCHITECTURE_ID "ARM"
# elif defined(__MSP430__)
# define ARCHITECTURE_ID "MSP430"
# elif defined(__TMS320C28XX__)
# define ARCHITECTURE_ID "TMS320C28x"
# elif defined(__TMS320C6X__) || defined(_TMS320C6X)
# define ARCHITECTURE_ID "TMS320C6x"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
# elif defined(__ADSPSHARC__)
# define ARCHITECTURE_ID "SHARC"
# elif defined(__ADSPBLACKFIN__)
# define ARCHITECTURE_ID "Blackfin"
#elif defined(__TASKING__)
# if defined(__CTC__) || defined(__CPTC__)
# define ARCHITECTURE_ID "TriCore"
# elif defined(__CMCS__)
# define ARCHITECTURE_ID "MCS"
# elif defined(__CARM__) || defined(__CPARM__)
# define ARCHITECTURE_ID "ARM"
# elif defined(__CARC__)
# define ARCHITECTURE_ID "ARC"
# elif defined(__C51__)
# define ARCHITECTURE_ID "8051"
# elif defined(__CPCP__)
# define ARCHITECTURE_ID "PCP"
# else
# define ARCHITECTURE_ID ""
# endif
#elif defined(__RENESAS__)
# if defined(__CCRX__)
# define ARCHITECTURE_ID "RX"
# elif defined(__CCRL__)
# define ARCHITECTURE_ID "RL78"
# elif defined(__CCRH__)
# define ARCHITECTURE_ID "RH850"
# else
# define ARCHITECTURE_ID ""
# endif
#else
# define ARCHITECTURE_ID
#endif
/* Convert integer to decimal digit literals. */
#define DEC(n) \
('0' + (((n) / 10000000)%10)), \
('0' + (((n) / 1000000)%10)), \
('0' + (((n) / 100000)%10)), \
('0' + (((n) / 10000)%10)), \
('0' + (((n) / 1000)%10)), \
('0' + (((n) / 100)%10)), \
('0' + (((n) / 10)%10)), \
('0' + ((n) % 10))
/* Convert integer to hex digit literals. */
#define HEX(n) \
('0' + ((n)>>28 & 0xF)), \
('0' + ((n)>>24 & 0xF)), \
('0' + ((n)>>20 & 0xF)), \
('0' + ((n)>>16 & 0xF)), \
('0' + ((n)>>12 & 0xF)), \
('0' + ((n)>>8 & 0xF)), \
('0' + ((n)>>4 & 0xF)), \
('0' + ((n) & 0xF))
/* Construct a string literal encoding the version number. */
#ifdef COMPILER_VERSION
char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]";
/* Construct a string literal encoding the version number components. */
#elif defined(COMPILER_VERSION_MAJOR)
char const info_version[] = {
'I', 'N', 'F', 'O', ':',
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
COMPILER_VERSION_MAJOR,
# ifdef COMPILER_VERSION_MINOR
'.', COMPILER_VERSION_MINOR,
# ifdef COMPILER_VERSION_PATCH
'.', COMPILER_VERSION_PATCH,
# ifdef COMPILER_VERSION_TWEAK
'.', COMPILER_VERSION_TWEAK,
# endif
# endif
# endif
']','\0'};
#endif
/* Construct a string literal encoding the internal version number. */
#ifdef COMPILER_VERSION_INTERNAL
char const info_version_internal[] = {
'I', 'N', 'F', 'O', ':',
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_',
'i','n','t','e','r','n','a','l','[',
COMPILER_VERSION_INTERNAL,']','\0'};
#elif defined(COMPILER_VERSION_INTERNAL_STR)
char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]";
#endif
/* Construct a string literal encoding the version number components. */
#ifdef SIMULATE_VERSION_MAJOR
char const info_simulate_version[] = {
'I', 'N', 'F', 'O', ':',
's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
SIMULATE_VERSION_MAJOR,
# ifdef SIMULATE_VERSION_MINOR
'.', SIMULATE_VERSION_MINOR,
# ifdef SIMULATE_VERSION_PATCH
'.', SIMULATE_VERSION_PATCH,
# ifdef SIMULATE_VERSION_TWEAK
'.', SIMULATE_VERSION_TWEAK,
# endif
# endif
# endif
']','\0'};
#endif
/* Construct the string literal in pieces to prevent the source from
getting matched. Store it in a pointer rather than an array
because some compilers will just produce instructions to fill the
array rather than assigning a pointer to a static array. */
char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
#define C_STD_99 199901L
#define C_STD_11 201112L
#define C_STD_17 201710L
#define C_STD_23 202311L
#ifdef __STDC_VERSION__
# define C_STD __STDC_VERSION__
#endif
#if !defined(__STDC__) && !defined(__clang__) && !defined(__RENESAS__)
# if defined(_MSC_VER) || defined(__ibmxl__) || defined(__IBMC__)
# define C_VERSION "90"
# else
# define C_VERSION
# endif
#elif C_STD > C_STD_17
# define C_VERSION "23"
#elif C_STD > C_STD_11
# define C_VERSION "17"
#elif C_STD > C_STD_99
# define C_VERSION "11"
#elif C_STD >= C_STD_99
# define C_VERSION "99"
#else
# define C_VERSION "90"
#endif
const char* info_language_standard_default =
"INFO" ":" "standard_default[" C_VERSION "]";
const char* info_language_extensions_default = "INFO" ":" "extensions_default["
#if (defined(__clang__) || defined(__GNUC__) || defined(__xlC__) || \
defined(__TI_COMPILER_VERSION__) || defined(__RENESAS__)) && \
!defined(__STRICT_ANSI__)
"ON"
#else
"OFF"
#endif
"]";
/*--------------------------------------------------------------------------*/
#ifdef ID_VOID_MAIN
void main() {}
#else
# if defined(__CLASSIC_C__)
int main(argc, argv) int argc; char *argv[];
# else
int main(int argc, char* argv[])
# endif
{
int require = 0;
require += info_compiler[argc];
require += info_platform[argc];
require += info_arch[argc];
#ifdef COMPILER_VERSION_MAJOR
require += info_version[argc];
#endif
#if defined(COMPILER_VERSION_INTERNAL) || defined(COMPILER_VERSION_INTERNAL_STR)
require += info_version_internal[argc];
#endif
#ifdef SIMULATE_ID
require += info_simulate[argc];
#endif
#ifdef SIMULATE_VERSION_MAJOR
require += info_simulate_version[argc];
#endif
#if defined(__CRAYXT_COMPUTE_LINUX_TARGET)
require += info_cray[argc];
#endif
require += info_language_standard_default[argc];
require += info_language_extensions_default[argc];
(void)argv;
return require;
}
#endif

View File

@ -1,949 +0,0 @@
/* This source file must have a .cpp extension so that all C++ compilers
recognize the extension without flags. Borland does not know .cxx for
example. */
#ifndef __cplusplus
# error "A C compiler has been selected for C++."
#endif
#if !defined(__has_include)
/* If the compiler does not have __has_include, pretend the answer is
always no. */
# define __has_include(x) 0
#endif
/* Version number components: V=Version, R=Revision, P=Patch
Version date components: YYYY=Year, MM=Month, DD=Day */
#if defined(__INTEL_COMPILER) || defined(__ICC)
# define COMPILER_ID "Intel"
# if defined(_MSC_VER)
# define SIMULATE_ID "MSVC"
# endif
# if defined(__GNUC__)
# define SIMULATE_ID "GNU"
# endif
/* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later,
except that a few beta releases use the old format with V=2021. */
# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
# if defined(__INTEL_COMPILER_UPDATE)
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
# else
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10)
# endif
# else
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER)
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE)
/* The third version component from --version is an update index,
but no macro is provided for it. */
# define COMPILER_VERSION_PATCH DEC(0)
# endif
# if defined(__INTEL_COMPILER_BUILD_DATE)
/* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
# endif
# if defined(_MSC_VER)
/* _MSC_VER = VVRR */
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
# endif
# if defined(__GNUC__)
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
# elif defined(__GNUG__)
# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
# endif
# if defined(__GNUC_MINOR__)
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
# endif
# if defined(__GNUC_PATCHLEVEL__)
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
# endif
#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER)
# define COMPILER_ID "IntelLLVM"
#if defined(_MSC_VER)
# define SIMULATE_ID "MSVC"
#endif
#if defined(__GNUC__)
# define SIMULATE_ID "GNU"
#endif
/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and
* later. Look for 6 digit vs. 8 digit version number to decide encoding.
* VVVV is no smaller than the current year when a version is released.
*/
#if __INTEL_LLVM_COMPILER < 1000000L
# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100)
# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10)
# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10)
#else
# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000)
# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100)
# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100)
#endif
#if defined(_MSC_VER)
/* _MSC_VER = VVRR */
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
#endif
#if defined(__GNUC__)
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
#elif defined(__GNUG__)
# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
#endif
#if defined(__GNUC_MINOR__)
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
#endif
#if defined(__GNUC_PATCHLEVEL__)
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
#endif
#elif defined(__PATHCC__)
# define COMPILER_ID "PathScale"
# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
# if defined(__PATHCC_PATCHLEVEL__)
# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
# endif
#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
# define COMPILER_ID "Embarcadero"
# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF)
#elif defined(__BORLANDC__)
# define COMPILER_ID "Borland"
/* __BORLANDC__ = 0xVRR */
# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
# define COMPILER_ID "Watcom"
/* __WATCOMC__ = VVRR */
# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
# if (__WATCOMC__ % 10) > 0
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
# endif
#elif defined(__WATCOMC__)
# define COMPILER_ID "OpenWatcom"
/* __WATCOMC__ = VVRP + 1100 */
# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
# if (__WATCOMC__ % 10) > 0
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
# endif
#elif defined(__SUNPRO_CC)
# define COMPILER_ID "SunPro"
# if __SUNPRO_CC >= 0x5100
/* __SUNPRO_CC = 0xVRRP */
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12)
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF)
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
# else
/* __SUNPRO_CC = 0xVRP */
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8)
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF)
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
# endif
#elif defined(__HP_aCC)
# define COMPILER_ID "HP"
/* __HP_aCC = VVRRPP */
# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000)
# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100)
# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100)
#elif defined(__DECCXX)
# define COMPILER_ID "Compaq"
/* __DECCXX_VER = VVRRTPPPP */
# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000)
# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100)
# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000)
#elif defined(__IBMCPP__) && defined(__COMPILER_VER__)
# define COMPILER_ID "zOS"
/* __IBMCPP__ = VRP */
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
#elif defined(__open_xl__) && defined(__clang__)
# define COMPILER_ID "IBMClang"
# define COMPILER_VERSION_MAJOR DEC(__open_xl_version__)
# define COMPILER_VERSION_MINOR DEC(__open_xl_release__)
# define COMPILER_VERSION_PATCH DEC(__open_xl_modification__)
# define COMPILER_VERSION_TWEAK DEC(__open_xl_ptf_fix_level__)
# define COMPILER_VERSION_INTERNAL_STR __clang_version__
#elif defined(__ibmxl__) && defined(__clang__)
# define COMPILER_ID "XLClang"
# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__)
# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__)
# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__)
# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__)
#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800
# define COMPILER_ID "XL"
/* __IBMCPP__ = VRP */
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800
# define COMPILER_ID "VisualAge"
/* __IBMCPP__ = VRP */
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
#elif defined(__NVCOMPILER)
# define COMPILER_ID "NVHPC"
# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__)
# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__)
# if defined(__NVCOMPILER_PATCHLEVEL__)
# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__)
# endif
#elif defined(__PGI)
# define COMPILER_ID "PGI"
# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
# if defined(__PGIC_PATCHLEVEL__)
# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
# endif
#elif defined(__clang__) && defined(__cray__)
# define COMPILER_ID "CrayClang"
# define COMPILER_VERSION_MAJOR DEC(__cray_major__)
# define COMPILER_VERSION_MINOR DEC(__cray_minor__)
# define COMPILER_VERSION_PATCH DEC(__cray_patchlevel__)
# define COMPILER_VERSION_INTERNAL_STR __clang_version__
#elif defined(_CRAYC)
# define COMPILER_ID "Cray"
# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
#elif defined(__TI_COMPILER_VERSION__)
# define COMPILER_ID "TI"
/* __TI_COMPILER_VERSION__ = VVVRRRPPP */
# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000)
# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000)
#elif defined(__CLANG_FUJITSU)
# define COMPILER_ID "FujitsuClang"
# define COMPILER_VERSION_MAJOR DEC(__FCC_major__)
# define COMPILER_VERSION_MINOR DEC(__FCC_minor__)
# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__)
# define COMPILER_VERSION_INTERNAL_STR __clang_version__
#elif defined(__FUJITSU)
# define COMPILER_ID "Fujitsu"
# if defined(__FCC_version__)
# define COMPILER_VERSION __FCC_version__
# elif defined(__FCC_major__)
# define COMPILER_VERSION_MAJOR DEC(__FCC_major__)
# define COMPILER_VERSION_MINOR DEC(__FCC_minor__)
# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__)
# endif
# if defined(__fcc_version)
# define COMPILER_VERSION_INTERNAL DEC(__fcc_version)
# elif defined(__FCC_VERSION)
# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION)
# endif
#elif defined(__ghs__)
# define COMPILER_ID "GHS"
/* __GHS_VERSION_NUMBER = VVVVRP */
# ifdef __GHS_VERSION_NUMBER
# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100)
# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10)
# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10)
# endif
#elif defined(__TASKING__)
# define COMPILER_ID "Tasking"
# define COMPILER_VERSION_MAJOR DEC(__VERSION__/1000)
# define COMPILER_VERSION_MINOR DEC(__VERSION__ % 100)
# define COMPILER_VERSION_INTERNAL DEC(__VERSION__)
#elif defined(__ORANGEC__)
# define COMPILER_ID "OrangeC"
# define COMPILER_VERSION_MAJOR DEC(__ORANGEC_MAJOR__)
# define COMPILER_VERSION_MINOR DEC(__ORANGEC_MINOR__)
# define COMPILER_VERSION_PATCH DEC(__ORANGEC_PATCHLEVEL__)
#elif defined(__RENESAS__)
# define COMPILER_ID "Renesas"
/* __RENESAS_VERSION__ = 0xVVRRPP00 */
# define COMPILER_VERSION_MAJOR HEX(__RENESAS_VERSION__ >> 24 & 0xFF)
# define COMPILER_VERSION_MINOR HEX(__RENESAS_VERSION__ >> 16 & 0xFF)
# define COMPILER_VERSION_PATCH HEX(__RENESAS_VERSION__ >> 8 & 0xFF)
#elif defined(__SCO_VERSION__)
# define COMPILER_ID "SCO"
#elif defined(__ARMCC_VERSION) && !defined(__clang__)
# define COMPILER_ID "ARMCC"
#if __ARMCC_VERSION >= 1000000
/* __ARMCC_VERSION = VRRPPPP */
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
#else
/* __ARMCC_VERSION = VRPPPP */
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
#endif
#elif defined(__clang__) && defined(__apple_build_version__)
# define COMPILER_ID "AppleClang"
# if defined(_MSC_VER)
# define SIMULATE_ID "MSVC"
# endif
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
# if defined(_MSC_VER)
/* _MSC_VER = VVRR */
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
# endif
# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION)
# define COMPILER_ID "ARMClang"
# define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000)
# define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100)
# define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION/100 % 100)
# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION)
#elif defined(__clang__) && defined(__ti__)
# define COMPILER_ID "TIClang"
# define COMPILER_VERSION_MAJOR DEC(__ti_major__)
# define COMPILER_VERSION_MINOR DEC(__ti_minor__)
# define COMPILER_VERSION_PATCH DEC(__ti_patchlevel__)
# define COMPILER_VERSION_INTERNAL DEC(__ti_version__)
#elif defined(__clang__)
# define COMPILER_ID "Clang"
# if defined(_MSC_VER)
# define SIMULATE_ID "MSVC"
# endif
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
# if defined(_MSC_VER)
/* _MSC_VER = VVRR */
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
# endif
#elif defined(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__))
# define COMPILER_ID "LCC"
# define COMPILER_VERSION_MAJOR DEC(__LCC__ / 100)
# define COMPILER_VERSION_MINOR DEC(__LCC__ % 100)
# if defined(__LCC_MINOR__)
# define COMPILER_VERSION_PATCH DEC(__LCC_MINOR__)
# endif
# if defined(__GNUC__) && defined(__GNUC_MINOR__)
# define SIMULATE_ID "GNU"
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
# if defined(__GNUC_PATCHLEVEL__)
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
# endif
# endif
#elif defined(__GNUC__) || defined(__GNUG__)
# define COMPILER_ID "GNU"
# if defined(__GNUC__)
# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
# else
# define COMPILER_VERSION_MAJOR DEC(__GNUG__)
# endif
# if defined(__GNUC_MINOR__)
# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
# endif
# if defined(__GNUC_PATCHLEVEL__)
# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
# endif
#elif defined(_MSC_VER)
# define COMPILER_ID "MSVC"
/* _MSC_VER = VVRR */
# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
# if defined(_MSC_FULL_VER)
# if _MSC_VER >= 1400
/* _MSC_FULL_VER = VVRRPPPPP */
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
# else
/* _MSC_FULL_VER = VVRRPPPP */
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
# endif
# endif
# if defined(_MSC_BUILD)
# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
# endif
#elif defined(_ADI_COMPILER)
# define COMPILER_ID "ADSP"
#if defined(__VERSIONNUM__)
/* __VERSIONNUM__ = 0xVVRRPPTT */
# define COMPILER_VERSION_MAJOR DEC(__VERSIONNUM__ >> 24 & 0xFF)
# define COMPILER_VERSION_MINOR DEC(__VERSIONNUM__ >> 16 & 0xFF)
# define COMPILER_VERSION_PATCH DEC(__VERSIONNUM__ >> 8 & 0xFF)
# define COMPILER_VERSION_TWEAK DEC(__VERSIONNUM__ & 0xFF)
#endif
#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
# define COMPILER_ID "IAR"
# if defined(__VER__) && defined(__ICCARM__)
# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000)
# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000)
# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000)
# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__))
# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100)
# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100))
# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__)
# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
# endif
#elif defined(__DCC__) && defined(_DIAB_TOOL)
# define COMPILER_ID "Diab"
# define COMPILER_VERSION_MAJOR DEC(__VERSION_MAJOR_NUMBER__)
# define COMPILER_VERSION_MINOR DEC(__VERSION_MINOR_NUMBER__)
# define COMPILER_VERSION_PATCH DEC(__VERSION_ARCH_FEATURE_NUMBER__)
# define COMPILER_VERSION_TWEAK DEC(__VERSION_BUG_FIX_NUMBER__)
/* These compilers are either not known or too old to define an
identification macro. Try to identify the platform and guess that
it is the native compiler. */
#elif defined(__hpux) || defined(__hpua)
# define COMPILER_ID "HP"
#else /* unknown compiler */
# define COMPILER_ID ""
#endif
/* Construct the string literal in pieces to prevent the source from
getting matched. Store it in a pointer rather than an array
because some compilers will just produce instructions to fill the
array rather than assigning a pointer to a static array. */
char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
#ifdef SIMULATE_ID
char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
#endif
#ifdef __QNXNTO__
char const* qnxnto = "INFO" ":" "qnxnto[]";
#endif
#if defined(__CRAYXT_COMPUTE_LINUX_TARGET)
char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
#endif
#define STRINGIFY_HELPER(X) #X
#define STRINGIFY(X) STRINGIFY_HELPER(X)
/* Identify known platforms by name. */
#if defined(__linux) || defined(__linux__) || defined(linux)
# define PLATFORM_ID "Linux"
#elif defined(__MSYS__)
# define PLATFORM_ID "MSYS"
#elif defined(__CYGWIN__)
# define PLATFORM_ID "Cygwin"
#elif defined(__MINGW32__)
# define PLATFORM_ID "MinGW"
#elif defined(__APPLE__)
# define PLATFORM_ID "Darwin"
#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
# define PLATFORM_ID "Windows"
#elif defined(__FreeBSD__) || defined(__FreeBSD)
# define PLATFORM_ID "FreeBSD"
#elif defined(__NetBSD__) || defined(__NetBSD)
# define PLATFORM_ID "NetBSD"
#elif defined(__OpenBSD__) || defined(__OPENBSD)
# define PLATFORM_ID "OpenBSD"
#elif defined(__sun) || defined(sun)
# define PLATFORM_ID "SunOS"
#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
# define PLATFORM_ID "AIX"
#elif defined(__hpux) || defined(__hpux__)
# define PLATFORM_ID "HP-UX"
#elif defined(__HAIKU__)
# define PLATFORM_ID "Haiku"
#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
# define PLATFORM_ID "BeOS"
#elif defined(__QNX__) || defined(__QNXNTO__)
# define PLATFORM_ID "QNX"
#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
# define PLATFORM_ID "Tru64"
#elif defined(__riscos) || defined(__riscos__)
# define PLATFORM_ID "RISCos"
#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
# define PLATFORM_ID "SINIX"
#elif defined(__UNIX_SV__)
# define PLATFORM_ID "UNIX_SV"
#elif defined(__bsdos__)
# define PLATFORM_ID "BSDOS"
#elif defined(_MPRAS) || defined(MPRAS)
# define PLATFORM_ID "MP-RAS"
#elif defined(__osf) || defined(__osf__)
# define PLATFORM_ID "OSF1"
#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
# define PLATFORM_ID "SCO_SV"
#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
# define PLATFORM_ID "ULTRIX"
#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
# define PLATFORM_ID "Xenix"
#elif defined(__WATCOMC__)
# if defined(__LINUX__)
# define PLATFORM_ID "Linux"
# elif defined(__DOS__)
# define PLATFORM_ID "DOS"
# elif defined(__OS2__)
# define PLATFORM_ID "OS2"
# elif defined(__WINDOWS__)
# define PLATFORM_ID "Windows3x"
# elif defined(__VXWORKS__)
# define PLATFORM_ID "VxWorks"
# else /* unknown platform */
# define PLATFORM_ID
# endif
#elif defined(__INTEGRITY)
# if defined(INT_178B)
# define PLATFORM_ID "Integrity178"
# else /* regular Integrity */
# define PLATFORM_ID "Integrity"
# endif
# elif defined(_ADI_COMPILER)
# define PLATFORM_ID "ADSP"
#else /* unknown platform */
# define PLATFORM_ID
#endif
/* For windows compilers MSVC and Intel we can determine
the architecture of the compiler being used. This is because
the compilers do not have flags that can change the architecture,
but rather depend on which compiler is being used
*/
#if defined(_WIN32) && defined(_MSC_VER)
# if defined(_M_IA64)
# define ARCHITECTURE_ID "IA64"
# elif defined(_M_ARM64EC)
# define ARCHITECTURE_ID "ARM64EC"
# elif defined(_M_X64) || defined(_M_AMD64)
# define ARCHITECTURE_ID "x64"
# elif defined(_M_IX86)
# define ARCHITECTURE_ID "X86"
# elif defined(_M_ARM64)
# define ARCHITECTURE_ID "ARM64"
# elif defined(_M_ARM)
# if _M_ARM == 4
# define ARCHITECTURE_ID "ARMV4I"
# elif _M_ARM == 5
# define ARCHITECTURE_ID "ARMV5I"
# else
# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
# endif
# elif defined(_M_MIPS)
# define ARCHITECTURE_ID "MIPS"
# elif defined(_M_SH)
# define ARCHITECTURE_ID "SHx"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#elif defined(__WATCOMC__)
# if defined(_M_I86)
# define ARCHITECTURE_ID "I86"
# elif defined(_M_IX86)
# define ARCHITECTURE_ID "X86"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
# if defined(__ICCARM__)
# define ARCHITECTURE_ID "ARM"
# elif defined(__ICCRX__)
# define ARCHITECTURE_ID "RX"
# elif defined(__ICCRH850__)
# define ARCHITECTURE_ID "RH850"
# elif defined(__ICCRL78__)
# define ARCHITECTURE_ID "RL78"
# elif defined(__ICCRISCV__)
# define ARCHITECTURE_ID "RISCV"
# elif defined(__ICCAVR__)
# define ARCHITECTURE_ID "AVR"
# elif defined(__ICC430__)
# define ARCHITECTURE_ID "MSP430"
# elif defined(__ICCV850__)
# define ARCHITECTURE_ID "V850"
# elif defined(__ICC8051__)
# define ARCHITECTURE_ID "8051"
# elif defined(__ICCSTM8__)
# define ARCHITECTURE_ID "STM8"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#elif defined(__ghs__)
# if defined(__PPC64__)
# define ARCHITECTURE_ID "PPC64"
# elif defined(__ppc__)
# define ARCHITECTURE_ID "PPC"
# elif defined(__ARM__)
# define ARCHITECTURE_ID "ARM"
# elif defined(__x86_64__)
# define ARCHITECTURE_ID "x64"
# elif defined(__i386__)
# define ARCHITECTURE_ID "X86"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#elif defined(__clang__) && defined(__ti__)
# if defined(__ARM_ARCH)
# define ARCHITECTURE_ID "ARM"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#elif defined(__TI_COMPILER_VERSION__)
# if defined(__TI_ARM__)
# define ARCHITECTURE_ID "ARM"
# elif defined(__MSP430__)
# define ARCHITECTURE_ID "MSP430"
# elif defined(__TMS320C28XX__)
# define ARCHITECTURE_ID "TMS320C28x"
# elif defined(__TMS320C6X__) || defined(_TMS320C6X)
# define ARCHITECTURE_ID "TMS320C6x"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
# elif defined(__ADSPSHARC__)
# define ARCHITECTURE_ID "SHARC"
# elif defined(__ADSPBLACKFIN__)
# define ARCHITECTURE_ID "Blackfin"
#elif defined(__TASKING__)
# if defined(__CTC__) || defined(__CPTC__)
# define ARCHITECTURE_ID "TriCore"
# elif defined(__CMCS__)
# define ARCHITECTURE_ID "MCS"
# elif defined(__CARM__) || defined(__CPARM__)
# define ARCHITECTURE_ID "ARM"
# elif defined(__CARC__)
# define ARCHITECTURE_ID "ARC"
# elif defined(__C51__)
# define ARCHITECTURE_ID "8051"
# elif defined(__CPCP__)
# define ARCHITECTURE_ID "PCP"
# else
# define ARCHITECTURE_ID ""
# endif
#elif defined(__RENESAS__)
# if defined(__CCRX__)
# define ARCHITECTURE_ID "RX"
# elif defined(__CCRL__)
# define ARCHITECTURE_ID "RL78"
# elif defined(__CCRH__)
# define ARCHITECTURE_ID "RH850"
# else
# define ARCHITECTURE_ID ""
# endif
#else
# define ARCHITECTURE_ID
#endif
/* Convert integer to decimal digit literals. */
#define DEC(n) \
('0' + (((n) / 10000000)%10)), \
('0' + (((n) / 1000000)%10)), \
('0' + (((n) / 100000)%10)), \
('0' + (((n) / 10000)%10)), \
('0' + (((n) / 1000)%10)), \
('0' + (((n) / 100)%10)), \
('0' + (((n) / 10)%10)), \
('0' + ((n) % 10))
/* Convert integer to hex digit literals. */
#define HEX(n) \
('0' + ((n)>>28 & 0xF)), \
('0' + ((n)>>24 & 0xF)), \
('0' + ((n)>>20 & 0xF)), \
('0' + ((n)>>16 & 0xF)), \
('0' + ((n)>>12 & 0xF)), \
('0' + ((n)>>8 & 0xF)), \
('0' + ((n)>>4 & 0xF)), \
('0' + ((n) & 0xF))
/* Construct a string literal encoding the version number. */
#ifdef COMPILER_VERSION
char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]";
/* Construct a string literal encoding the version number components. */
#elif defined(COMPILER_VERSION_MAJOR)
char const info_version[] = {
'I', 'N', 'F', 'O', ':',
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
COMPILER_VERSION_MAJOR,
# ifdef COMPILER_VERSION_MINOR
'.', COMPILER_VERSION_MINOR,
# ifdef COMPILER_VERSION_PATCH
'.', COMPILER_VERSION_PATCH,
# ifdef COMPILER_VERSION_TWEAK
'.', COMPILER_VERSION_TWEAK,
# endif
# endif
# endif
']','\0'};
#endif
/* Construct a string literal encoding the internal version number. */
#ifdef COMPILER_VERSION_INTERNAL
char const info_version_internal[] = {
'I', 'N', 'F', 'O', ':',
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_',
'i','n','t','e','r','n','a','l','[',
COMPILER_VERSION_INTERNAL,']','\0'};
#elif defined(COMPILER_VERSION_INTERNAL_STR)
char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]";
#endif
/* Construct a string literal encoding the version number components. */
#ifdef SIMULATE_VERSION_MAJOR
char const info_simulate_version[] = {
'I', 'N', 'F', 'O', ':',
's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
SIMULATE_VERSION_MAJOR,
# ifdef SIMULATE_VERSION_MINOR
'.', SIMULATE_VERSION_MINOR,
# ifdef SIMULATE_VERSION_PATCH
'.', SIMULATE_VERSION_PATCH,
# ifdef SIMULATE_VERSION_TWEAK
'.', SIMULATE_VERSION_TWEAK,
# endif
# endif
# endif
']','\0'};
#endif
/* Construct the string literal in pieces to prevent the source from
getting matched. Store it in a pointer rather than an array
because some compilers will just produce instructions to fill the
array rather than assigning a pointer to a static array. */
char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
#define CXX_STD_98 199711L
#define CXX_STD_11 201103L
#define CXX_STD_14 201402L
#define CXX_STD_17 201703L
#define CXX_STD_20 202002L
#define CXX_STD_23 202302L
#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG)
# if _MSVC_LANG > CXX_STD_17
# define CXX_STD _MSVC_LANG
# elif _MSVC_LANG == CXX_STD_17 && defined(__cpp_aggregate_paren_init)
# define CXX_STD CXX_STD_20
# elif _MSVC_LANG > CXX_STD_14 && __cplusplus > CXX_STD_17
# define CXX_STD CXX_STD_20
# elif _MSVC_LANG > CXX_STD_14
# define CXX_STD CXX_STD_17
# elif defined(__INTEL_CXX11_MODE__) && defined(__cpp_aggregate_nsdmi)
# define CXX_STD CXX_STD_14
# elif defined(__INTEL_CXX11_MODE__)
# define CXX_STD CXX_STD_11
# else
# define CXX_STD CXX_STD_98
# endif
#elif defined(_MSC_VER) && defined(_MSVC_LANG)
# if _MSVC_LANG > __cplusplus
# define CXX_STD _MSVC_LANG
# else
# define CXX_STD __cplusplus
# endif
#elif defined(__NVCOMPILER)
# if __cplusplus == CXX_STD_17 && defined(__cpp_aggregate_paren_init)
# define CXX_STD CXX_STD_20
# else
# define CXX_STD __cplusplus
# endif
#elif defined(__INTEL_COMPILER) || defined(__PGI)
# if __cplusplus == CXX_STD_11 && defined(__cpp_namespace_attributes)
# define CXX_STD CXX_STD_17
# elif __cplusplus == CXX_STD_11 && defined(__cpp_aggregate_nsdmi)
# define CXX_STD CXX_STD_14
# else
# define CXX_STD __cplusplus
# endif
#elif (defined(__IBMCPP__) || defined(__ibmxl__)) && defined(__linux__)
# if __cplusplus == CXX_STD_11 && defined(__cpp_aggregate_nsdmi)
# define CXX_STD CXX_STD_14
# else
# define CXX_STD __cplusplus
# endif
#elif __cplusplus == 1 && defined(__GXX_EXPERIMENTAL_CXX0X__)
# define CXX_STD CXX_STD_11
#else
# define CXX_STD __cplusplus
#endif
const char* info_language_standard_default = "INFO" ":" "standard_default["
#if CXX_STD > CXX_STD_23
"26"
#elif CXX_STD > CXX_STD_20
"23"
#elif CXX_STD > CXX_STD_17
"20"
#elif CXX_STD > CXX_STD_14
"17"
#elif CXX_STD > CXX_STD_11
"14"
#elif CXX_STD >= CXX_STD_11
"11"
#else
"98"
#endif
"]";
const char* info_language_extensions_default = "INFO" ":" "extensions_default["
#if (defined(__clang__) || defined(__GNUC__) || defined(__xlC__) || \
defined(__TI_COMPILER_VERSION__) || defined(__RENESAS__)) && \
!defined(__STRICT_ANSI__)
"ON"
#else
"OFF"
#endif
"]";
/*--------------------------------------------------------------------------*/
int main(int argc, char* argv[])
{
int require = 0;
require += info_compiler[argc];
require += info_platform[argc];
require += info_arch[argc];
#ifdef COMPILER_VERSION_MAJOR
require += info_version[argc];
#endif
#if defined(COMPILER_VERSION_INTERNAL) || defined(COMPILER_VERSION_INTERNAL_STR)
require += info_version_internal[argc];
#endif
#ifdef SIMULATE_ID
require += info_simulate[argc];
#endif
#ifdef SIMULATE_VERSION_MAJOR
require += info_simulate_version[argc];
#endif
#if defined(__CRAYXT_COMPUTE_LINUX_TARGET)
require += info_cray[argc];
#endif
require += info_language_standard_default[argc];
require += info_language_extensions_default[argc];
(void)argv;
return require;
}

File diff suppressed because it is too large Load Diff

View File

@ -1 +0,0 @@
f5c3654a1c2d2a01f7f67def7a0dc48e691f63c0

View File

@ -1,50 +0,0 @@
#
# Internal file for GetGitRevisionDescription.cmake
#
# Requires CMake 2.6 or newer (uses the 'function' command)
#
# Original Author:
# 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net>
# http://academic.cleardefinition.com
# Iowa State University HCI Graduate Program/VRAC
#
# Copyright Iowa State University 2009-2010.
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE_1_0.txt or copy at
# http://www.boost.org/LICENSE_1_0.txt)
set(HEAD_HASH)
file(READ "/Users/rdzleo/Desktop/Baji_Rtc_Toy/build/CMakeFiles/git-data/HEAD" HEAD_CONTENTS LIMIT 1024)
string(STRIP "${HEAD_CONTENTS}" HEAD_CONTENTS)
set(GIT_DIR "/Users/rdzleo/esp/esp-idf/v5.4.2/esp-idf/.git")
# handle git-worktree
if(EXISTS "${GIT_DIR}/commondir")
file(READ "${GIT_DIR}/commondir" GIT_DIR_NEW LIMIT 1024)
string(STRIP "${GIT_DIR_NEW}" GIT_DIR_NEW)
if(NOT IS_ABSOLUTE "${GIT_DIR_NEW}")
get_filename_component(GIT_DIR_NEW ${GIT_DIR}/${GIT_DIR_NEW} ABSOLUTE)
endif()
if(EXISTS "${GIT_DIR_NEW}")
set(GIT_DIR "${GIT_DIR_NEW}")
endif()
endif()
if(HEAD_CONTENTS MATCHES "ref")
# named branch
string(REPLACE "ref: " "" HEAD_REF "${HEAD_CONTENTS}")
if(EXISTS "${GIT_DIR}/${HEAD_REF}")
configure_file("${GIT_DIR}/${HEAD_REF}" "/Users/rdzleo/Desktop/Baji_Rtc_Toy/build/CMakeFiles/git-data/head-ref" COPYONLY)
elseif(EXISTS "${GIT_DIR}/logs/${HEAD_REF}")
configure_file("${GIT_DIR}/logs/${HEAD_REF}" "/Users/rdzleo/Desktop/Baji_Rtc_Toy/build/CMakeFiles/git-data/head-ref" COPYONLY)
set(HEAD_HASH "${HEAD_REF}")
endif()
else()
# detached HEAD
configure_file("${GIT_DIR}/HEAD" "/Users/rdzleo/Desktop/Baji_Rtc_Toy/build/CMakeFiles/git-data/head-ref" COPYONLY)
endif()
if(NOT HEAD_HASH)
file(READ "/Users/rdzleo/Desktop/Baji_Rtc_Toy/build/CMakeFiles/git-data/head-ref" HEAD_HASH LIMIT 1024)
string(STRIP "${HEAD_HASH}" HEAD_HASH)
endif()

View File

@ -1 +0,0 @@
f5c3654a1c2d2a01f7f67def7a0dc48e691f63c0

View File

@ -22,7 +22,7 @@ dependencies:
78/esp-opus-encoder:
dependencies: []
source:
path: /Users/rdzleo/Desktop/Kapi_Rtc_toy/components/78__esp-opus-encoder
path: /Users/rdzleo/Desktop/Baji_Rtc_Toy/components/78__esp-opus-encoder
type: local
version: 2.3.3
78/esp-wifi-connect:
@ -107,6 +107,68 @@ dependencies:
registry_url: https://components.espressif.com/
type: service
version: 1.3.6
espressif/esp_jpeg:
component_hash: defb83669293cbf86d0fa86b475ba5517aceed04ed70db435388c151ab37b5d7
dependencies:
- name: idf
require: private
version: '>=5.0'
source:
registry_url: https://components.espressif.com/
type: service
version: 1.3.1
espressif/esp_lcd_st77916:
component_hash: 5fa0f8b1274576d4484e2b8d9358e2a5d09c721511bef0dce6a55b4206b5f0e9
dependencies:
- name: espressif/cmake_utilities
registry_url: https://components.espressif.com
require: private
version: 0.*
- name: idf
require: private
version: '>5.0.4,!=5.1.1'
source:
registry_url: https://components.espressif.com/
type: service
version: 1.0.1
espressif/esp_lcd_touch:
component_hash: 779b4ba2464a3ae85681e4b860caa5fdc35801458c23f3039ee761bae7f442a4
dependencies:
- name: idf
require: private
version: '>=4.4.2'
source:
registry_url: https://components.espressif.com/
type: service
version: 1.1.2
espressif/esp_lcd_touch_cst816s:
component_hash: 51dfa9cee38d8a20f4b625d7f89120dff08c8557e613e09dfb31f53d48648235
dependencies:
- name: espressif/esp_lcd_touch
registry_url: https://components.espressif.com
require: public
version: ^1.0.4
- name: idf
require: private
version: '>=4.4.2'
source:
registry_url: https://components.espressif.com/
type: service
version: 1.1.0
espressif/esp_lvgl_port:
component_hash: bb938deffba7d80b2ce582a796c053681b0439e0a7033666688e0f1f5b921125
dependencies:
- name: idf
require: private
version: '>=4.4'
- name: lvgl/lvgl
registry_url: https://components.espressif.com
require: public
version: '>=8,<10'
source:
registry_url: https://components.espressif.com/
type: service
version: 2.5.0
espressif/knob:
component_hash: a389d980693ad195b2160de22a72f3391694230188ab16b8f3c7ec4410a7c417
dependencies:
@ -135,6 +197,13 @@ dependencies:
source:
type: idf
version: 5.4.2
lvgl/lvgl:
component_hash: 948bff879a345149b83065535bbc4a026ce9f47498a22881e432a264b9098015
dependencies: []
source:
registry_url: https://components.espressif.com/
type: service
version: 8.3.11
direct_dependencies:
- 78/esp-ml307
- 78/esp-opus
@ -143,9 +212,15 @@ direct_dependencies:
- espressif/button
- espressif/esp-sr
- espressif/esp_codec_dev
- espressif/esp_jpeg
- espressif/esp_lcd_st77916
- espressif/esp_lcd_touch
- espressif/esp_lcd_touch_cst816s
- espressif/esp_lvgl_port
- espressif/knob
- espressif/led_strip
- idf
manifest_hash: 217c85e43cd481cc56ce0b16a30be29d4ec85147267643b49c7f33df4750201f
- lvgl/lvgl
manifest_hash: 567fb06fed7b7df9c9bbd2a0615df5b600cd13d08df4b38a71d28971feaec792
target: esp32s3
version: 2.0.0

View File

@ -0,0 +1,331 @@
# 触屏版 → 按键版迁移总结
> 适用于 ESP32-C3 / ESP32-S3 电子吧唧项目,从触摸屏交互迁移到两键物理按键交互。
## 一、迁移背景
取消触摸芯片以降低硬件成本,所有用户交互通过两个物理按键实现:
- **BOOT按键**GPIO9确认/执行/返回
- **KEY按键**GPIO8导航/切换
---
## 二、变更文件清单
| 文件 | 变更类型 | 说明 |
|------|----------|------|
| `main/button/button.c` | 重构 | GPIO中断+手动去抖 → iot_button 组件 |
| `main/button/include/button.h` | 重构 | 新增事件类型枚举,回调签名变更 |
| `main/key_nav/key_nav.c` | **新增** | 按键导航管理器(核心模块) |
| `main/key_nav/include/key_nav.h` | **新增** | 导航上下文和焦点状态枚举 |
| `main/main.c` | 修改 | 移除 boot_btn_handler集成 key_nav_init |
| `main/ui/screens/ui_ScreenHome.c` | 修改 | 移除手势事件,界面导航交由 key_nav |
| `main/ui/screens/ui_ScreenHome.h` | 修改 | 移除 ui_event_ScreenHome 声明 |
| `main/ui/screens/ui_ScreenImg.c` | 修改 | 移除手势/点击事件,保留 SCREEN_LOADED 事件 |
| `main/ui/screens/ui_ScreenSet.c` | 修改 | 移除手势/滑块/节能/删除点击事件,新增按键版颜色切换 |
| `main/ui/screens/ui_ScreenSet.h` | 修改 | 新增 flashlight_switch_color/restart_blink 声明 |
| `main/lcd/lcd.c` | 修改 | 新增 lcd_fill_color() 直接写 GRAM |
| `main/lcd/include/lcd.h` | 修改 | 新增 lcd_fill_color() 声明 |
| `main/sleep_mgr/sleep_mgr.c` | 修改 | 移除按键回调注册,交由 key_nav 统一处理 |
| `main/CMakeLists.txt` | 修改 | 添加 key_nav 源文件和头文件路径 |
| `main/idf_component.yml` | 修改 | 添加 `button: ">=3.2.0"` 依赖 |
| `sdkconfig` | 修改 | 新增 IoT Button 配置项 |
---
## 三、核心架构变更
### 3.1 按键驱动重构button模块
**触屏版**:自定义 GPIO 中断 + FreeRTOS 队列 + 手动去抖200ms时间戳判断
```c
// 旧方案
gpio_isr_handler_add(PIN_BTN_BOOT, gpio_isr_handler, (void *)PIN_BTN_BOOT);
xTaskCreate(btn_task, "btn_task", 3072, NULL, 5, NULL); // 队列消费任务
```
**按键版**ESP-IDF 官方 `iot_button` 组件,原生支持单击/双击/长按
```c
// 新方案
button_config_t btn_cfg = {
.long_press_time = 2000, // 长按2秒
.short_press_time = 0, // 使用默认180ms双击检测窗口
};
button_gpio_config_t gpio_cfg = {
.gpio_num = PIN_BTN_BOOT,
.active_level = 0, // 低电平有效
};
iot_button_new_gpio_device(&btn_cfg, &gpio_cfg, &boot_btn_handle);
iot_button_register_cb(boot_btn_handle, BUTTON_SINGLE_CLICK, NULL, boot_click_cb, NULL);
iot_button_register_cb(boot_btn_handle, BUTTON_DOUBLE_CLICK, NULL, boot_double_click_cb, NULL);
iot_button_register_cb(boot_btn_handle, BUTTON_LONG_PRESS_START, NULL, boot_long_press_cb, NULL);
```
**回调签名变更**
```c
// 旧版(只有按下事件)
typedef void (*btn_event_cb_t)(int gpio_num, void *usr_data);
// 新版(区分单击/双击/长按)
typedef enum {
BTN_EVT_CLICK,
BTN_EVT_DOUBLE_CLICK,
BTN_EVT_LONG_PRESS,
} btn_event_type_t;
typedef void (*btn_event_cb_t)(int gpio_num, btn_event_type_t event, void *usr_data);
```
**注册接口变更**
```c
// 旧版
button_on_boot_press(cb, usr_data);
button_on_key2_press(cb, usr_data);
// 新版
button_on_boot_event(cb, usr_data);
button_on_key2_event(cb, usr_data);
```
**idf_component.yml 依赖**
```yaml
dependencies:
button: ">=3.2.0"
```
### 3.2 新增按键导航管理器key_nav模块
这是本次迁移的**核心新增模块**,集中管理所有按键行为和界面导航逻辑。
**设计思想**
- 上下文状态机:根据当前界面/模式决定按键行为
- 焦点管理系统Set界面的图标选中和蓝色边框高亮
- 任务派发模式iot_button 回调在 esp_timer 上下文中执行(不能 vTaskDelay通过 xTaskCreate 派发到独立任务
**上下文枚举**
```c
typedef enum {
NAV_CTX_HOME, // Home界面
NAV_CTX_IMG, // Img界面正常浏览
NAV_CTX_IMG_DELETE, // Img界面删除模式
NAV_CTX_SET, // Set界面焦点导航
NAV_CTX_SET_BRIGHTNESS, // Set界面亮度调节模式
NAV_CTX_FLASHLIGHT, // 应援灯全屏模式
} nav_context_t;
```
**Set界面焦点枚举**
```c
typedef enum {
SET_FOCUS_NONE = -1, // 无选中
SET_FOCUS_LOW_POWER = 0,// 节能
SET_FOCUS_FLASHLIGHT, // 应援灯
SET_FOCUS_DELETE, // 删除
SET_FOCUS_BRIGHTNESS, // 亮度
SET_FOCUS_COUNT, // 焦点总数(用于循环)
} set_focus_item_t;
```
**任务派发模式**(关键模式,必须遵循):
```c
// iot_button 回调在 esp_timer 上下文中,不能 vTaskDelay
// 必须派发到独立 FreeRTOS 任务执行需要延时的操作
static void dispatch_task(TaskFunction_t func, const char *name)
{
xTaskCreate(func, name, 3072, NULL, 5, NULL);
}
static void boot_event_handler(int gpio_num, btn_event_type_t event, void *usr_data)
{
if (event == BTN_EVT_CLICK) {
dispatch_task(nav_task_home_boot_click, "h_boot"); // 派发到独立任务
}
}
```
**焦点高亮实现**
```c
#define FOCUS_BORDER_COLOR 0x2196F3 // Material Blue
#define FOCUS_BORDER_WIDTH 3
static void set_focus_border(int index) {
lv_obj_set_style_border_color(obj, lv_color_hex(FOCUS_BORDER_COLOR), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_border_width(obj, FOCUS_BORDER_WIDTH, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_border_opa(obj, LV_OPA_COVER, LV_PART_MAIN | LV_STATE_DEFAULT);
}
```
### 3.3 各界面触摸事件移除
#### ScreenHome
- 移除 `ui_event_ScreenHome()` 函数下滑→Set、左滑/右滑→Img 手势)
- 移除 `lv_obj_add_event_cb(ui_ScreenHome, ui_event_ScreenHome, LV_EVENT_ALL, NULL)`
- 移除 `#include "ui_ScreenSet.h"` 依赖
#### ScreenImg
- 移除 `ui_event_ImageDel()`(删除按钮点击)
- 移除 `ui_event_ImageReturn()`(返回按钮点击)
- 移除所有手势事件上滑→Home、下滑→Set、左滑→下一张、右滑→上一张
- 保留 `LV_EVENT_SCREEN_LOADED` 事件(首次加载图片初始化)
- 保留 `should_show_container` 标志逻辑从Set删除图标进入时显示
- 移除 `lv_obj_add_event_cb` 对 ImageDel 和 ImageReturn 的注册
#### ScreenSet
- 移除 `ui_event_ScreenSet()`(上滑返回手势)
- 移除 `ui_event_SliderBrightness()`(滑块值变更事件)
- 移除 `ui_event_ImgLowPower()`(节能图标点击事件)
- 移除 `ui_event_ImgDelete()`(删除图标点击事件)
- 保留 `ui_event_ImgFlashlight()``LV_EVENT_CLICKED`(由 key_nav 通过 `lv_event_send` 触发)
- 移除 `lv_obj_add_event_cb` 对节能、删除、滑块、手势的注册
---
## 四、新增功能和优化
### 4.1 按键导航系统
| 界面 | BOOT单击 | KEY单击 | BOOT双击 | KEY长按 |
|------|----------|---------|----------|---------|
| Home | →Set | →Img | - | - |
| Img(浏览) | →Home | 下一张图 | →Home | - |
| Img(删除) | 确认删除 | 取消删除 | →Home | - |
| Set(无焦点) | →Home | 选中第一个 | →Home | - |
| Set(有焦点) | 激活功能 | 下一个焦点 | →Home | - |
| Set(亮度调节) | 亮度+10% | 亮度-10% | →Home | 退出调节 |
| 应援灯 | 切换颜色 | 退出→Set | →Home | - |
### 4.2 Set界面焦点蓝色边框高亮
- 用 LVGL `border` 样式实现焦点指示Material Blue #2196F3
- 焦点切换时自动清除旧边框、设置新边框
- 离开界面或返回 Home 自动清除所有边框
- 进入删除模式时ImageDel 控件也显示蓝色边框提示
### 4.3 应援灯颜色切换优化
触屏版直接修改 LVGL 样式LVGL 30行分band渲染导致从上到下的视觉刷新感。
按键版优化为 **LCD 硬件级切换**
```c
void flashlight_switch_color(void) {
lcd_disp_on_off(false); // DISPOFF 0x28LCD停止输出
lcd_fill_color(new_color); // 直接写GRAM绕过LVGL~35ms同步阻塞
lcd_disp_on_off(true); // DISPON 0x29LCD瞬间恢复GRAM已完整
}
```
新增 `lcd_fill_color()` 函数:
```c
// 绕过 LVGL 分band渲染直接用 esp_lcd_panel_draw_bitmap 写 GRAM
// 40行为单位DMA 内存,同步阻塞写入
void lcd_fill_color(uint32_t color_rgb) {
lv_color_t c = lv_color_hex(color_rgb); // RGB888→RGB565含byte swap
uint16_t *buf = heap_caps_malloc(LCD_WID * 40 * sizeof(uint16_t), MALLOC_CAP_DMA);
for (int y = 0; y < LCD_HIGH; y += 40) {
esp_lcd_panel_draw_bitmap(panel_handle, 0, y, LCD_WID, y + lines, buf);
}
heap_caps_free(buf);
}
```
### 4.4 亮度调节按键化
触屏版通过滑块拖动调节。按键版改为:
- BOOT单击 +10%KEY单击 -10%
- 范围 10%~100%
- 同步更新滑块控件值和百分比标签
- KEY长按2秒退出调节模式
### 4.5 休眠管理适配
- 移除 sleep_mgr 中的按键回调注册(旧版在 sleep_mgr_init 中注册 KEY2 回调)
- 按键唤醒逻辑统一由 key_nav 处理:
```c
if (sleep_mgr_is_screen_off()) {
sleep_mgr_notify_activity(); // 唤醒屏幕
return; // 仅唤醒,不触发业务
}
sleep_mgr_notify_activity(); // 重置休眠计时器
```
### 4.6 main.c 简化
- 移除 ~50 行的 `boot_btn_handler()` 函数(手电筒退出+界面切换+亮度恢复逻辑)
- 所有按键处理逻辑集中到 key_nav 模块
- 初始化顺序调整:`button_init()``sleep_mgr_init()``key_nav_init()`
---
## 五、关键技术要点(迁移到 S3 时注意)
### 5.1 iot_button 状态机特性
- `BUTTON_SINGLE_CLICK``BUTTON_DOUBLE_CLICK` 互斥,不会同时触发
- 按键释放后等待 `short_press_time`默认180ms决定是单击还是双击
- `short_press_time` 控制双击检测窗口,不是去抖时间(去抖由 `CONFIG_BUTTON_DEBOUNCE_TICKS` 控制默认10ms
- 设为 0 表示使用默认值 180ms
### 5.2 iot_button 回调上下文
- 回调在 `esp_timer` 任务中执行
- **禁止在回调中调用 `vTaskDelay()`**,否则阻塞 esp_timer 任务,导致 LVGL tick 停止
- **解决方案**:通过 `xTaskCreate` 派发到独立 FreeRTOS 任务
### 5.3 LVGL 操作线程安全
- 修改 UI 必须加锁:`lvgl_port_lock(timeout_ms)` / `lvgl_port_unlock()`
- 建议超时 50-100ms避免死锁
- 永久等待用 `lvgl_port_lock(-1)`
### 5.4 手电筒退出时序
```
亮度→0 → flashlight_exit() → vTaskDelay(80ms) → 切换界面 → vTaskDelay(150ms) → 恢复亮度
```
- 80ms 等待 overlay 删除LVGL 需要 15+ 刷新周期)
- 150ms 等待新界面渲染完成
- 先切换界面再恢复亮度,避免用户看到旧界面
### 5.5 GPIO 引脚适配
S3 项目需要根据实际硬件修改 button.h 中的 GPIO 定义:
```c
#define PIN_BTN_BOOT 9 // 根据S3硬件原理图修改
#define PIN_BTN_KEY2 8 // 根据S3硬件原理图修改
```
### 5.6 sdkconfig 配置
新增 IoT Button 相关配置menuconfig 或直接修改 sdkconfig
```
CONFIG_BUTTON_PERIOD_TIME_MS=5
CONFIG_BUTTON_DEBOUNCE_TICKS=2
CONFIG_BUTTON_SHORT_PRESS_TIME_MS=180
CONFIG_BUTTON_LONG_PRESS_TIME_MS=1500
```
---
## 六、迁移步骤(适用于 ESP32-S3 项目)
1. **添加依赖**`idf_component.yml` 添加 `button: ">=3.2.0"`
2. **重构 button 模块**:替换 GPIO 中断为 iot_button修改回调签名
3. **新建 key_nav 模块**:复制 `main/key_nav/` 目录,根据 S3 项目的界面结构调整上下文枚举和任务函数
4. **移除触摸事件**:各 Screen 文件中移除手势事件函数和 `lv_obj_add_event_cb` 注册
5. **适配 main.c**:移除旧的按键处理函数,添加 `key_nav_init()` 调用
6. **适配 sleep_mgr**:移除按键回调注册,由 key_nav 统一处理唤醒
7. **添加 lcd_fill_color()**(如需应援灯颜色切换优化)
8. **更新 CMakeLists.txt**:添加 key_nav 源文件和头文件路径
9. **适配 GPIO 引脚**:根据 S3 硬件原理图修改按键 GPIO 定义
10. **编译测试**`idf.py build` 验证,逐个功能测试
---
## 七、资源变化
| 指标 | 触屏版 | 按键版 | 变化 |
|------|--------|--------|------|
| button 任务栈 | 3072Bbtn_task 队列消费) | 0iot_button 内部管理) | 节省 3KB |
| key_nav 任务栈 | 无 | 3072B每次按键临时创建执行完销毁 | 临时占用 |
| 触摸事件代码 | ~200 行(手势+点击回调) | 0 | 移除 |
| key_nav 代码 | 0 | ~530 行 | 新增 |
| iot_button 组件 | 无 | ~20KB Flash | 新增依赖 |

BIN
main/.DS_Store vendored

Binary file not shown.

View File

@ -8,6 +8,7 @@ set(SOURCES "audio_codecs/audio_codec.cc"
"led/circular_strip.cc"
"led/gpio_led.cc"
"display/display.cc"
"display/ai_chat_display.cc" # AI
#"display/lcd_display.cc" # LCD
#"display/oled_display.cc" # OLED
"protocols/protocol.cc"
@ -22,9 +23,60 @@ set(SOURCES "audio_codecs/audio_codec.cc"
#"ble_service.cc" # BLE JSON 使
"weather_api.cc"
"main.cc"
# dzbj
"dzbj/lcd.c"
"dzbj/pages_pwm.c"
"dzbj/dzbj_init.c"
"dzbj/device_mode.c"
"dzbj/fatfs.c"
"dzbj/pages.c"
"dzbj/dzbj_ble.c"
"dzbj/sleep_mgr.c"
"dzbj/dzbj_button.c"
"dzbj/dzbj_battery.c"
"dzbj/ai_chat_ui.c" # AI LVGL
"fonts/font_puhui_20_4.c" # 20px 4bppGB2312
# SquareLine Studio UI
"ui/ui.c"
"ui/ui_helpers.c"
"ui/screens/ui_ScreenHome.c"
"ui/screens/ui_ScreenImg.c"
"ui/screens/ui_ScreenSet.c"
"ui/components/ui_comp_hook.c"
# UI
"ui/images/ui_img_s1_png.c"
"ui/images/ui_img_s6_png.c"
"ui/images/ui_img_s8_png.c"
"ui/images/ui_img_s9_png.c"
"ui/images/ui_img_s10_png.c"
"ui/images/ui_img_s11_png.c"
"ui/images/ui_img_s12_png.c"
"ui/images/ui_img_s13_png.c"
"ui/images/ui_img_s14_png.c"
# emoji PNG
"ui/images/ui_img_neutral_png.c"
"ui/images/ui_img_happy_png.c"
"ui/images/ui_img_sad_png.c"
"ui/images/ui_img_angry_png.c"
"ui/images/ui_img_crying_png.c"
"ui/images/ui_img_funny_png.c"
"ui/images/ui_img_laughing_png.c"
# GIF 200x89
"ui/images/my_emotion/emotion_angry_200_89.c"
"ui/images/my_emotion/emotion_blink1_200_89.c"
"ui/images/my_emotion/emotion_blink_fast_200_89.c"
"ui/images/my_emotion/emotion_blink_slow_200_89.c"
"ui/images/my_emotion/emotion_dizzy_200_89.c"
"ui/images/my_emotion/emotion_happy_200_89.c"
"ui/images/my_emotion/emotion_sad_200_89.c"
"ui/images/my_emotion/emotion_sleep_200_89.c"
# GIF 45x45
"ui/images/my_icon/icon_emotion_confused_45.c"
"ui/images/my_icon/icon_emotion_sleep_45.c"
"ui/images/my_icon/icon_emotion_thinking_45.c"
)
set(INCLUDE_DIRS "." "display" "audio_codecs" "protocols" "audio_processing" "audio")
set(INCLUDE_DIRS "." "display" "audio_codecs" "protocols" "audio_processing" "audio" "dzbj" "ui")
# IOT
file(GLOB IOT_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/iot/things/*.cc)
@ -201,7 +253,7 @@ endif()
idf_component_register(SRCS ${SOURCES}
EMBED_FILES ${LANG_SOUNDS} ${COMMON_SOUNDS}
INCLUDE_DIRS ${INCLUDE_DIRS}
REQUIRES esp_wifi esp_netif esp_event nvs_flash bt spi_flash app_update efuse volc_engine_rtc_lite common zlib
REQUIRES esp_wifi esp_netif esp_event nvs_flash bt spi_flash app_update efuse volc_engine_rtc_lite common zlib esp_lcd driver
WHOLE_ARCHIVE
)

View File

@ -12,6 +12,18 @@ config DEVICE_STATUS_REPORT_URL
help
URL for reporting device status to server
config STORY_API_URL
string "Story API URL"
default "http://192.168.124.8:8000/api/v1/devices/stories/"
help
故事播放API接口地址设备会附加 ?mac_address=XX:XX:XX:XX:XX:XX 参数请求
config MUSIC_API_URL
string "Music API URL"
default "http://192.168.124.8:8000/api/v1/devices/music/"
help
音乐播放API接口地址设备会附加 ?mac_address=XX:XX:XX:XX:XX:XX 参数请求
choice
prompt "语言选择"
default LANGUAGE_ZH_CN
@ -342,10 +354,9 @@ menu "蓝牙配网 (Bluetooth Provisioning)"
default y
select BT_ENABLED
select BLUEDROID_ENABLED
select BT_BLUFI_ENABLE
help
启用蓝牙配网功能允许通过蓝牙BLE连接配置WiFi网络。
需要ESP-IDF的蓝牙和BLUFI组件支持
使用自定义 GATT Server 实现,不依赖 BluFi 组件
config BLUETOOTH_PROVISIONING_SECURITY
bool "启用安全模式"

File diff suppressed because it is too large Load Diff

View File

@ -70,7 +70,10 @@ public:
void Alert(const char* status, const char* message, const char* emotion = "", const std::string_view& sound = "");// 警报管理 状态、消息、情感、声音
void DismissAlert();// 关闭警报
void AbortSpeaking(AbortReason reason);// 打断语音播报
void SendStoryRequest(); // 发送讲故事 请求
void AbortHttpsPlayback(const char* reason);// 中止HTTPS音频播放并清空DMA
void HttpsPlaybackFromUrl(const std::string& url); // 通过HTTPS下载JSON并播放音频故事/歌曲等)
void SendStoryRequest(); // 通过HTTPS故事API请求并播放故事
void SendMusicRequest(); // 通过HTTPS音乐API请求并播放音乐
void ToggleChatState();// 切换聊天状态
void ToggleListeningState();// 切换监听状态
void StartListening();// 开始监听
@ -146,10 +149,15 @@ private:
#endif
std::atomic<bool> ws_downlink_enabled_{true};// 🌐 WebSocket下行通道是否启用
std::atomic<bool> ws_playback_active_{false};// 🌐 WebSocket下行播放活跃标志
std::atomic<bool> opus_playback_active_{false};// Opus解码播放活跃标志WS/HTTPS共用
std::atomic<bool> https_playback_active_{false};// HTTPS音频播放进行中标志
std::atomic<bool> https_playback_abort_{false};// HTTPS音频播放中止标志
std::atomic<int> post_abort_debug_frames_{0};// HTTPS中止后诊断日志计数追踪前N帧音频
bool aborted_ = false;
bool voice_detected_ = false;
bool audio_paused_ = false; // 音频暂停状态标志
float current_speaker_volume_ = 0.0f; // 当前扬声器音量,用于语音打断判断
bool provisioning_mode_ = false; // 配网模式标志缓存避免重复读NVS
bool first_idle_location_checked_ = false;// 是否首次查询城市天气
bool send_pcm_uplink_ = true; // 是否发送PCM音频数据到服务器由SDK内部转码为G711A
bool send_g711a_uplink_ = false;// 是否直接发送G711A音频数据到服务器
@ -196,6 +204,7 @@ private:
void StartDialogWatchdog();// 启动对话看门狗
void StopDialogWatchdog(); // 停止对话看门狗
void HttpsApiPlayback(const char* api_url_base, const char* tag, const char* task_name); // HTTPS API音频播放通用实现
const char* DeviceStateToString(DeviceState state); // 状态枚举转字符串
};

View File

@ -42,6 +42,22 @@ void AudioCodec::Start() {
ESP_LOGI(TAG, "Audio codec started");
}
void AudioCodec::StartOutputOnly() {
Settings settings("audio", false);
output_volume_ = settings.GetInt("output_volume", output_volume_);
if (output_volume_ <= 0) {
ESP_LOGW(TAG, "Output volume value (%d) is too small, setting to default (10)", output_volume_);
output_volume_ = 10;
}
// 仅启用 TX 通道(扬声器输出),跳过 RX 通道(麦克风输入)
ESP_ERROR_CHECK(i2s_channel_enable(tx_handle_));
// 跳过: i2s_channel_enable(rx_handle_) — 配网模式不需要麦克风
// 跳过: EnableInput(true) — 不打开 ES7210 麦克风
EnableOutput(true);
ESP_LOGI(TAG, "Audio codec started (output only, provisioning mode)");
}
void AudioCodec::SetOutputVolume(int volume) {
output_volume_ = volume;
ESP_LOGI(TAG, "Set output volume to %d", output_volume_);

View File

@ -16,7 +16,7 @@ public:
AudioCodec();
virtual ~AudioCodec();
static constexpr int kDefaultOutputVolume = 40; // 默认输出音量 系统默认音量设置为100最大音量原来为70 产测固件使用
static constexpr int kDefaultOutputVolume = 80; // 默认输出音量 系统默认音量设置为100最大音量原来为70 产测固件使用
inline static int default_output_volume() { return kDefaultOutputVolume; }
virtual void SetOutputVolume(int volume);
@ -25,6 +25,7 @@ public:
virtual void EnableOutput(bool enable);
void Start();
void StartOutputOnly(); // 配网模式:仅启用输出通道(跳过麦克风输入)
void OutputData(std::vector<int16_t>& data);
bool InputData(std::vector<int16_t>& data);

View File

@ -8,25 +8,32 @@ static const char TAG[] = "BoxAudioCodec";
BoxAudioCodec::BoxAudioCodec(void* i2c_master_handle, int input_sample_rate, int output_sample_rate,
gpio_num_t mclk, gpio_num_t bclk, gpio_num_t ws, gpio_num_t dout, gpio_num_t din,
gpio_num_t pa_pin, uint8_t es8311_addr, uint8_t es7210_addr, bool input_reference) {
duplex_ = true; // 是否双工
input_reference_ = input_reference; // 是否使用参考输入,实现回声消除
input_channels_ = input_reference_ ? 2 : 1; // 输入通道数
gpio_num_t pa_pin, uint8_t es8311_addr, uint8_t es7210_addr, bool input_reference,
bool output_only) {
output_only_ = output_only;
duplex_ = !output_only; // 配网模式不需要双工
input_reference_ = input_reference;
input_channels_ = input_reference_ ? 2 : 1;
input_sample_rate_ = input_sample_rate;
output_sample_rate_ = output_sample_rate;
CreateDuplexChannels(mclk, bclk, ws, dout, din);
if (output_only_) {
// 配网模式:仅创建 TX 通道,省 ~11.5KB RX DMA 内存
CreateTxOnlyChannel(mclk, bclk, ws, dout);
} else {
CreateDuplexChannels(mclk, bclk, ws, dout, din);
}
// Do initialize of related interface: data_if, ctrl_if and gpio_if
// 初始化 I2S 数据接口
audio_codec_i2s_cfg_t i2s_cfg = {
.port = I2S_NUM_0,
.rx_handle = rx_handle_,
.rx_handle = rx_handle_, // 配网模式下为 nullptr
.tx_handle = tx_handle_,
};
data_if_ = audio_codec_new_i2s_data(&i2s_cfg);
assert(data_if_ != NULL);
// Output
// OutputES8311 DAC
audio_codec_i2c_cfg_t i2c_cfg = {
.port = (i2c_port_t)1,
.addr = es8311_addr,
@ -57,33 +64,38 @@ BoxAudioCodec::BoxAudioCodec(void* i2c_master_handle, int input_sample_rate, int
output_dev_ = esp_codec_dev_new(&dev_cfg);
assert(output_dev_ != NULL);
// Input
i2c_cfg.addr = es7210_addr;
in_ctrl_if_ = audio_codec_new_i2c_ctrl(&i2c_cfg);
assert(in_ctrl_if_ != NULL);
// InputES7210 ADC— 配网模式跳过,省 ~2-4KB
if (!output_only_) {
i2c_cfg.addr = es7210_addr;
in_ctrl_if_ = audio_codec_new_i2c_ctrl(&i2c_cfg);
assert(in_ctrl_if_ != NULL);
es7210_codec_cfg_t es7210_cfg = {};
es7210_cfg.ctrl_if = in_ctrl_if_;
es7210_cfg.mic_selected = ES7120_SEL_MIC1 | ES7120_SEL_MIC2;
in_codec_if_ = es7210_codec_new(&es7210_cfg);
assert(in_codec_if_ != NULL);
es7210_codec_cfg_t es7210_cfg = {};
es7210_cfg.ctrl_if = in_ctrl_if_;
es7210_cfg.mic_selected = ES7120_SEL_MIC1 | ES7120_SEL_MIC2;
in_codec_if_ = es7210_codec_new(&es7210_cfg);
assert(in_codec_if_ != NULL);
dev_cfg.dev_type = ESP_CODEC_DEV_TYPE_IN;
dev_cfg.codec_if = in_codec_if_;
input_dev_ = esp_codec_dev_new(&dev_cfg);
assert(input_dev_ != NULL);
dev_cfg.dev_type = ESP_CODEC_DEV_TYPE_IN;
dev_cfg.codec_if = in_codec_if_;
input_dev_ = esp_codec_dev_new(&dev_cfg);
assert(input_dev_ != NULL);
}
ESP_LOGI(TAG, "BoxAudioDevice initialized");
ESP_LOGI(TAG, "BoxAudioDevice initialized (%s)", output_only_ ? "output only" : "duplex");
}
BoxAudioCodec::~BoxAudioCodec() {
ESP_ERROR_CHECK(esp_codec_dev_close(output_dev_));
esp_codec_dev_delete(output_dev_);
ESP_ERROR_CHECK(esp_codec_dev_close(input_dev_));
esp_codec_dev_delete(input_dev_);
audio_codec_delete_codec_if(in_codec_if_);
audio_codec_delete_ctrl_if(in_ctrl_if_);
if (input_dev_) {
ESP_ERROR_CHECK(esp_codec_dev_close(input_dev_));
esp_codec_dev_delete(input_dev_);
}
if (in_codec_if_) audio_codec_delete_codec_if(in_codec_if_);
if (in_ctrl_if_) audio_codec_delete_ctrl_if(in_ctrl_if_);
audio_codec_delete_codec_if(out_codec_if_);
audio_codec_delete_ctrl_if(out_ctrl_if_);
audio_codec_delete_gpio_if(gpio_if_);
@ -178,6 +190,56 @@ void BoxAudioCodec::CreateDuplexChannels(gpio_num_t mclk, gpio_num_t bclk, gpio_
ESP_LOGI(TAG, "Duplex channels created");
}
void BoxAudioCodec::CreateTxOnlyChannel(gpio_num_t mclk, gpio_num_t bclk, gpio_num_t ws, gpio_num_t dout) {
i2s_chan_config_t chan_cfg = {
.id = I2S_NUM_0,
.role = I2S_ROLE_MASTER,
.dma_desc_num = 6,
.dma_frame_num = 240,
.auto_clear_after_cb = true,
.auto_clear_before_cb = false,
.intr_priority = 0,
};
// 仅创建 TX 通道rx_handle_ 保持 nullptr省 ~11.5KB RX DMA 内存
ESP_ERROR_CHECK(i2s_new_channel(&chan_cfg, &tx_handle_, NULL));
i2s_std_config_t std_cfg = {
.clk_cfg = {
.sample_rate_hz = (uint32_t)output_sample_rate_,
.clk_src = I2S_CLK_SRC_DEFAULT,
.ext_clk_freq_hz = 0,
.mclk_multiple = I2S_MCLK_MULTIPLE_256
},
.slot_cfg = {
.data_bit_width = I2S_DATA_BIT_WIDTH_16BIT,
.slot_bit_width = I2S_SLOT_BIT_WIDTH_AUTO,
.slot_mode = I2S_SLOT_MODE_STEREO,
.slot_mask = I2S_STD_SLOT_BOTH,
.ws_width = I2S_DATA_BIT_WIDTH_16BIT,
.ws_pol = false,
.bit_shift = true,
.left_align = true,
.big_endian = false,
.bit_order_lsb = false
},
.gpio_cfg = {
.mclk = mclk,
.bclk = bclk,
.ws = ws,
.dout = dout,
.din = I2S_GPIO_UNUSED,
.invert_flags = {
.mclk_inv = false,
.bclk_inv = false,
.ws_inv = false
}
}
};
ESP_ERROR_CHECK(i2s_channel_init_std_mode(tx_handle_, &std_cfg));
ESP_LOGI(TAG, "TX-only channel created (provisioning mode)");
}
void BoxAudioCodec::SetOutputVolume(int volume) {
ESP_ERROR_CHECK(esp_codec_dev_set_out_vol(output_dev_, volume));
AudioCodec::SetOutputVolume(volume);

View File

@ -17,8 +17,10 @@ private:
esp_codec_dev_handle_t output_dev_ = nullptr;
esp_codec_dev_handle_t input_dev_ = nullptr;
bool output_only_ = false; // 配网模式:仅输出,跳过 RX DMA 和 ES7210
void CreateDuplexChannels(gpio_num_t mclk, gpio_num_t bclk, gpio_num_t ws, gpio_num_t dout, gpio_num_t din);
void CreateTxOnlyChannel(gpio_num_t mclk, gpio_num_t bclk, gpio_num_t ws, gpio_num_t dout);
virtual int Read(int16_t* dest, int samples) override;
virtual int Write(const int16_t* data, int samples) override;
@ -26,7 +28,8 @@ private:
public:
BoxAudioCodec(void* i2c_master_handle, int input_sample_rate, int output_sample_rate,
gpio_num_t mclk, gpio_num_t bclk, gpio_num_t ws, gpio_num_t dout, gpio_num_t din,
gpio_num_t pa_pin, uint8_t es8311_addr, uint8_t es7210_addr, bool input_reference);
gpio_num_t pa_pin, uint8_t es8311_addr, uint8_t es7210_addr, bool input_reference,
bool output_only = false);
virtual ~BoxAudioCodec();
virtual void SetOutputVolume(int volume) override;

View File

@ -16,6 +16,7 @@
#include "bluetooth_provisioning.h"
#include "esp_log.h"
#include "esp_timer.h"
#include "esp_bt.h"
#include "esp_bt_main.h"
#include "esp_bt_device.h"
@ -1340,23 +1341,12 @@ void BluetoothProvisioning::IPEventHandler(void* arg, esp_event_base_t event_bas
xEventGroupSetBits(s_wifi_event_group, WIFI_CONNECTED_BIT);
}
// 发送MAC地址
ESP_LOGI(TAG, "🔍 [DEBUG] 检查客户端连接状态: client_connected_=%s",
self->client_connected_ ? "true" : "false");
if (self && self->client_connected_) {
ESP_LOGI(TAG, "🔍 [DEBUG] 使用专用函数发送设备MAC地址...");
bool mac_sent = self->SendMacAddressReliably();
if (mac_sent) {
ESP_LOGI(TAG, "✅ 设备MAC地址发送成功");
} else {
ESP_LOGW(TAG, "⚠️ 设备MAC地址发送失败");
}
ESP_LOGI(TAG, "🔍 [DEBUG] 已跳过WiFi连接报告发送仅发送设备MAC地址");
} else {
ESP_LOGW(TAG, "🔍 [DEBUG] 无法发送: client_connected_=%s",
self->client_connected_ ? "true" : "false");
}
// 跳过MAC地址发送仅通过 ReportWiFiStatus 发送连接状态
// // 发送MAC地址
// if (self && self->client_connected_) {
// bool mac_sent = self->SendMacAddressReliably();
// ESP_LOGI(TAG, "MAC地址发送结果: %s", mac_sent ? "成功" : "失败");
// }
// 启用WiFi配置自动保存到NVS存储
ESP_LOGI(TAG, "💾 启用WiFi配置自动保存到NVS存储...");
@ -1403,11 +1393,22 @@ void BluetoothProvisioning::IPEventHandler(void* arg, esp_event_base_t event_bas
self->GetStateString().c_str(),
self->client_connected_ ? "true" : "false");
// 延迟2000ms后强制重启设备
// 用 esp_timer 延迟重启,避免在事件回调中直接调用 esp_restart()
// 不使用 xTaskCreate配网模式下内存紧张可能导致任务创建失败
ESP_LOGI(TAG, "⏰ 延迟2000ms后重启设备以确保配置生效...");
vTaskDelay(pdMS_TO_TICKS(2000));
ESP_LOGI(TAG, "🔄 强制重启设备...");
esp_restart();
esp_timer_handle_t restart_timer;
esp_timer_create_args_t timer_args = {};
timer_args.callback = [](void*) {
ESP_LOGI("BLE_PROV", "🔄 强制重启设备...");
esp_restart();
};
timer_args.name = "prov_restart";
if (esp_timer_create(&timer_args, &restart_timer) == ESP_OK) {
esp_timer_start_once(restart_timer, 2000 * 1000); // 2秒单位微秒
} else {
ESP_LOGE(TAG, "定时器创建失败,直接重启");
esp_restart();
}
break;
}

View File

@ -196,9 +196,7 @@ extern "C" {
#warning "蓝牙配网需要启用CONFIG_BLUEDROID_ENABLED"
#endif
#ifndef CONFIG_BT_BLUFI_ENABLE
#warning "蓝牙配网需要启用CONFIG_BT_BLUFI_ENABLE"
#endif
// BluFi 组件未使用 — 配网采用自定义 GATT Server 实现
#ifndef CONFIG_ESP32_WIFI_ENABLED
#warning "蓝牙配网需要启用WiFi功能"

View File

@ -7,8 +7,7 @@ static const char* TAG = "Button";
Button::Button(const button_adc_config_t& adc_cfg) {
button_config_t button_config = {
.type = BUTTON_TYPE_ADC,
// .long_press_time = 1000, // 原有长按3秒时的时间
.long_press_time = 5000, // 长按5秒时间
.long_press_time = 3000, // 长按3秒触发模式切换
.short_press_time = 50,
.adc_button_config = adc_cfg
};
@ -26,8 +25,7 @@ Button::Button(gpio_num_t gpio_num, bool active_high) : gpio_num_(gpio_num) {
}
button_config_t button_config = {
.type = BUTTON_TYPE_GPIO,
// .long_press_time = 1000, // 原有长按3秒时的时间
.long_press_time = 5000, // 长按5秒时间
.long_press_time = 3000, // 长按3秒触发模式切换
.short_press_time = 50,
.gpio_button_config = {
.gpio_num = gpio_num,

View File

@ -18,6 +18,10 @@ public:
void OnLongPress(std::function<void()> callback);
void OnClick(std::function<void()> callback);
void OnDoubleClick(std::function<void()> callback);
// 获取底层 iot_button 句柄(用于 iot_button_register_event_cb 等高级 API
button_handle_t GetHandle() const { return button_handle_; }
private:
gpio_num_t gpio_num_;
button_handle_t button_handle_ = nullptr;

View File

@ -44,13 +44,13 @@ static const char *TAG = "WifiBoard"; ///< 日志标签用于标识WiFi板
*/
WifiBoard::WifiBoard() {
// 读取NVS存储中的强制AP模式标志
// 注意:这里只读取不清零,清零在 StartNetwork() 中进行
// 确保后续 NeedsProvisioning() 静态方法能正确读到 force_ap=1
Settings settings("wifi", true);
wifi_config_mode_ = settings.GetInt("force_ap") == 1;
// 如果检测到强制AP模式重置为0并记录日志
if (wifi_config_mode_) {
ESP_LOGI(TAG, "force_ap is set to 1, reset to 0");
settings.SetInt("force_ap", 0);
ESP_LOGI(TAG, "force_ap is set to 1, will clear in StartNetwork()");
}
}
@ -62,6 +62,18 @@ std::string WifiBoard::GetBoardType() {
return "wifi";
}
bool WifiBoard::NeedsProvisioning() {
// 检查 force_ap 标志
Settings settings("wifi", true);
if (settings.GetInt("force_ap") == 1) {
return true;
}
// 检查是否有保存的 WiFi 凭据
auto& ssid_manager = SsidManager::GetInstance();
auto ssid_list = ssid_manager.GetSsidList();
return ssid_list.empty();
}
/**
* @brief WiFi配置模式
*
@ -114,10 +126,10 @@ void WifiBoard::EnterWifiConfigMode() {
// 播报配置 WiFi 的提示
// application.Alert(Lang::Strings::WIFI_CONFIG_MODE, hint.c_str(), "", Lang::Sounds::P3_WIFICONFIG); 原有蜡笔小新音色播报
if(strcmp(CONFIG_DEVICE_ROLE, "KAKA") == 0){
application.Alert(Lang::Strings::WIFI_CONFIG_MODE, hint.c_str(), "", Lang::Sounds::P3_KAKA_WIFICONFIG);
application.Alert(Lang::Strings::WIFI_CONFIG_MODE, hint.c_str(), "happy", Lang::Sounds::P3_KAKA_WIFICONFIG);
}
else if(strcmp(CONFIG_DEVICE_ROLE, "RTC_Test") == 0){
application.Alert(Lang::Strings::WIFI_CONFIG_MODE, hint.c_str(), "", Lang::Sounds::P3_LALA_WIFICONFIG);
application.Alert(Lang::Strings::WIFI_CONFIG_MODE, hint.c_str(), "happy", Lang::Sounds::P3_LALA_WIFICONFIG);
}
@ -139,6 +151,14 @@ void WifiBoard::EnterWifiConfigMode() {
* WiFi网络
*/
void WifiBoard::StartNetwork() {
// 在所有 NeedsProvisioning() 调用完成后,清除 force_ap 标志
// 防止设备在配网过程中崩溃后无限循环进入配网模式
if (wifi_config_mode_) {
Settings settings("wifi", true);
settings.SetInt("force_ap", 0);
ESP_LOGI(TAG, "force_ap cleared to 0");
}
// 用户可以在启动时按BOOT按钮进入WiFi配置模式
// 开机按BOOT进入配网模式
if (wifi_config_mode_) {
@ -392,10 +412,10 @@ bool WifiBoard::StartBleProvisioning() {
// 播放配网提示音
auto& application = Application::GetInstance();
if(strcmp(CONFIG_DEVICE_ROLE, "KAKA") == 0){
application.Alert("BLE配网模式", "请使用手机APP搜索Airhub_开头的蓝牙设备", "", Lang::Sounds::P3_KAKA_WIFICONFIG);
application.Alert("BLE配网模式", "请使用手机APP搜索Airhub_开头的蓝牙设备", "happy", Lang::Sounds::P3_KAKA_WIFICONFIG);
}
else if(strcmp(CONFIG_DEVICE_ROLE, "RTC_Test") == 0){
application.Alert("BLE配网模式", "请使用手机APP搜索Airhub_开头的蓝牙设备", "", Lang::Sounds::P3_LALA_WIFICONFIG);
application.Alert("BLE配网模式", "请使用手机APP搜索Airhub_开头的蓝牙设备", "happy", Lang::Sounds::P3_LALA_WIFICONFIG);
}

View File

@ -139,6 +139,13 @@ public:
* @return false BLE配网未激活
*/
bool IsBleProvisioningActive() const { return ble_provisioning_active_; }
/**
* @brief NVSWiFi/BLE已初始化
* @return true WiFi凭据或force_ap=1
* Application::Start()
*/
static bool NeedsProvisioning();
};
#endif // WIFI_BOARD_H

View File

@ -26,7 +26,7 @@
#define AUDIO_INPUT_REFERENCE 0
// 系统指示灯与启动按钮
#define BUILTIN_LED_GPIO GPIO_NUM_21 // 板载LED GPIO 21 *******
#define BUILTIN_LED_GPIO GPIO_NUM_NC // 已被 LCD D3 占用GPIO21
#define BOOT_BUTTON_GPIO GPIO_NUM_0 // BOOT按钮 BOOT GPIO0
// 按键GPIO定义
@ -34,16 +34,20 @@
#define KEY2_GPIO GPIO_NUM_NC // KEY2 - 本项目不启用该 按键
#define KEY4_GPIO GPIO_NUM_4 // KEY4 - 播放故事(发送文本消息) Stoey GPIO04
// ADC电量检测引脚
#define BATTERY_ADC_GPIO GPIO_NUM_6 // 电池电压检测引脚GPIO6 BAT_MEAS_ADC GPIO6
#define BATTERY_ADC_CHANNEL ADC_CHANNEL_5 // GPIO6对应ADC1_CHANNEL_5 ADC_CHN ADC1_CHN_5
// ADC电量检测引脚GPIO6 已被触摸 RST 占用,改为 GPIO3
#define BATTERY_ADC_GPIO GPIO_NUM_3 // 电池电压检测引脚GPIO3
#define BATTERY_ADC_CHANNEL ADC_CHANNEL_2 // GPIO3 对应 ADC1_CHANNEL_2
#define BATTERY_ADC_UNIT ADC_UNIT_1 // 使用ADC单元1
// 六路触摸按键定义
#define TOUCH1_GPIO GPIO_NUM_1 // Touch1 GPIO01
// 电容触摸板按钮开关0=禁用1=启用)
// 本项目不使用触摸按钮功能禁用以节约资源touch_pad驱动、ISR、FreeRTOS任务、队列
#define ENABLE_TOUCH_PAD_BUTTONS 0
// 六路触摸按键定义Touch1/Touch4 已被 LCD 占用)
#define TOUCH1_GPIO GPIO_NUM_NC // 已被 LCD 背光 EN 占用GPIO1
#define TOUCH2_GPIO GPIO_NUM_2 // Touch2 GPIO02
#define TOUCH3_GPIO GPIO_NUM_15 // Touch3 GPIO15
#define TOUCH4_GPIO GPIO_NUM_7 // Touch4 GPIO07
#define TOUCH4_GPIO GPIO_NUM_NC // 已被 LCD RST 占用GPIO7
#define TOUCH5_GPIO GPIO_NUM_NC // Touch5 (未连接)
#define TOUCH6_GPIO GPIO_NUM_NC // Touch6 (未连接)

View File

@ -14,6 +14,14 @@
#include "imu_sensor_thing.h" // 引入IMU传感器IoT设备头文件
#include "system_info.h" // 引入系统信息头文件
#include "settings.h"
#include "dzbj/dzbj_init.h" // dzbj 显示模块初始化
#include "display/ai_chat_display.h" // AI 对话模式专用显示
#include "dzbj/device_mode.h" // 设备模式管理AI/吧唧)
#include "dzbj/fatfs.h" // SPIFFS 文件系统
#include "dzbj/dzbj_ble.h" // BLE 图传服务
#include "dzbj/dzbj_battery.h" // 电池监测
#include "dzbj/dzbj_button.h" // 按键驱动
#include "sleep_mgr/include/sleep_mgr.h" // 休眠管理
#include <cmath> // 添加数学函数头文件
#include <wifi_station.h>
@ -36,6 +44,20 @@
#define TAG "Airhub1"
#define Pro_TAG "Airhub"
// 前向声明pages.h 与 display.h 的 lv_font_t 冲突,改用前向声明)
extern "C" void init_spiffs_image_list(void);
// AI 对话屏幕初始化(纯 C避免 lv_font_t 冲突)
extern "C" void ai_chat_screen_init(void);
extern "C" void ai_chat_resume_animation(void);
// 背光初始化pages_pwm.h 包含 LVGL 头文件,不能直接 include
extern "C" void pwm_init(void);
// 吧唧模式 BOOT 单击处理(实现在 dzbj_button.c避免 lvgl.h 与 display.h 冲突)
extern "C" void dzbj_boot_click_handler(void);
#if ENABLE_TOUCH_PAD_BUTTONS
#include <driver/touch_pad.h>
#include <driver/touch_sensor.h>
@ -61,9 +83,11 @@ typedef struct {
// 前向声明TouchEventTask函数
static void TouchEventTask(void* arg);
#endif // ENABLE_TOUCH_PAD_BUTTONS
class MovecallMojiESP32S3 : public WifiBoard {
private:
#if ENABLE_TOUCH_PAD_BUTTONS
// 触摸状态相关
touch_state_t touch_states_[4]; // 每个触摸点的状态
uint32_t touch_last_time_[4]; // 每个触摸点的最后操作时间
@ -79,10 +103,13 @@ private:
int active_touch_pad_ = -1; // 当前活跃的触摸点编号
uint32_t touch_task_start_time_ = 0; // 触摸任务开始时间
const uint32_t TOUCH_TASK_TIMEOUT_MS = 10000; // 任务超时时间(10秒)
#endif // ENABLE_TOUCH_PAD_BUTTONS
PowerSaveTimer* power_save_timer_;
static MovecallMojiESP32S3* instance_;
#if ENABLE_TOUCH_PAD_BUTTONS
static void IRAM_ATTR TouchPadISR(void* arg);
#endif
i2c_master_bus_handle_t codec_i2c_bus_;
// QMI8658A姿态传感器相关
@ -116,17 +143,20 @@ private:
Button story_button_{KEY4_GPIO};
bool production_test_mode_ = false;// 是否开启生产测试模式
#if ENABLE_TOUCH_PAD_BUTTONS
static const int TOUCH_QUEUE_SIZE = 5;// 触摸事件队列大小
// 生产测试模式触摸检测标志位
bool touch_detected_flag_ = false; // 触摸检测标志位
int touched_pad_index_ = -1; // 被触摸的触摸板索引
#endif
void EnterProductionTestMode();// 进入生产测试模式函数
void ReportDeviceStatus(int battery_level);// 上报设备状态到服务器
public:
#if ENABLE_TOUCH_PAD_BUTTONS
// 将静态队列句柄移到public以便静态函数访问
static QueueHandle_t touch_event_queue_;
@ -138,6 +168,7 @@ public:
void LockTouchTask(int touch_pad_num);
// 解锁触摸任务,允许处理新的触摸
void UnlockTouchTask();
#endif // ENABLE_TOUCH_PAD_BUTTONS
// 获取电池电量百分比
bool GetBatteryLevel(int &level, bool& charging, bool& discharging) override {
@ -171,10 +202,9 @@ public:
status_report_ticks_(0),
status_report_enabled_(false),
rtc_online_(false),
production_test_mode_(false),
touch_detected_flag_(false),
touched_pad_index_(-1)
production_test_mode_(false)
{
#if ENABLE_TOUCH_PAD_BUTTONS
// 初始化触摸状态
for (int i = 0; i < 4; ++i) {
touch_states_[i] = TOUCH_STATE_IDLE;
@ -187,217 +217,182 @@ public:
touch_task_locked_ = false;
active_touch_pad_ = -1;
touch_task_start_time_ = 0;
// 使用240MHz作为CPU最大频率10秒进入睡眠-1表示不自动关机
power_save_timer_ = new PowerSaveTimer(240, 10, -1);
// 设置低功耗模式回调
power_save_timer_->OnEnterSleepMode([this]() {
ESP_LOGI(TAG, "🔋 进入低功耗模式CPU降频、Light Sleep启用、功放关闭");
// 关闭功放,进一步节省电量
auto codec = GetAudioCodec();
if (codec) {
codec->EnableOutput(false);
ESP_LOGI(TAG, "🔊 功放已关闭");
}
});
power_save_timer_->OnExitSleepMode([this]() {
ESP_LOGI(TAG, "🔋 退出低功耗模式CPU恢复正常、Light Sleep禁用、功放打开");
// 打开功放,恢复正常音频输出
auto codec = GetAudioCodec();
if (codec) {
codec->EnableOutput(true);
ESP_LOGI(TAG, "🔊 功放已打开");
}
});
// 初始化按钮
InitializeButtons();
InitializeStoryButton();
touch_detected_flag_ = false;
touched_pad_index_ = -1;
#endif
// 初始化I2C总线必须在IMU传感器初始化之前
InitializeCodecI2c();
// 初始化IoT功能启用语音音量控制
InitializeIot();
// === 根据设备模式分支初始化(完全隔离,互不干扰) ===
if (device_mode_is_badge()) {
// ===== 电子吧唧模式 =====
// 完整显示初始化LCD + Touch + LVGL + SquareLine UI + 背光)
dzbj_display_init(codec_i2c_bus_);
// 不创建 PowerSaveTimer吧唧模式使用 sleep_mgr
// 不初始化 AI 音频/协议/WiFi 相关资源
ESP_LOGI(TAG, "🎴 电子吧唧模式启动");
battery_level_ = 100; // 默认电量,后续由 dzbj_battery 接管
InitializeBadgeModeButtons(); // 仅注册吧唧专用回调
InitializeBadgeMode();
} else {
// ===== AI 对话模式 =====
// 仅硬件+LVGL 初始化(不加载 SquareLine UI
dzbj_hw_display_init(codec_i2c_bus_);
// 加载 AI 对话专用屏幕
ai_chat_screen_init();
vTaskDelay(pdMS_TO_TICKS(100)); // 等待首帧渲染
pwm_init(); // 点亮背光
ESP_LOGI(TAG, "🤖 AI对话模式启动");
// 初始化电量检测
InitializeBatteryMonitor();
// 创建 PowerSaveTimer仅 AI 模式需要)
power_save_timer_ = new PowerSaveTimer(240, 10, -1);
power_save_timer_->OnEnterSleepMode([this]() {
ESP_LOGI(TAG, "🔋 进入低功耗模式CPU降频、Light Sleep启用、功放关闭");
auto codec = GetAudioCodec();
if (codec) {
codec->EnableOutput(false);
ESP_LOGI(TAG, "🔊 功放已关闭");
}
});
power_save_timer_->OnExitSleepMode([this]() {
ESP_LOGI(TAG, "🔋 退出低功耗模式CPU恢复正常、Light Sleep禁用、功放打开");
auto codec = GetAudioCodec();
if (codec) {
codec->EnableOutput(true);
ESP_LOGI(TAG, "🔊 功放已打开");
}
});
// 初始化IMU传感器
InitializeImuSensor();
InitializeAiModeButtons(); // 完整 AI 回调(含模式切换、音量、生产测试)
InitializeStoryButton();
// 启用PowerSaveTimer启用完整的低功耗管理
power_save_timer_->SetEnabled(true);
ESP_LOGI(TAG, "🔋 PowerSaveTimer已启用20秒无活动将进入低功耗模式");
// 初始化IoT功能启用语音音量控制
InitializeIot();
// 延迟调用触摸板初始化,避免在构造函数中就调用
ESP_LOGI(TAG, "在构造函数完成后调用触摸初始化");
// 使用task来延迟初始化触摸功能
xTaskCreate([](void* arg) {
MovecallMojiESP32S3* board = static_cast<MovecallMojiESP32S3*>(arg);
// 延迟一段时间,确保其他组件初始化完成
vTaskDelay(1000 / portTICK_PERIOD_MS);
ESP_LOGI(TAG, "开始延迟初始化触摸板...");
if (board) {
board->InitializeTouchPads();
}
vTaskDelete(NULL);
}, "touch_init", 4096, this, 5, NULL);
// 配网模式下跳过非必要外设,节省内部 DRAM 给 WiFi+BLE 使用
bool provisioning_mode = WifiBoard::NeedsProvisioning();
if (provisioning_mode) {
ESP_LOGI(TAG, "配网模式跳过电池检测、IMU传感器、低功耗管理");
battery_level_ = 100;
} else {
// 初始化电量检测
InitializeBatteryMonitor();
// 初始化IMU传感器
InitializeImuSensor();
// 启用PowerSaveTimer启用完整的低功耗管理
power_save_timer_->SetEnabled(true);
ESP_LOGI(TAG, "🔋 PowerSaveTimer已启用20秒无活动将进入低功耗模式");
}
#if ENABLE_TOUCH_PAD_BUTTONS
// 延迟调用触摸板初始化,避免在构造函数中就调用
ESP_LOGI(TAG, "在构造函数完成后调用触摸初始化");
xTaskCreate([](void* arg) {
MovecallMojiESP32S3* board = static_cast<MovecallMojiESP32S3*>(arg);
vTaskDelay(1000 / portTICK_PERIOD_MS);
ESP_LOGI(TAG, "开始延迟初始化触摸板...");
if (board) {
board->InitializeTouchPads();
}
vTaskDelete(NULL);
}, "touch_init", 4096, this, 5, NULL);
#else
ESP_LOGI(TAG, "电容触摸板按钮已禁用 (ENABLE_TOUCH_PAD_BUTTONS=0)");
#endif
}
}
#if ENABLE_TOUCH_PAD_BUTTONS
// 发送触摸消息
void SendTouchMessage(int touch_pad_num) {
const char* message = nullptr;
power_save_timer_->WakeUp();
if (power_save_timer_) power_save_timer_->WakeUp();
// 获取当前应用状态
auto& app = Application::GetInstance();
auto current_state = app.GetDeviceState();
// 仅在 Dialog 对话状态且内部 listening 开启时有效
if (!(current_state == kDeviceStateDialog && app.IsDialogUploadEnabled())) {
ESP_LOGI(TAG, "触摸事件无效仅在Dialog+listening内部状态下有效");
if (touch_task_locked_ && active_touch_pad_ == touch_pad_num) {
xTaskCreate([](void* arg) {
MovecallMojiESP32S3* board = static_cast<MovecallMojiESP32S3*>(arg);
if (board) {
board->UnlockTouchTask();
}
static_cast<MovecallMojiESP32S3*>(arg)->UnlockTouchTask();
vTaskDelete(NULL);
}, "unlock_invalid_state", 4096, this, 5, NULL);
}, "unlock", 4096, this, 5, NULL);
}
return;
}
// 根据流程图中的情况处理触摸事件:
// 1. 如果当前是Speaking状态触摸事件不生效
if (current_state == kDeviceStateSpeaking) {
ESP_LOGI(TAG, "当前处于Speaking状态触摸事件被忽略");
// 由于任务未能执行,立即解锁触摸任务
if (touch_task_locked_ && active_touch_pad_ == touch_pad_num) {
ESP_LOGI(TAG, "触摸任务无法执行,创建任务来解锁");
// 创建任务来解锁,避免直接调用可能导致栈溢出的操作
xTaskCreate([](void* arg) {
MovecallMojiESP32S3* board = static_cast<MovecallMojiESP32S3*>(arg);
if (board) {
board->UnlockTouchTask();
}
static_cast<MovecallMojiESP32S3*>(arg)->UnlockTouchTask();
vTaskDelete(NULL);
}, "unlock_failed", 4096, this, 5, NULL);
}, "unlock", 4096, this, 5, NULL);
}
return;
}
// 2. 如果当前是Listening状态且已检测到语音输入触摸事件不生效
if (current_state == kDeviceStateListening && app.IsVoiceDetected()) {
ESP_LOGI(TAG, "当前处于Listening状态且已检测到语音输入触摸事件被忽略");
// 由于任务未能执行,立即解锁触摸任务
if (touch_task_locked_ && active_touch_pad_ == touch_pad_num) {
ESP_LOGI(TAG, "触摸任务无法执行,创建任务来解锁");
// 创建任务来解锁,避免直接调用可能导致栈溢出的操作
xTaskCreate([](void* arg) {
MovecallMojiESP32S3* board = static_cast<MovecallMojiESP32S3*>(arg);
if (board) {
board->UnlockTouchTask();
}
static_cast<MovecallMojiESP32S3*>(arg)->UnlockTouchTask();
vTaskDelete(NULL);
}, "unlock_failed", 4096, this, 5, NULL);
}, "unlock", 4096, this, 5, NULL);
}
return;
}
// 根据触摸点选择消息
switch (touch_pad_num) {
case 0: message = "有人在摸摸你的脑袋"; break;
case 1: message = "有人在摸摸你的肚子"; break;
case 2: message = "有人在摸摸你的下巴"; break;
case 3: message = "有人在摸摸你的后背"; break;
case 0: message = "有人在摸摸你的肚子"; break;
case 1: message = "有人在摸摸你的下巴"; break;
}
// 发送消息
if (message != nullptr) {
ESP_LOGI(TAG, "发送触摸消息: \"%s\"", message);
// 仅在 Dialog+内部listening 下发送;其他状态在前面已返回
// SendTextMessage内部会自动检查协议是否初始化
app.SendTextMessage(message);
ESP_LOGI(TAG, "消息已发送");
// 消息已发送,开始监听语音回复
// 任务将在收到回复或超时后结束
// 通过TaskStateMonitor监听设备状态变化
// 创建一个任务来监控设备状态变化
if (touch_task_locked_ && active_touch_pad_ == touch_pad_num) {
ESP_LOGI(TAG, "创建任务状态监控");
xTaskCreate([](void* arg) {
MovecallMojiESP32S3* board = static_cast<MovecallMojiESP32S3*>(arg);
auto& app = Application::GetInstance();
uint32_t start_time = esp_timer_get_time() / 1000;
// 等待设备状态变为Speaking或超时
// 如果超时或设备重新回到Idle状态则解锁触摸任务
while (true) {
auto state = app.GetDeviceState();
uint32_t current_time = esp_timer_get_time() / 1000;
uint32_t elapsed = current_time - start_time;
uint32_t elapsed = esp_timer_get_time() / 1000 - start_time;
// 如果设备开始说话,等待它说完
if (state == kDeviceStateSpeaking) {
ESP_LOGI(TAG, "检测到设备进入Speaking状态等待说话完成");
// 等待设备回到Idle状态
while (app.GetDeviceState() == kDeviceStateSpeaking) {
vTaskDelay(100 / portTICK_PERIOD_MS);
// 检查超时
uint32_t now = esp_timer_get_time() / 1000;
if (now - start_time > 30000) { // 30秒超时
ESP_LOGW(TAG, "等待说话完成超时");
break;
}
if (esp_timer_get_time() / 1000 - start_time > 30000) break;
}
ESP_LOGI(TAG, "设备说话已完成,解锁触摸任务");
board->UnlockTouchTask();
break;
}
// 如果设备回到Idle状态可能是消息被忽略
else if (state == kDeviceStateIdle && elapsed > 1000) {
ESP_LOGW(TAG, "设备回到Idle状态消息可能被忽略");
} else if (state == kDeviceStateIdle && elapsed > 1000) {
board->UnlockTouchTask();
break;
} else if (elapsed > 10000) {
board->UnlockTouchTask();
break;
}
// 如果等待太久,自动解锁
else if (elapsed > 10000) { // 10秒超时
ESP_LOGW(TAG, "等待回复超时,解锁触摸任务");
board->UnlockTouchTask();
break;
}
vTaskDelay(200 / portTICK_PERIOD_MS);
}
vTaskDelete(NULL);
}, "task_monitor", 8192, this, 5, NULL);
}
} else {
// 无效的触摸点或消息,自动解锁
if (touch_task_locked_ && active_touch_pad_ == touch_pad_num) {
// 创建任务来解锁
xTaskCreate([](void* arg) {
MovecallMojiESP32S3* board = static_cast<MovecallMojiESP32S3*>(arg);
if (board) {
board->UnlockTouchTask();
}
static_cast<MovecallMojiESP32S3*>(arg)->UnlockTouchTask();
vTaskDelete(NULL);
}, "unlock_invalid", 4096, this, 5, NULL);
}, "unlock", 4096, this, 5, NULL);
}
}
}
#endif // ENABLE_TOUCH_PAD_BUTTONS
// 析构函数
~MovecallMojiESP32S3() {
@ -494,8 +489,52 @@ public:
// 按钮初始化 函数
void InitializeButtons() {
void InitializeBadgeMode() {
ESP_LOGI(TAG, "初始化电子吧唧模式外设...");
fatfs_init(); // SPIFFS 文件系统
fatfs_remove_nullData("/spiflash"); // 清理空文件
init_spiffs_image_list(); // 扫描图片列表
dzbj_button_init(); // ISR 按键驱动
dzbj_battery_init(); // 电池检测
dzbj_battery_monitor_start(); // 电池监控任务
dzbj_ble_init(); // BLE 图传服务
sleep_mgr_init(); // 低功耗管理(最后启动)
ESP_LOGI(TAG, "电子吧唧模式初始化完成");
}
// === 吧唧模式按钮初始化(仅注册吧唧专用回调,不涉及 AI 音频/协议资源) ===
void InitializeBadgeModeButtons() {
ESP_LOGI(TAG, "初始化吧唧模式按钮...");
// BOOT 单击 → 唤醒屏幕 / 退出手电筒 / 返回Home
// 注意iot_button 回调在 esp_timer 任务中执行,不能调用 vTaskDelay
// (会阻塞 lv_tick_inc 导致 LVGL 渲染停滞),必须转发到独立任务
boot_button_.OnClick([this]() {
static uint32_t last_click_time = 0;
uint32_t current_time = esp_timer_get_time() / 1000;
if (last_click_time > 0 && current_time - last_click_time < 500) {
return;
}
last_click_time = current_time;
ESP_LOGI(TAG, "吧唧模式 BOOT 单击");
xTaskCreate([](void *arg) {
dzbj_boot_click_handler();
vTaskDelete(NULL);
}, "boot_click", 4096, NULL, 5, NULL);
});
// BOOT 长按 3 秒 → 切换到 AI 模式
boot_button_.OnLongPress([this]() {
ESP_LOGI(TAG, "BOOT长按3秒吧唧→AI模式");
device_mode_set(DEVICE_MODE_AI);
});
ESP_LOGI(TAG, "Boot button initialized on GPIO%d", BOOT_BUTTON_GPIO);
ESP_LOGI(TAG, "吧唧模式按钮初始化完成");
}
// === AI 模式按钮初始化(完整的 AI 对话相关回调) ===
void InitializeAiModeButtons() {
ESP_LOGI(TAG, "初始化按钮...");// 初始化按钮...
// BOOT按键单击事件 - 用于WiFi重置和触摸解锁
@ -512,6 +551,7 @@ public:
last_click_time = current_time;
ESP_LOGI(TAG, "BOOT button clicked");
#if ENABLE_TOUCH_PAD_BUTTONS
// 创建一个单独的任务来处理触摸解锁,避免在按钮回调中执行复杂操作
xTaskCreate([](void* arg) {
MovecallMojiESP32S3* board = static_cast<MovecallMojiESP32S3*>(arg);
@ -520,6 +560,7 @@ public:
}
vTaskDelete(NULL);
}, "boot_unlock", 4096, this, 5, NULL);
#endif
// 获取当前应用实例和状态
auto &app = Application::GetInstance();
@ -691,23 +732,42 @@ public:
}
});
// 配网模式下长按 BOOT 按键5秒进入 生产测试模式 新增代码
// ==============================================================================
// 添加BOOT按键长按事件处理 - 仅在配网模式下长按5秒进入测试模式
// BOOT 长按 3 秒 → 切换设备模式AI ↔ 吧唧)
// 配网模式下跳过,因为配网模式有自己的 5s 长按处理
boot_button_.OnLongPress([this]() {
//ESP_LOGI(TAG, "🔧 BOOT button long pressed - checking if in provisioning mode");
// 检查是否处于BLE配网状态只有在配网模式下才允许进入测试模式
// 配网模式下不切换模式(留给 5s 长按进入生产测试)
auto* wifi_board = dynamic_cast<WifiBoard*>(this);
if (wifi_board && wifi_board->IsBleProvisioningActive()) {
// ESP_LOGI(TAG, "🔧 设备正在进行BLE配网长按5秒进入生产测试模式");
EnterProductionTestMode();
} else {
ESP_LOGI(TAG, "🔵 非配网模式下BOOT长按被屏蔽无法进入测试模式");
ESP_LOGI(TAG, "配网模式下长按3秒等待5秒进入生产测试...");
return;
}
ESP_LOGI(TAG, "BOOT长按3秒切换设备模式");
if (device_mode_is_badge()) {
ESP_LOGI(TAG, "吧唧模式 → AI模式");
device_mode_set(DEVICE_MODE_AI); // 写NVS + 重启
} else {
ESP_LOGI(TAG, "AI模式 → 吧唧模式");
device_mode_set(DEVICE_MODE_BADGE); // 写NVS + 重启
}
});
// ==============================================================================
// BOOT 长按 5 秒 → 仅在配网模式下进入生产测试模式
// 使用 iot_button_register_event_cb 注册 5s 阈值(独立于 3s 的 OnLongPress
{
static MovecallMojiESP32S3* self = this;
button_event_config_t evt_cfg = {};
evt_cfg.event = BUTTON_LONG_PRESS_START;
evt_cfg.event_data.long_press.press_time = 5000;
iot_button_register_event_cb(boot_button_.GetHandle(), evt_cfg,
[](void* handle, void* usr_data) {
auto* wifi_board = dynamic_cast<WifiBoard*>(self);
if (wifi_board && wifi_board->IsBleProvisioningActive()) {
ESP_LOGI(TAG, "BOOT长按5秒进入生产测试模式");
self->EnterProductionTestMode();
}
}, nullptr);
}
ESP_LOGI(TAG, "Boot button initialized on GPIO%d", BOOT_BUTTON_GPIO);
@ -1367,15 +1427,16 @@ public:
#if ENABLE_TOUCH_PAD_BUTTONS
// 设置触摸阈值
void CalibrateTouchThresholds() {
touch_pad_t touch_pads[4] = {TOUCH_PAD_NUM1, TOUCH_PAD_NUM2, TOUCH_PAD_NUM3, TOUCH_PAD_NUM7};
touch_pad_t touch_pads[2] = {TOUCH_PAD_NUM2, TOUCH_PAD_NUM3}; // Touch1(GPIO1)/Touch4(GPIO7) 被 LCD 占用
// 使用固定阈值5000
uint32_t default_threshold = 5000; // 设置为5000降低灵敏度减少误触发
// 为每个触摸板设置阈值
for (int i = 0; i < 4; ++i) {
for (int i = 0; i < 2; ++i) {
// 先读取原始值作为参考
uint32_t touch_value = 0;
esp_err_t ret = touch_pad_read_raw_data(touch_pads[i], &touch_value);
@ -1448,9 +1509,9 @@ public:
// 配置触摸传感器
ESP_LOGI(TAG, "配置触摸传感器...");
touch_pad_t touch_pads[4] = {TOUCH_PAD_NUM1, TOUCH_PAD_NUM2, TOUCH_PAD_NUM3, TOUCH_PAD_NUM7};
touch_pad_t touch_pads[2] = {TOUCH_PAD_NUM2, TOUCH_PAD_NUM3}; // Touch1(GPIO1)/Touch4(GPIO7) 被 LCD 占用
for (int i = 0; i < 4; ++i) {
for (int i = 0; i < 2; ++i) {
touch_pad_config(touch_pads[i]);
}
@ -1486,6 +1547,7 @@ public:
touch_pad_fsm_start();
ESP_LOGI(TAG, "触摸板初始化完成");
}
#endif // ENABLE_TOUCH_PAD_BUTTONS
AudioCodec* GetAudioCodec() {
// 使用延迟初始化模式确保I2C总线和编解码器按正确顺序初始化
@ -1495,7 +1557,10 @@ public:
if (audio_codec == nullptr && !init_attempted) {
init_attempted = true; // 标记为已尝试初始化
ESP_LOGI(TAG, "Initializing audio codec...");
// 配网模式:仅创建 TX 通道,跳过 RX DMA~11.5KB)和 ES7210~2-4KB
bool output_only = WifiBoard::NeedsProvisioning();
ESP_LOGI(TAG, "Initializing audio codec (%s)...", output_only ? "output only" : "duplex");
// 确保I2C总线已初始化
if (codec_i2c_bus_ == nullptr) {
ESP_LOGI(TAG, "Initializing I2C bus for audio codec...");
@ -1504,7 +1569,9 @@ public:
if (codec_i2c_bus_ != nullptr) {
try {
ESP_LOGI(TAG, "Creating BoxAudioCodec (ES8311+ES7210, %s reference) ...", AUDIO_INPUT_REFERENCE ? "with" : "without");
ESP_LOGI(TAG, "Creating BoxAudioCodec (ES8311%s, %s reference) ...",
output_only ? "" : "+ES7210",
AUDIO_INPUT_REFERENCE ? "with" : "without");
audio_codec = new BoxAudioCodec(
codec_i2c_bus_,
AUDIO_INPUT_SAMPLE_RATE,
@ -1517,7 +1584,8 @@ public:
AUDIO_CODEC_PA_PIN,
AUDIO_CODEC_ES8311_ADDR,
AUDIO_CODEC_ES7210_ADDR,
AUDIO_INPUT_REFERENCE
AUDIO_INPUT_REFERENCE,
output_only
);
ESP_LOGI(TAG, "Audio codec initialized successfully");
} catch (const std::exception& e) {
@ -1534,12 +1602,13 @@ public:
}
virtual Led* GetLed() override {
static SingleLed led_strip(BUILTIN_LED_GPIO);// 初始化单灯条对象
return &led_strip;
// BUILTIN_LED_GPIO 为 NCGPIO21 已被 LCD D3 占用)
static NoLed no_led;
return &no_led;
}
virtual Display* GetDisplay() override {
static Display display; // 空显示器对象,所有方法都是空实现
static AiChatDisplay display; // AI 对话模式专用显示
return &display;
}
@ -1637,6 +1706,7 @@ void MovecallMojiESP32S3::ReportDeviceStatus(int battery_level) {
// 初始化静态成员变量
MovecallMojiESP32S3* MovecallMojiESP32S3::instance_ = nullptr;
#if ENABLE_TOUCH_PAD_BUTTONS
QueueHandle_t MovecallMojiESP32S3::touch_event_queue_ = nullptr;
// 处理触摸事件的任务
@ -1674,7 +1744,7 @@ static void TouchEventTask(void* arg) {
// 收到实际触摸事件(应该都是按下事件)
uint32_t current_time = esp_timer_get_time() / 1000; // 当前时间(毫秒)
if (touch_event.pad_num >= 0 && touch_event.pad_num < 4) {
if (touch_event.pad_num >= 0 && touch_event.pad_num < 2) {
int pad = touch_event.pad_num;
// 记录详细的调试信息
@ -1704,7 +1774,7 @@ static void TouchEventTask(void* arg) {
uint32_t current_time = esp_timer_get_time() / 1000; // 毫秒
// 检查每个触摸点
for (int i = 0; i < 4; ++i) {
for (int i = 0; i < 2; ++i) {
if (is_touch_active[i]) {
// 如果触摸点处于激活状态并超过释放延迟
if (current_time - touch_start_time[i] >= RELEASE_DELAY_MS) {
@ -1717,8 +1787,8 @@ static void TouchEventTask(void* arg) {
}
// 检查触摸状态 (使用touch_pad_read_raw_data直接读取触摸值)
touch_pad_t touch_pads[4] = {TOUCH_PAD_NUM1, TOUCH_PAD_NUM2, TOUCH_PAD_NUM3, TOUCH_PAD_NUM7};
for (int i = 0; i < 4; i++) {
touch_pad_t touch_pads[2] = {TOUCH_PAD_NUM2, TOUCH_PAD_NUM3}; // Touch1(GPIO1)/Touch4(GPIO7) 被 LCD 占用
for (int i = 0; i < 2; i++) {
if (is_touch_active[i]) {
// 尝试读取当前触摸值,如果大于阈值,则触摸已释放
uint32_t touch_value = 0;
@ -1741,9 +1811,9 @@ void IRAM_ATTR MovecallMojiESP32S3::TouchPadISR(void* arg) {
touch_pad_clear_status();
// 处理触摸事件
touch_pad_t touch_pads[4] = {TOUCH_PAD_NUM1, TOUCH_PAD_NUM2, TOUCH_PAD_NUM3, TOUCH_PAD_NUM7};
touch_pad_t touch_pads[2] = {TOUCH_PAD_NUM2, TOUCH_PAD_NUM3}; // Touch1(GPIO1)/Touch4(GPIO7) 被 LCD 占用
for (int i = 0; i < 4; ++i) {
for (int i = 0; i < 2; ++i) {
// 检查按下事件
if (pad_intr & (1 << touch_pads[i])) {
// 生产测试模式:独立处理,不影响正常业务逻辑
@ -2008,6 +2078,7 @@ void MovecallMojiESP32S3::ResetAllTouchStates() {
// 清除触摸中断状态
touch_pad_clear_status();
}
#endif // ENABLE_TOUCH_PAD_BUTTONS
// 进入生产测试模式- 新增代码
// ==============================================================================

View File

@ -0,0 +1,26 @@
#include "ai_chat_display.h"
// 通过 extern "C" 调用纯 C 的 AI 界面函数(避免 display.h 的 lv_font_t 与 lvgl.h 冲突)
extern "C" {
void ai_chat_set_status(const char* status);
void ai_chat_set_emotion(const char* emotion);
void ai_chat_set_chat_message(const char* role, const char* content);
}
AiChatDisplay::AiChatDisplay() {
width_ = 360;
height_ = 360;
}
void AiChatDisplay::SetStatus(const char* status) {
// SimSun CJK 字体支持中文,直接显示
ai_chat_set_status(status);
}
void AiChatDisplay::SetEmotion(const char* emotion) {
ai_chat_set_emotion(emotion);
}
void AiChatDisplay::SetChatMessage(const char* role, const char* content) {
ai_chat_set_chat_message(role, content);
}

View File

@ -0,0 +1,14 @@
#ifndef AI_CHAT_DISPLAY_H
#define AI_CHAT_DISPLAY_H
#include "display.h"
class AiChatDisplay : public Display {
public:
AiChatDisplay();
void SetStatus(const char* status) override;
void SetEmotion(const char* emotion) override;
void SetChatMessage(const char* role, const char* content) override;
};
#endif // AI_CHAT_DISPLAY_H

View File

@ -103,6 +103,7 @@ SpiLcdDisplay::SpiLcdDisplay(esp_lcd_panel_io_handle_t panel_io, esp_lcd_panel_h
ESP_LOGI(TAG, "Initialize LVGL port");
lvgl_port_cfg_t port_cfg = ESP_LVGL_PORT_INIT_CONFIG();
port_cfg.task_priority = 1;
port_cfg.task_affinity = 0; // 绑定 Core 0与 WiFi/BLE 同核,让 Core 1 专供音频
port_cfg.timer_period_ms = 50;
lvgl_port_init(&port_cfg);

250
main/dzbj/ai_chat_ui.c Normal file
View File

@ -0,0 +1,250 @@
#include "ai_chat_ui.h"
#include "lvgl.h"
#include "esp_lvgl_port.h"
#include "esp_log.h"
#include <string.h>
// lv_gif API 通过 lvgl.h 自动包含LV_USE_GIF=y 时)
static const char *TAG = "AI_CHAT_UI";
// 声明阿里巴巴普惠体 20px 4bppGB2312 简体中文+ASCII
LV_FONT_DECLARE(font_puhui_20_4);
#if LV_USE_GIF
// 需要访问 lv_gif_t 内部结构(暂停/恢复定时器)
#include "extra/libs/gif/lv_gif.h"
// 声明 GIF 表情资源压缩优化200x89
LV_IMG_DECLARE(emotion_angry_200_89);
LV_IMG_DECLARE(emotion_blink1_200_89);
LV_IMG_DECLARE(emotion_blink_fast_200_89);
LV_IMG_DECLARE(emotion_blink_slow_200_89);
LV_IMG_DECLARE(emotion_dizzy_200_89);
LV_IMG_DECLARE(emotion_happy_200_89);
LV_IMG_DECLARE(emotion_sad_200_89);
LV_IMG_DECLARE(emotion_sleep_200_89);
// 声明 GIF 图标资源压缩优化45x45
LV_IMG_DECLARE(icon_emotion_confused_45);
LV_IMG_DECLARE(icon_emotion_sleep_45);
LV_IMG_DECLARE(icon_emotion_thinking_45);
#endif
// 声明旧 PNG 表情资源LV_USE_GIF 未启用时的回退)
LV_IMG_DECLARE(ui_img_neutral_png);
LV_IMG_DECLARE(ui_img_happy_png);
LV_IMG_DECLARE(ui_img_sad_png);
LV_IMG_DECLARE(ui_img_angry_png);
LV_IMG_DECLARE(ui_img_crying_png);
LV_IMG_DECLARE(ui_img_funny_png);
LV_IMG_DECLARE(ui_img_laughing_png);
// 屏幕和控件
static lv_obj_t *ai_screen = NULL;
static lv_obj_t *status_label = NULL;
static lv_obj_t *chat_label = NULL;
#if LV_USE_GIF
static lv_obj_t *gif_emotion = NULL; // GIF 表情对象
static lv_obj_t *gif_icon = NULL; // GIF 图标对象(叠加在表情右上角)
static bool gif_animation_paused = false;
#else
static lv_obj_t *emoji_img = NULL; // 旧 PNG 表情
#endif
// 背景色(纯黑,与 GIF 背景一致避免色差)
#define BG_COLOR 0x000000
// 表情→GIF 映射表
typedef struct {
const char *name;
const lv_img_dsc_t *emotion_gif;
const lv_img_dsc_t *icon_gif; // NULL 表示无叠加图标
} emotion_gif_entry_t;
#if LV_USE_GIF
static const emotion_gif_entry_t emotion_gif_map[] = {
{"neutral", &emotion_blink_slow_200_89, NULL},
{"happy", &emotion_happy_200_89, NULL},
{"laughing", &emotion_happy_200_89, NULL},
{"funny", &emotion_happy_200_89, NULL},
{"loving", &emotion_happy_200_89, NULL},
{"relaxed", &emotion_happy_200_89, NULL},
{"delicious", &emotion_happy_200_89, NULL},
{"kissy", &emotion_happy_200_89, NULL},
{"confident", &emotion_happy_200_89, NULL},
{"sad", &emotion_sad_200_89, NULL},
{"crying", &emotion_sad_200_89, NULL},
{"angry", &emotion_angry_200_89, NULL},
{"surprised", &emotion_blink_fast_200_89, NULL},
{"shocked", &emotion_blink_fast_200_89, NULL},
{"silly", &emotion_blink_fast_200_89, NULL},
{"embarrassed", &emotion_blink_fast_200_89, &icon_emotion_thinking_45},
{"thinking", &emotion_blink_fast_200_89, &icon_emotion_thinking_45},
{"confused", &emotion_blink_fast_200_89, &icon_emotion_confused_45},
{"curious", &emotion_blink_fast_200_89, &icon_emotion_confused_45},
{"dizzy", &emotion_dizzy_200_89, NULL},
{"blink", &emotion_blink1_200_89, NULL},
{"sleepy", &emotion_sleep_200_89, &icon_emotion_sleep_45},
};
#define EMOTION_GIF_MAP_SIZE (sizeof(emotion_gif_map) / sizeof(emotion_gif_map[0]))
#endif
void ai_chat_screen_init(void) {
// 创建 AI 对话屏幕
ai_screen = lv_obj_create(NULL);
lv_obj_set_style_bg_color(ai_screen, lv_color_hex(BG_COLOR), 0);
lv_obj_set_style_bg_opa(ai_screen, 255, 0);
lv_obj_clear_flag(ai_screen, LV_OBJ_FLAG_SCROLLABLE);
#if LV_USE_GIF
// GIF 表情屏幕正中央200x89
gif_emotion = lv_gif_create(ai_screen);
lv_gif_set_src(gif_emotion, &emotion_blink_slow_200_89);
lv_obj_align(gif_emotion, LV_ALIGN_CENTER, 0, 0);
// 降低 GIF 定时器频率10ms→20ms平衡动画流畅度与 CPU 占用
lv_gif_t *gifobj = (lv_gif_t *)gif_emotion;
lv_timer_set_period(gifobj->timer, 20);
// GIF 图标表情上方居中45x45
// 表情高89顶边y=-44.5icon高45中心再上移几像素避免重叠
gif_icon = lv_gif_create(ai_screen);
lv_obj_align(gif_icon, LV_ALIGN_CENTER, 0, -70);
lv_obj_add_flag(gif_icon, LV_OBJ_FLAG_HIDDEN);
#else
// 旧 PNG 表情(回退方案)
emoji_img = lv_img_create(ai_screen);
lv_img_set_src(emoji_img, &ui_img_neutral_png);
lv_obj_align(emoji_img, LV_ALIGN_CENTER, 0, 0);
#endif
// 状态文本暂时隐藏GIF 模式下不需要文字)
status_label = lv_label_create(ai_screen);
lv_obj_set_style_text_font(status_label, &font_puhui_20_4, 0);
lv_obj_set_style_text_color(status_label, lv_color_white(), 0);
lv_obj_set_width(status_label, 300);
lv_obj_set_style_text_align(status_label, LV_TEXT_ALIGN_CENTER, 0);
lv_label_set_text(status_label, "");
lv_obj_align(status_label, LV_ALIGN_CENTER, 0, 90);
#if LV_USE_GIF
lv_obj_add_flag(status_label, LV_OBJ_FLAG_HIDDEN);
#endif
// 聊天消息文本(暂时隐藏,不显示字幕)
chat_label = lv_label_create(ai_screen);
lv_obj_set_style_text_font(chat_label, &font_puhui_20_4, 0);
lv_obj_set_style_text_color(chat_label, lv_color_hex(0xAAAAAA), 0);
lv_obj_set_width(chat_label, 300);
lv_obj_set_style_text_align(chat_label, LV_TEXT_ALIGN_LEFT, 0);
lv_label_set_text(chat_label, "");
lv_obj_align(chat_label, LV_ALIGN_CENTER, 0, 50);
lv_label_set_long_mode(chat_label, LV_LABEL_LONG_WRAP);
lv_obj_add_flag(chat_label, LV_OBJ_FLAG_HIDDEN);
// 加载屏幕
lv_disp_load_scr(ai_screen);
}
void ai_chat_set_status(const char* status) {
if (!status_label) return;
#if LV_USE_GIF
// GIF 模式下隐藏状态文字,仅记录日志
ESP_LOGD(TAG, "状态: %sGIF模式不显示", status);
(void)status;
#else
lvgl_port_lock(50);
lv_label_set_text(status_label, status);
lvgl_port_unlock();
#endif
}
void ai_chat_resume_animation(void) {
#if LV_USE_GIF
if (!gif_emotion || !gif_animation_paused) return;
if (!lvgl_port_lock(200)) return;
lv_gif_t *gifobj = (lv_gif_t *)gif_emotion;
lv_timer_resume(gifobj->timer);
gif_animation_paused = false;
ESP_LOGI(TAG, "GIF动画已恢复播放");
lvgl_port_unlock();
#endif
}
void ai_chat_set_emotion(const char* emotion) {
if (!emotion) return;
#if LV_USE_GIF
if (!gif_emotion) return;
if (!lvgl_port_lock(200)) {
ESP_LOGW(TAG, "LVGL锁超时跳过表情切换: %s", emotion);
return;
}
// 查找映射表
const emotion_gif_entry_t *entry = NULL;
for (int i = 0; i < EMOTION_GIF_MAP_SIZE; i++) {
if (strcmp(emotion, emotion_gif_map[i].name) == 0) {
entry = &emotion_gif_map[i];
break;
}
}
// 未找到映射,默认使用 neutral
if (!entry) {
ESP_LOGW(TAG, "未映射的GIF表情: %s, 使用 neutral", emotion);
entry = &emotion_gif_map[0]; // neutral
}
// 切换表情 GIFlv_gif_set_src 内部已自动启动播放)
lv_gif_set_src(gif_emotion, entry->emotion_gif);
// set_src 内部会重建 10ms 定时器,重新设置为 50ms 降低 CPU 占用
lv_gif_t *gifobj = (lv_gif_t *)gif_emotion;
lv_timer_set_period(gifobj->timer, 20);
gif_animation_paused = false;
// 处理叠加图标
if (entry->icon_gif) {
lv_gif_set_src(gif_icon, entry->icon_gif);
lv_gif_t *icon_gifobj = (lv_gif_t *)gif_icon;
lv_timer_set_period(icon_gifobj->timer, 20);
lv_obj_clear_flag(gif_icon, LV_OBJ_FLAG_HIDDEN);
} else {
// 隐藏图标时暂停其定时器,避免空跑浪费 CPU
lv_gif_t *icon_gifobj = (lv_gif_t *)gif_icon;
if (icon_gifobj->gif) {
lv_timer_pause(icon_gifobj->timer);
}
lv_obj_add_flag(gif_icon, LV_OBJ_FLAG_HIDDEN);
}
ESP_LOGI(TAG, "GIF表情切换: %s%s", emotion, entry->icon_gif ? " +图标" : "");
lvgl_port_unlock();
#else
// 旧 PNG 回退逻辑
if (!emoji_img) return;
lvgl_port_lock(50);
const lv_img_dsc_t *img = &ui_img_neutral_png;
if (strcmp(emotion, "neutral") == 0) img = &ui_img_neutral_png;
else if (strcmp(emotion, "happy") == 0) img = &ui_img_happy_png;
else if (strcmp(emotion, "sad") == 0) img = &ui_img_sad_png;
else if (strcmp(emotion, "angry") == 0) img = &ui_img_angry_png;
else if (strcmp(emotion, "surprised") == 0) img = &ui_img_funny_png;
else if (strcmp(emotion, "crying") == 0) img = &ui_img_crying_png;
else if (strcmp(emotion, "laughing") == 0) img = &ui_img_laughing_png;
lv_img_set_src(emoji_img, img);
lvgl_port_unlock();
#endif
}
void ai_chat_set_chat_message(const char* role, const char* content) {
if (!chat_label) return;
// 字幕暂时隐藏,不更新内容
// 后续恢复时去掉 return 和 ai_chat_screen_init 中的 LV_OBJ_FLAG_HIDDEN
(void)role;
(void)content;
}

28
main/dzbj/ai_chat_ui.h Normal file
View File

@ -0,0 +1,28 @@
#ifndef _AI_CHAT_UI_H_
#define _AI_CHAT_UI_H_
#ifdef __cplusplus
extern "C" {
#endif
// 创建并加载 AI 对话屏幕
void ai_chat_screen_init(void);
// 更新状态文本(如 "Listening...", "Speaking..."
void ai_chat_set_status(const char* status);
// 更新情绪指示(改变指示圆点颜色)
void ai_chat_set_emotion(const char* emotion);
// 更新聊天消息(预留接口)
void ai_chat_set_chat_message(const char* role, const char* content);
// 恢复 GIF 动画播放(开机音频播放完成后调用)
void ai_chat_resume_animation(void);
#ifdef __cplusplus
}
#endif
#endif // _AI_CHAT_UI_H_

37
main/dzbj/device_mode.c Normal file
View File

@ -0,0 +1,37 @@
#include "device_mode.h"
#include "nvs_flash.h"
#include "esp_log.h"
#include "esp_system.h"
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#define TAG "DeviceMode"
#define NVS_NAMESPACE "device"
#define NVS_KEY "mode"
device_mode_t device_mode_get(void) {
nvs_handle_t h;
int32_t mode = DEVICE_MODE_AI;
if (nvs_open(NVS_NAMESPACE, NVS_READONLY, &h) == ESP_OK) {
nvs_get_i32(h, NVS_KEY, &mode);
nvs_close(h);
}
return (device_mode_t)mode;
}
void device_mode_set(device_mode_t mode) {
nvs_handle_t h;
if (nvs_open(NVS_NAMESPACE, NVS_READWRITE, &h) == ESP_OK) {
nvs_set_i32(h, NVS_KEY, (int32_t)mode);
nvs_commit(h);
nvs_close(h);
}
ESP_LOGI(TAG, "模式切换为 %s即将重启...",
mode == DEVICE_MODE_BADGE ? "吧唧" : "AI");
vTaskDelay(pdMS_TO_TICKS(500));
esp_restart();
}
bool device_mode_is_badge(void) {
return device_mode_get() == DEVICE_MODE_BADGE;
}

38
main/dzbj/device_mode.h Normal file
View File

@ -0,0 +1,38 @@
#pragma once
#include <stdbool.h>
#ifdef __cplusplus
extern "C" {
#endif
/**
* @brief
*/
typedef enum {
DEVICE_MODE_AI = 0, // AI对话模式WiFi + RTC
DEVICE_MODE_BADGE = 1, // 电子吧唧模式BLE + 图片)
} device_mode_t;
/**
* @brief NVS
* @return DEVICE_MODE_AI
*/
device_mode_t device_mode_get(void);
/**
* @brief
* @param mode
* NVS 500ms esp_restart()
*/
void device_mode_set(device_mode_t mode);
/**
* @brief
* @return true , false AI模式
*/
bool device_mode_is_badge(void);
#ifdef __cplusplus
}
#endif

228
main/dzbj/dzbj_battery.c Normal file
View File

@ -0,0 +1,228 @@
#include "dzbj_battery.h"
#include "esp_adc/adc_oneshot.h"
#include "esp_adc/adc_cali.h"
#include "esp_adc/adc_cali_scheme.h"
#include "esp_log.h"
#include "esp_check.h"
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "esp_lvgl_port.h"
#include "../ui/screens/ui_ScreenSet.h"
// ScreenHome界面不关联电池电量显示
#include <stdio.h>
static const char *TAG = "DZBJ_BAT";
// ADC句柄
static adc_oneshot_unit_handle_t adc_handle = NULL;
static adc_cali_handle_t cali_handle = NULL;
static bool cali_enabled = false;
// 当前电池数据
static uint32_t bat_voltage_mv = 0;
static uint8_t bat_level = 0;
// 锂电池放电曲线查找表基于典型3.7V单节锂电池放电特性)
// 电压单位:毫伏,电量单位:百分比
typedef struct {
uint16_t voltage_mv;
uint8_t level;
} bat_curve_point_t;
static const bat_curve_point_t bat_curve[] = {
{4200, 100},
{4150, 95},
{4110, 90},
{4080, 85},
{4020, 80},
{3980, 75},
{3950, 70},
{3910, 65},
{3870, 60},
{3840, 55},
{3800, 50},
{3760, 45},
{3730, 40},
{3700, 35},
{3680, 30},
{3650, 25},
{3630, 20},
{3600, 15},
{3570, 10},
{3530, 5},
{3400, 2},
{3000, 0},
};
#define BAT_CURVE_SIZE (sizeof(bat_curve) / sizeof(bat_curve[0]))
// 电压转电量(线性插值,提高精度)
static uint8_t voltage_to_level(uint32_t voltage_mv)
{
// 超出上限
if (voltage_mv >= bat_curve[0].voltage_mv) {
return 100;
}
// 低于下限
if (voltage_mv <= bat_curve[BAT_CURVE_SIZE - 1].voltage_mv) {
return 0;
}
// 在查找表中线性插值
for (int i = 0; i < BAT_CURVE_SIZE - 1; i++) {
if (voltage_mv >= bat_curve[i + 1].voltage_mv) {
uint32_t v_range = bat_curve[i].voltage_mv - bat_curve[i + 1].voltage_mv;
uint32_t l_range = bat_curve[i].level - bat_curve[i + 1].level;
uint32_t v_offset = voltage_mv - bat_curve[i + 1].voltage_mv;
return bat_curve[i + 1].level + (uint8_t)((v_offset * l_range) / v_range);
}
}
return 0;
}
// 初始化ADC校准
static void battery_cali_init(void)
{
#if ADC_CALI_SCHEME_CURVE_FITTING_SUPPORTED
// ESP32-S3 使用曲线拟合校准
adc_cali_curve_fitting_config_t cali_cfg = {
.unit_id = ADC_UNIT_1,
.chan = BAT_ADC_CHANNEL,
.atten = ADC_ATTEN_DB_12,
.bitwidth = ADC_BITWIDTH_DEFAULT,
};
esp_err_t ret = adc_cali_create_scheme_curve_fitting(&cali_cfg, &cali_handle);
#elif ADC_CALI_SCHEME_LINE_FITTING_SUPPORTED
// 备用:线性拟合校准
adc_cali_line_fitting_config_t cali_cfg = {
.unit_id = ADC_UNIT_1,
.atten = ADC_ATTEN_DB_12,
.bitwidth = ADC_BITWIDTH_DEFAULT,
};
esp_err_t ret = adc_cali_create_scheme_line_fitting(&cali_cfg, &cali_handle);
#else
esp_err_t ret = ESP_ERR_NOT_SUPPORTED;
#endif
if (ret == ESP_OK) {
cali_enabled = true;
ESP_LOGI(TAG, "ADC校准初始化成功");
} else {
ESP_LOGW(TAG, "ADC校准不可用将使用原始值换算");
}
}
esp_err_t dzbj_battery_init(void)
{
// 初始化ADC单元
adc_oneshot_unit_init_cfg_t unit_cfg = {
.unit_id = ADC_UNIT_1,
.ulp_mode = ADC_ULP_MODE_DISABLE,
};
ESP_RETURN_ON_ERROR(adc_oneshot_new_unit(&unit_cfg, &adc_handle),
TAG, "ADC单元初始化失败");
// 配置ADC通道11dB衰减量程约0~2500mV
adc_oneshot_chan_cfg_t chan_cfg = {
.atten = ADC_ATTEN_DB_12,
.bitwidth = ADC_BITWIDTH_DEFAULT,
};
ESP_RETURN_ON_ERROR(adc_oneshot_config_channel(adc_handle, BAT_ADC_CHANNEL, &chan_cfg),
TAG, "ADC通道配置失败");
// 初始化校准
battery_cali_init();
ESP_LOGI(TAG, "电池ADC初始化完成 (GPIO%d, ADC1_CH%d, 分压比=%d)",
PIN_BAT_ADC, BAT_ADC_CHANNEL, BAT_VOLTAGE_DIVIDER);
return ESP_OK;
}
uint32_t dzbj_battery_get_voltage_mv(void)
{
return bat_voltage_mv;
}
uint8_t dzbj_battery_get_level(void)
{
return bat_level;
}
// 读取ADC并计算电池电压和电量
static void battery_read(void)
{
int adc_sum = 0;
int valid_count = 0;
// 多次采样取平均,滤除噪声
for (int i = 0; i < BAT_SAMPLE_COUNT; i++) {
int raw;
if (adc_oneshot_read(adc_handle, BAT_ADC_CHANNEL, &raw) == ESP_OK) {
adc_sum += raw;
valid_count++;
}
vTaskDelay(pdMS_TO_TICKS(2));
}
if (valid_count == 0) {
ESP_LOGE(TAG, "ADC采样全部失败");
return;
}
int adc_avg = adc_sum / valid_count;
// 使用校准值或原始换算得到ADC引脚电压
int adc_voltage_mv = 0;
if (cali_enabled) {
adc_cali_raw_to_voltage(cali_handle, adc_avg, &adc_voltage_mv);
} else {
// 无校准时按3300mV参考电压线性换算
adc_voltage_mv = (adc_avg * 3300) / 4095;
}
// 乘以分压系数得到实际电池电压
bat_voltage_mv = (uint32_t)adc_voltage_mv * BAT_VOLTAGE_DIVIDER;
// 查找表+插值计算电量百分比
bat_level = voltage_to_level(bat_voltage_mv);
ESP_LOGI(TAG, "ADC原始值=%d, ADC电压=%dmV, 电池电压=%lumV, 电量=%d%%",
adc_avg, adc_voltage_mv, (unsigned long)bat_voltage_mv, bat_level);
}
// 更新UI电量显示线程安全
static void battery_update_ui(void)
{
if (!lvgl_port_lock(100)) {
return;
}
char buf[8];
snprintf(buf, sizeof(buf), "%d%%", bat_level);
// 只更新ScreenSet界面的电量圆弧和标签
if (ui_ArcPowerLevel) {
lv_arc_set_value(ui_ArcPowerLevel, bat_level);
}
if (ui_LabelPowerLevel) {
lv_label_set_text(ui_LabelPowerLevel, buf);
}
// ScreenHome界面的Arc1和Label1保持默认值不关联电池电量
lvgl_port_unlock();
}
// 电池监控任务
static void battery_monitor_task(void *pvParameters)
{
while (1) {
battery_read();
battery_update_ui();
vTaskDelay(pdMS_TO_TICKS(BAT_MONITOR_INTERVAL_MS));
}
}
void dzbj_battery_monitor_start(void)
{
xTaskCreate(battery_monitor_task, "bat_mon", 4096, NULL, 3, NULL);
ESP_LOGI(TAG, "电池监控任务已启动,更新间隔%dms", BAT_MONITOR_INTERVAL_MS);
}

38
main/dzbj/dzbj_battery.h Normal file
View File

@ -0,0 +1,38 @@
#pragma once
#ifdef __cplusplus
extern "C" {
#endif
#include "esp_err.h"
#include <stdint.h>
// 电池ADC引脚配置
#define PIN_BAT_ADC 3 // GPIO3
#define BAT_ADC_CHANNEL ADC_CHANNEL_2 // ADC1_CH2
// 分压比(实际电池电压 = ADC测量电压 * 此系数)
// 根据硬件电路中的分压电阻调整1:1分压器设为2
#define BAT_VOLTAGE_DIVIDER 2
// 采样次数(取平均值,提高精度)
#define BAT_SAMPLE_COUNT 32
// 监控间隔(毫秒)
#define BAT_MONITOR_INTERVAL_MS 5000
// 初始化电池ADC检测
esp_err_t dzbj_battery_init(void);
// 获取电池电压(毫伏)
uint32_t dzbj_battery_get_voltage_mv(void);
// 获取电池电量百分比0-100
uint8_t dzbj_battery_get_level(void);
// 启动电池监控任务周期性读取ADC并更新UI
void dzbj_battery_monitor_start(void);
#ifdef __cplusplus
}
#endif

433
main/dzbj/dzbj_ble.c Normal file
View File

@ -0,0 +1,433 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "esp_log.h"
#include "esp_bt.h"
#include "esp_gap_ble_api.h"
#include "esp_gatts_api.h"
#include "esp_bt_main.h"
#include "esp_bt_device.h"
#include "esp_gatt_common_api.h"
#include "esp_mac.h"
#include "fatfs.h"
#include "pages.h"
#define APP_ID_PLACEHOLDER 0
#define IMAGE_SERVICE_INSTID 0x0B
#define IMAGE_SERVICE_UUID 0x0B00
#define IMAGE_WRITE_UUID 0x0B01
#define IMAGE_EDIT_UUID 0x0B02
static uint16_t image_service_handle = 0;
static uint16_t image_write_handle = 0;
static uint16_t image_edit_handle = 0;
static void esp_gap_cb(esp_gap_ble_cb_event_t event, esp_ble_gap_cb_param_t *param);
static void gatts_event_handler(esp_gatts_cb_event_t event, esp_gatt_if_t gatts_if, esp_ble_gatts_cb_param_t *param);
static const char *CONN_TAG = "DZBJ_BLE";
static char ble_device_name[32];
static uint8_t adv_raw_len = 0;
static uint16_t conn_id;
static char *filepath;
typedef struct
{
uint8_t type;
char filename[23];
uint32_t len;
} Megtype;
typedef struct{
bool isSend;
uint32_t port;
} MegStatus;
Megtype firstMeg;
MegStatus SendStatus = {false,0};
uint8_t *img_data = 0;
FILE *file_img;
// BLE 图片处理任务NVS 写入 + 导航显示在独立任务中执行,避免 BTC_TASK 栈溢出)
static TaskHandle_t ble_process_task_handle = NULL;
static char ble_pending_filename[24];
static uint8_t *ble_pending_data = NULL; // 传输完成的图片数据(直通显示,跳过 SPIFFS 重读)
static size_t ble_pending_data_size = 0;
static void ble_process_task(void *arg) {
while (1) {
ulTaskNotifyTake(pdTRUE, portMAX_DELAY);
nvs_change_img(ble_pending_filename);
ble_image_navigate_with_data(ble_pending_filename, ble_pending_data, ble_pending_data_size);
ble_pending_data = NULL; // 所有权已转移,不再释放
ble_pending_data_size = 0;
}
}
static uint8_t attr_value_write[512] = {0};
static uint8_t attr_value_edit[20] = {0};
static esp_attr_value_t char_val_image_write = {
.attr_max_len = 512,
.attr_len = 512,
.attr_value = attr_value_write
} ;
static esp_attr_value_t char_val_image_edit = {
.attr_max_len = 20,
.attr_len = 20,
.attr_value = attr_value_edit
} ;
static esp_attr_control_t control_image_write = {
.auto_rsp = ESP_GATT_AUTO_RSP
};
static esp_attr_control_t control_image_edit = {
.auto_rsp = ESP_GATT_AUTO_RSP
};
// 图片传输服务
static esp_gatt_srvc_id_t server_id_image = {
.id.uuid.len = ESP_UUID_LEN_16,
.id.uuid.uuid.uuid16 = IMAGE_SERVICE_UUID,
.id.inst_id = IMAGE_SERVICE_INSTID,
.is_primary = true,
};
static esp_bt_uuid_t image_write_uuid = {
.len = ESP_UUID_LEN_16,
.uuid.uuid16 = IMAGE_WRITE_UUID,
};
static esp_bt_uuid_t image_edit_uuid = {
.len = ESP_UUID_LEN_16,
.uuid.uuid16 = IMAGE_EDIT_UUID,
};
static esp_ble_adv_params_t adv_params = {
.adv_int_min = 0x20,
.adv_int_max = 0x20,
.adv_type = ADV_TYPE_IND,
.own_addr_type = BLE_ADDR_TYPE_PUBLIC,
.channel_map = ADV_CHNL_ALL,
.adv_filter_policy = ADV_FILTER_ALLOW_SCAN_ANY_CON_ANY,
};
static uint8_t adv_raw_data[31];
// Scan Response 数据:厂商标识 + 服务UUID
static uint8_t scan_rsp_data[] = {
0x07, ESP_BLE_AD_MANUFACTURER_SPECIFIC_TYPE, 0x4C, 0x44, 0x64, 0x7A, 0x62, 0x6A, // "LDdzbj"
0x03, ESP_BLE_AD_TYPE_16SRV_CMPL, 0x00, 0x0B, // 服务UUID 0x0B00
};
void dzbj_ble_init(void)
{
esp_err_t ret;
ESP_ERROR_CHECK(esp_bt_controller_mem_release(ESP_BT_MODE_CLASSIC_BT));
esp_bt_controller_config_t bt_cfg = BT_CONTROLLER_INIT_CONFIG_DEFAULT();
ret = esp_bt_controller_init(&bt_cfg);
if (ret) {
ESP_LOGE(CONN_TAG, "%s initialize controller failed: %s", __func__, esp_err_to_name(ret));
return;
}
ret = esp_bt_controller_enable(ESP_BT_MODE_BLE);
if (ret) {
ESP_LOGE(CONN_TAG, "%s enable controller failed: %s", __func__, esp_err_to_name(ret));
return;
}
ret = esp_bluedroid_init();
if (ret) {
ESP_LOGE(CONN_TAG, "%s init bluetooth failed: %s", __func__, esp_err_to_name(ret));
return;
}
ret = esp_bluedroid_enable();
if (ret) {
ESP_LOGE(CONN_TAG, "%s enable bluetooth failed: %s", __func__, esp_err_to_name(ret));
return;
}
ret = esp_ble_gap_register_callback(esp_gap_cb);
if (ret) {
ESP_LOGE(CONN_TAG, "%s gap register failed, error code = %x", __func__, ret);
return;
}
ret = esp_ble_gatts_register_callback(gatts_event_handler);
if (ret) {
ESP_LOGE(CONN_TAG, "%s gatts register failed, error code = %x", __func__, ret);
return;
}
ret = esp_ble_gatts_app_register(APP_ID_PLACEHOLDER);
if (ret) {
ESP_LOGE(CONN_TAG, "%s gatts app register failed, error code = %x", __func__, ret);
return;
}
ret = esp_ble_gatt_set_local_mtu(512);
if (ret) {
ESP_LOGE(CONN_TAG, "set local MTU failed, error code = %x", ret);
return;
}
// 获取 BLE MAC 地址并构建设备名称: Airhub_xx:xx:xx:xx:xx:xx
const uint8_t *ble_addr = esp_bt_dev_get_address();
if (ble_addr) {
snprintf(ble_device_name, sizeof(ble_device_name),
"Airhub_%02x:%02x:%02x:%02x:%02x:%02x",
ble_addr[0], ble_addr[1], ble_addr[2],
ble_addr[3], ble_addr[4], ble_addr[5]);
ESP_LOGI(CONN_TAG, "BLE MAC: %02x:%02x:%02x:%02x:%02x:%02x",
ble_addr[0], ble_addr[1], ble_addr[2],
ble_addr[3], ble_addr[4], ble_addr[5]);
} else {
strcpy(ble_device_name, "Airhub_BLE");
ESP_LOGW(CONN_TAG, "获取BLE MAC失败使用默认名称: %s", ble_device_name);
}
ret = esp_ble_gap_set_device_name(ble_device_name);
if (ret) {
ESP_LOGE(CONN_TAG, "set device name failed, error code = %x", ret);
return;
}
ESP_LOGI(CONN_TAG, "蓝牙设备名称: %s", ble_device_name);
// 构建广播数据: Flags + Complete Local Name
uint8_t name_len = strlen(ble_device_name);
int offset = 0;
adv_raw_data[offset++] = 0x02;
adv_raw_data[offset++] = ESP_BLE_AD_TYPE_FLAG;
adv_raw_data[offset++] = 0x06;
adv_raw_data[offset++] = name_len + 1;
adv_raw_data[offset++] = ESP_BLE_AD_TYPE_NAME_CMPL;
memcpy(&adv_raw_data[offset], ble_device_name, name_len);
offset += name_len;
adv_raw_len = offset;
ret = esp_ble_gap_config_adv_data_raw(adv_raw_data, adv_raw_len);
if (ret) {
ESP_LOGE(CONN_TAG, "config adv data failed, error code = %x", ret);
}
// 配置 Scan Response 数据(厂商标识 "dzbj" + 服务UUID
ret = esp_ble_gap_config_scan_rsp_data_raw(scan_rsp_data, sizeof(scan_rsp_data));
if (ret) {
ESP_LOGE(CONN_TAG, "config scan response data failed, error code = %x", ret);
}
// 创建图片处理任务8KB 栈,足够 SPIFFS 扫描 + LVGL + GIF 解码)
xTaskCreate(ble_process_task, "ble_img", 8192, NULL, 5, &ble_process_task_handle);
}
void dzbj_ble_deinit(void)
{
esp_ble_gap_stop_advertising();
esp_ble_gatts_app_unregister(0);
esp_bluedroid_disable();
esp_bluedroid_deinit();
esp_bt_controller_disable();
esp_bt_controller_deinit();
}
static void esp_gap_cb(esp_gap_ble_cb_event_t event, esp_ble_gap_cb_param_t *param)
{
switch (event) {
case ESP_GAP_BLE_ADV_DATA_RAW_SET_COMPLETE_EVT:
ESP_LOGI(CONN_TAG, "Advertising data set, status %d", param->adv_data_raw_cmpl.status);
// ADV 数据设置完成,等待 Scan Response 也设置完成后再开始广播
break;
case ESP_GAP_BLE_SCAN_RSP_DATA_RAW_SET_COMPLETE_EVT:
ESP_LOGI(CONN_TAG, "Scan response data set, status %d", param->scan_rsp_data_raw_cmpl.status);
esp_ble_gap_start_advertising(&adv_params);
break;
case ESP_GAP_BLE_ADV_START_COMPLETE_EVT:
if (param->adv_start_cmpl.status != ESP_BT_STATUS_SUCCESS) {
ESP_LOGE(CONN_TAG, "Advertising start failed, status %d", param->adv_start_cmpl.status);
break;
}
ESP_LOGI(CONN_TAG, "Advertising start successfully");
break;
case ESP_GAP_BLE_ADV_STOP_COMPLETE_EVT:
if (param->adv_stop_cmpl.status != ESP_BT_STATUS_SUCCESS) {
ESP_LOGE(CONN_TAG, "Advertising stop failed, status %d", param->adv_stop_cmpl.status);
}
ESP_LOGI(CONN_TAG, "Advertising stop successfully");
break;
case ESP_GAP_BLE_UPDATE_CONN_PARAMS_EVT:
ESP_LOGI(CONN_TAG, "Connection params update, status %d, conn_int %d, latency %d, timeout %d",
param->update_conn_params.status,
param->update_conn_params.conn_int,
param->update_conn_params.latency,
param->update_conn_params.timeout);
break;
case ESP_GAP_BLE_PHY_UPDATE_COMPLETE_EVT:
ESP_LOGI(CONN_TAG, "PHY update, status %d, tx_phy %d, rx_phy %d",
param->phy_update.status,
param->phy_update.tx_phy,
param->phy_update.rx_phy);
// tx_phy/rx_phy: 1=1M, 2=2M, 3=Coded
break;
default:
break;
}
}
// GATT服务器事件处理函数
static void gatts_event_handler(esp_gatts_cb_event_t event, esp_gatt_if_t gatts_if, esp_ble_gatts_cb_param_t *param)
{
switch (event) {
case ESP_GATTS_REG_EVT:
ESP_LOGI(CONN_TAG, "GATT server register, status %d, app_id %d",param->reg.status, param->reg.app_id);
// 创建图片传输服务
esp_ble_gatts_create_service(gatts_if,&server_id_image,10);
break;
case ESP_GATTS_CREATE_EVT:
if (param->create.status == ESP_GATT_OK) {
image_service_handle = param->create.service_handle;
esp_ble_gatts_add_char(
image_service_handle,
&image_write_uuid,
ESP_GATT_PERM_WRITE,
ESP_GATT_CHAR_PROP_BIT_WRITE | ESP_GATT_CHAR_PROP_BIT_WRITE_NR,
&char_val_image_write,
&control_image_write
);
esp_ble_gatts_add_char(
image_service_handle,
&image_edit_uuid,
ESP_GATT_PERM_WRITE,
ESP_GATT_CHAR_PROP_BIT_WRITE | ESP_GATT_CHAR_PROP_BIT_WRITE_NR,
&char_val_image_edit,
&control_image_edit
);
ESP_LOGI(CONN_TAG, "图片传输服务创建成功,句柄: %x", image_service_handle);
} else {
ESP_LOGE(CONN_TAG, "服务创建失败,状态: %d", param->create.status);
}
break;
case ESP_GATTS_ADD_CHAR_EVT:
if (param->add_char.status == ESP_GATT_OK) {
if (param->add_char.char_uuid.uuid.uuid16 == (uint16_t)IMAGE_WRITE_UUID) {
image_write_handle = param->add_char.attr_handle;
ESP_LOGI(CONN_TAG, "图片写入特征创建成功,句柄: %d", image_write_handle);
} else if (param->add_char.char_uuid.uuid.uuid16 == (uint16_t)IMAGE_EDIT_UUID) {
image_edit_handle = param->add_char.attr_handle;
ESP_LOGI(CONN_TAG, "图片编辑特征创建成功,句柄: %d", image_edit_handle);
esp_ble_gatts_start_service(image_service_handle);
}
} else {
ESP_LOGE(CONN_TAG, "特征创建失败,状态: %d", param->add_char.status);
}
break;
case ESP_GATTS_WRITE_EVT:
if(param->write.handle == image_write_handle){
uint8_t *value = param->write.value;
if(!SendStatus.isSend){
ESP_LOGI(CONN_TAG, "处理前序数据");
firstMeg.type = value[0];
memcpy(firstMeg.filename, value + 1, 22);
firstMeg.filename[22] = '\0';
firstMeg.len = (value[23] << 16) | (value[24] << 8) | value[25];
ESP_LOGI(CONN_TAG, "图片数据长度:%d",(int)firstMeg.len);
if(firstMeg.type == 0xfd){
SendStatus.isSend = true;
img_data = malloc((int)firstMeg.len);
filepath = malloc(sizeof(char) * 33);
sprintf(filepath,"/spiflash/%s",firstMeg.filename);
file_img = fopen(filepath,"wb");
ESP_LOGI(CONN_TAG,"传输通道建立成功,数据指针:%p,文件名称:%s,文件大小:%d",img_data,firstMeg.filename,(int)firstMeg.len);
}
}else if(SendStatus.isSend){
uint8_t pkt_no = *value;
uint8_t isEnd = *(value + 1);
// 每 100 包或最后一包打印日志(减少串口输出提升传输速度)
if (pkt_no % 100 == 0 || isEnd) {
ESP_LOGI(CONN_TAG, "获取到数据:第:%d包,长度:%d,是否结束:%d", pkt_no+1, (int)param->write.len, isEnd);
}
uint8_t *data = value + 2;
memcpy(img_data + SendStatus.port,data,(int)param->write.len-2);
SendStatus.port += param->write.len-2;
if(isEnd){
ESP_LOGI(CONN_TAG,"数据接收完毕,累计:%d字节预期:%d字节首字节:%02X %02X",
(int)SendStatus.port,(int)firstMeg.len,img_data[0],img_data[1]);
fwrite(img_data,sizeof(uint8_t),firstMeg.len,file_img);
fclose(file_img);
SendStatus.isSend = false;
SendStatus.port = 0;
// img_data 不释放,传给显示任务直通显示(跳过 SPIFFS 重读)
ble_pending_data = img_data;
ble_pending_data_size = firstMeg.len;
img_data = NULL; // 转移所有权
free(filepath);
ESP_LOGI(CONN_TAG,"图片接收成功,数据直通显示(%d字节)", (int)ble_pending_data_size);
strncpy(ble_pending_filename, firstMeg.filename, sizeof(ble_pending_filename) - 1);
ble_pending_filename[sizeof(ble_pending_filename) - 1] = '\0';
xTaskNotifyGive(ble_process_task_handle);
}
}
}// 图片编辑特征写入事件
else if(param->write.handle == image_edit_handle){
uint8_t *value = param->write.value;
char imgName[23];
uint8_t type = *(value + param->write.len - 1);
memcpy(imgName, value, 23);
if(type == 0xff){
// 耗时操作转移到独立任务执行
strncpy(ble_pending_filename, imgName, sizeof(ble_pending_filename) - 1);
ble_pending_filename[sizeof(ble_pending_filename) - 1] = '\0';
xTaskNotifyGive(ble_process_task_handle);
}else if(type == 0xF1){
remove(filepath);
SendStatus.isSend = false;
SendStatus.port = 0;
free(img_data);
free(filepath);
}
}
break;
case ESP_GATTS_CONNECT_EVT: {
esp_ble_conn_update_params_t conn_params = {0};
memcpy(conn_params.bda, param->connect.remote_bda, sizeof(esp_bd_addr_t));
conn_params.latency = 0;
conn_params.max_int = 16; // 16 × 1.25ms = 20ms缩短连接间隔提升传输吞吐量
conn_params.min_int = 6; // 6 × 1.25ms = 7.5ms
conn_params.timeout = 400;
conn_id = param->connect.conn_id;
ESP_LOGI(CONN_TAG, "Connected, conn_id %u, remote "ESP_BD_ADDR_STR"",
param->connect.conn_id, ESP_BD_ADDR_HEX(param->connect.remote_bda));
esp_ble_gap_update_conn_params(&conn_params);
// 请求 2M PHY 提升传输速度(对端不支持时自动回退 1M不影响兼容性
esp_ble_gap_set_preferred_phy(param->connect.remote_bda,
ESP_BLE_GAP_NO_PREFER_TRANSMIT_PHY | ESP_BLE_GAP_NO_PREFER_RECEIVE_PHY,
ESP_BLE_GAP_PHY_2M_PREF_MASK,
ESP_BLE_GAP_PHY_2M_PREF_MASK,
ESP_BLE_GAP_PHY_OPTIONS_NO_PREF);
break;
}
case ESP_GATTS_DISCONNECT_EVT:
ESP_LOGI(CONN_TAG, "Disconnected, remote "ESP_BD_ADDR_STR", reason 0x%02x",
ESP_BD_ADDR_HEX(param->disconnect.remote_bda), param->disconnect.reason);
// 清理未完成的传输,防止内存泄漏
if (SendStatus.isSend) {
ESP_LOGW(CONN_TAG, "传输中断,已接收 %d/%d 字节",
(int)SendStatus.port, (int)firstMeg.len);
SendStatus.isSend = false;
SendStatus.port = 0;
if (img_data) { free(img_data); img_data = NULL; }
if (filepath) { free(filepath); filepath = NULL; }
if (file_img) { fclose(file_img); file_img = NULL; }
}
esp_ble_gap_start_advertising(&adv_params);
break;
default:
break;
}
}

15
main/dzbj/dzbj_ble.h Normal file
View File

@ -0,0 +1,15 @@
#pragma once
#ifdef __cplusplus
extern "C" {
#endif
// 初始化 BLE 图传服务
void dzbj_ble_init(void);
// 反初始化 BLE 图传服务(释放蓝牙协议栈资源)
void dzbj_ble_deinit(void);
#ifdef __cplusplus
}
#endif

155
main/dzbj/dzbj_button.c Normal file
View File

@ -0,0 +1,155 @@
#include "dzbj_button.h"
#include "driver/gpio.h"
#include "esp_log.h"
#include "esp_timer.h"
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "freertos/queue.h"
static const char *TAG = "DZBJ_BTN";
// 去抖间隔(微秒)
#define DEBOUNCE_US 200000
// 按键事件队列
static QueueHandle_t btn_evt_queue = NULL;
// 回调存储
typedef struct {
btn_event_cb_t cb;
void *usr_data;
} btn_cb_t;
static btn_cb_t boot_cb = {0};
static btn_cb_t key2_cb = {0};
// 去抖时间戳
static int64_t last_boot_us = 0;
static int64_t last_key2_us = 0;
// GPIO中断服务函数ISR中不做耗时操作仅发送事件到队列
static void IRAM_ATTR gpio_isr_handler(void *arg)
{
int gpio_num = (int)arg;
xQueueSendFromISR(btn_evt_queue, &gpio_num, NULL);
}
// 按键事件处理任务
static void btn_task(void *pvParameters)
{
int gpio_num;
while (1) {
if (xQueueReceive(btn_evt_queue, &gpio_num, portMAX_DELAY)) {
int64_t now = esp_timer_get_time();
// BOOT(GPIO0) 由 iot_button 处理,这里仅处理 KEY2
if (gpio_num == PIN_BTN_KEY2) {
if (now - last_key2_us > DEBOUNCE_US) {
last_key2_us = now;
ESP_LOGI(TAG, "KEY2按键按下 (GPIO%d)", gpio_num);
if (key2_cb.cb) {
key2_cb.cb(gpio_num, key2_cb.usr_data);
}
}
}
}
}
}
esp_err_t dzbj_button_init(void)
{
btn_evt_queue = xQueueCreate(10, sizeof(int));
// 仅配置 KEY2(GPIO4)BOOT(GPIO0) 由 iot_button 统一处理
gpio_config_t io_conf = {
.pin_bit_mask = (1ULL << PIN_BTN_KEY2),
.mode = GPIO_MODE_INPUT,
.pull_up_en = GPIO_PULLUP_ENABLE,
.pull_down_en = GPIO_PULLDOWN_DISABLE,
.intr_type = GPIO_INTR_NEGEDGE,
};
gpio_config(&io_conf);
// 安装GPIO中断服务如果已安装则跳过
esp_err_t ret = gpio_install_isr_service(0);
if (ret != ESP_OK && ret != ESP_ERR_INVALID_STATE) {
ESP_LOGE(TAG, "GPIO ISR服务安装失败");
return ret;
}
gpio_isr_handler_add(PIN_BTN_KEY2, gpio_isr_handler, (void *)PIN_BTN_KEY2);
// 按键处理任务
xTaskCreate(btn_task, "btn_task", 3072, NULL, 5, NULL);
ESP_LOGI(TAG, "按键初始化完成 (KEY2=GPIO%dBOOT由iot_button处理)", PIN_BTN_KEY2);
return ESP_OK;
}
void dzbj_button_on_boot_press(btn_event_cb_t cb, void *usr_data)
{
boot_cb.cb = cb;
boot_cb.usr_data = usr_data;
}
void dzbj_button_on_key2_press(btn_event_cb_t cb, void *usr_data)
{
key2_cb.cb = cb;
key2_cb.usr_data = usr_data;
}
// === 吧唧模式 BOOT 单击处理(从 dzbj main.c boot_btn_handler 移植) ===
#include "lvgl.h"
#include "sleep_mgr/include/sleep_mgr.h"
// UI 函数前向声明
extern lv_obj_t *ui_ScreenHome;
extern lv_obj_t *ui_ScreenImg;
extern void ui_ScreenHome_screen_init(void);
extern void ui_ScreenImg_hide_delete_container(void);
extern void _ui_screen_change(lv_obj_t **target, lv_scr_load_anim_t fademode, int spd, int delay, void (*target_init)(void));
extern bool flashlight_is_active(void);
extern uint8_t flashlight_get_saved_brightness(void);
extern void flashlight_exit(void);
extern void pwm_set_brightness(uint8_t percent);
void dzbj_boot_click_handler(void)
{
bool screen_was_off = sleep_mgr_is_screen_off();
if (screen_was_off) {
// 低功耗模式:只唤醒屏幕
ESP_LOGI(TAG, "吧唧模式 BOOT低功耗模式仅唤醒屏幕");
sleep_mgr_notify_activity();
} else {
// 正常模式:退出手电筒 + 返回ScreenHome
ESP_LOGI(TAG, "吧唧模式 BOOT返回ScreenHome");
// 如果在ScreenImg界面先隐藏删除容器
lv_obj_t *current_screen = lv_scr_act();
if (current_screen == ui_ScreenImg) {
ui_ScreenImg_hide_delete_container();
}
sleep_mgr_notify_activity();
// 退出手电筒
bool was_flashlight = flashlight_is_active();
uint8_t saved_brightness = 0;
if (was_flashlight) {
saved_brightness = flashlight_get_saved_brightness();
flashlight_exit();
vTaskDelay(pdMS_TO_TICKS(80));
}
// 切换到Home界面
_ui_screen_change(&ui_ScreenHome, LV_SCR_LOAD_ANIM_NONE, 0, 0, &ui_ScreenHome_screen_init);
// 手电筒退出后恢复亮度
if (was_flashlight) {
vTaskDelay(pdMS_TO_TICKS(150));
pwm_set_brightness(saved_brightness);
ESP_LOGI(TAG, "亮度已恢复到%d%%", saved_brightness);
}
}
}

30
main/dzbj/dzbj_button.h Normal file
View File

@ -0,0 +1,30 @@
#pragma once
#ifdef __cplusplus
extern "C" {
#endif
#include "esp_err.h"
// 按键引脚定义
#define PIN_BTN_BOOT 0 // GPIO0 BOOT按键低电平有效
#define PIN_BTN_KEY2 4 // GPIO4 KEY2按键低电平有效
// 按键事件回调函数类型
typedef void (*btn_event_cb_t)(int gpio_num, void *usr_data);
// 初始化按键驱动GPIO中断 + 软件去抖)
esp_err_t dzbj_button_init(void);
// 注册BOOT按键按下回调
void dzbj_button_on_boot_press(btn_event_cb_t cb, void *usr_data);
// 注册KEY2按键按下回调
void dzbj_button_on_key2_press(btn_event_cb_t cb, void *usr_data);
// 吧唧模式 BOOT 单击处理(唤醒屏幕 / 退出手电筒 / 返回Home
void dzbj_boot_click_handler(void);
#ifdef __cplusplus
}
#endif

41
main/dzbj/dzbj_gpio.h Normal file
View File

@ -0,0 +1,41 @@
#ifndef _DZBJ_GPIO_H_
#define _DZBJ_GPIO_H_
// dzbj LCD/Touch GPIO 定义(从 dzbj 项目移植)
// 注意I2C_MASTER_NUM 改为 I2C_NUM_1与主项目共享总线
// 触摸功能开关0=禁用1=启用)
// 本项目不使用触摸屏功能禁用以节约资源I2C 触摸控制器初始化、GPIO、LVGL 输入驱动、内存)
#define DZBJ_ENABLE_TOUCH 1
#include "esp_lvgl_port.h"
#define PIN_NUM_SCL 18 // I2C SCL
#define PIN_NUM_SDA 17 // I2C SDA
#define I2C_MASTER_FREQ_HZ 100000
#define I2C_MASTER_NUM I2C_NUM_1 // 改为 I2C_NUM_1与主项目音频编解码器共享
// LCD QSPI 引脚
#define PIN_LCD_EN 1 // 背光使能PWM
#define PIN_LCD_D0 11 // 数据0
#define PIN_LCD_D1 13 // 数据1
#define PIN_LCD_D2 14 // 数据2
#define PIN_LCD_D3 21 // 数据3
#define PIN_LCD_CLK 12 // 时钟
#define PIN_LCD_CS 47 // 片选
#define PIN_LCD_RST 7 // 复位
#define LCD_HIGH 360
#define LCD_WID 360
// 触摸引脚
#define PIN_TP_RST 6 // 触摸复位
#define PIN_TP_INT 5 // 触摸中断
#define LCD_TAG "LCD"
#define SPI_LCD_HOST SPI2_HOST
#define PIN_MOTOR_EN -1 // 电机使能(未使用)
#define PIN_BAT_ADC 3 // 电池ADC检测引脚
#endif // _DZBJ_GPIO_H_

50
main/dzbj/dzbj_init.c Normal file
View File

@ -0,0 +1,50 @@
#include "dzbj_init.h"
#include "dzbj_gpio.h"
#include "lcd.h"
#include "pages_pwm.h"
#include "ui/ui.h"
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "esp_log.h"
#define TAG "DZBJ"
// 仅硬件+LVGL 初始化(不加载 SquareLine UI不点亮背光
void dzbj_hw_display_init(i2c_master_bus_handle_t i2c_bus) {
ESP_LOGI(TAG, "开始初始化显示硬件...");
// 1. LCD 硬件初始化QSPI ST77916
lcd_init();
ESP_LOGI(TAG, "LCD 硬件初始化完成");
#if DZBJ_ENABLE_TOUCH
// 2. 传入 I2C 总线句柄(与音频编解码器共享)
lcd_set_i2c_bus(i2c_bus);
// 3. 触摸控制器初始化CST816S
touch_init();
#else
(void)i2c_bus;
ESP_LOGI(TAG, "屏幕触摸已禁用 (DZBJ_ENABLE_TOUCH=0)");
#endif
// 4. LVGL 初始化(显示)
lvgl_lcd_init();
ESP_LOGI(TAG, "LVGL 初始化完成");
}
// 完整初始化(硬件+LVGL + SquareLine UI + 背光)
void dzbj_display_init(i2c_master_bus_handle_t i2c_bus) {
dzbj_hw_display_init(i2c_bus);
// SquareLine UI 初始化
ui_init();
ESP_LOGI(TAG, "UI 初始化完成");
// 等待首帧渲染完成
vTaskDelay(pdMS_TO_TICKS(100));
// 点亮背光
pwm_init();
ESP_LOGI(TAG, "背光已点亮dzbj 显示模块初始化完成");
}

22
main/dzbj/dzbj_init.h Normal file
View File

@ -0,0 +1,22 @@
#ifndef _DZBJ_INIT_H_
#define _DZBJ_INIT_H_
#include <driver/i2c_master.h>
#ifdef __cplusplus
extern "C" {
#endif
// dzbj 显示模块初始化入口
// i2c_bus: 主项目的 I2C 总线句柄(与音频编解码器共享)
void dzbj_display_init(i2c_master_bus_handle_t i2c_bus);
// 仅硬件+LVGL 初始化(不加载 SquareLine UI不点亮背光
// 用于 AI 模式:调用方自行加载 AI 专用屏幕后再点亮背光
void dzbj_hw_display_init(i2c_master_bus_handle_t i2c_bus);
#ifdef __cplusplus
}
#endif
#endif // _DZBJ_INIT_H_

248
main/dzbj/fatfs.c Normal file
View File

@ -0,0 +1,248 @@
/**
* @file fatfs.c
* @brief SPIFFS dzbj
*
* SPIFFS JPEG
*/
#include "esp_err.h"
#include "esp_log.h"
#include "esp_spiffs.h"
#include "fatfs.h"
#include <dirent.h>
#include <stdio.h>
#include <string.h>
#include <sys/stat.h>
static const char *TAG = "FATFS";
// 初始化SPIFFS文件系统
void fatfs_init(void) {
esp_vfs_spiffs_conf_t conf = {
.base_path = "/spiflash",
.partition_label = "storage",
.max_files = 5,
.format_if_mount_failed = true,
};
esp_err_t err = esp_vfs_spiffs_register(&conf);
if (err != ESP_OK) {
ESP_LOGE(TAG, "Failed to mount SPIFFS (%s)", esp_err_to_name(err));
return;
}
size_t total = 0, used = 0;
err = esp_spiffs_info("storage", &total, &used);
if (err != ESP_OK) {
ESP_LOGE(TAG, "Failed to get SPIFFS info (%s)", esp_err_to_name(err));
} else {
ESP_LOGI(TAG, "SPIFFS: Total size: %d, Used: %d", total, used);
}
}
// 读取图片数据到内存
void read_img(uint8_t *img_p) {
FILE *f = fopen("/spiflash/img.bin", "r");
if (f == NULL) {
ESP_LOGE(TAG, "OPEN ERROR");
return;
}
size_t size = fread(img_p, sizeof(uint8_t), 129600 * 2, f);
fclose(f);
if (size != 0) {
ESP_LOGI(TAG, "read success!");
}
}
// 测试FATFS文件系统
void fs_test(void) {
FILE *f = fopen("/spiflash/img.bin", "r");
if (f == NULL) {
ESP_LOGE(TAG, "Failed to open file for reading");
return;
}
uint8_t line[2];
fread(line, sizeof(uint8_t), 2, f);
fclose(f);
ESP_LOGI(TAG, "Read from file: %x %x", line[0], line[1]);
}
// 列出目录下所有文件名
void fatfs_list_all_filenames(const char *dir_path, bool recursive) {
DIR *dir = opendir(dir_path);
if (dir == NULL) {
ESP_LOGE(TAG, "无法打开目录: %s", dir_path);
return;
}
struct dirent *entry;
while ((entry = readdir(dir)) != NULL) {
if (strcmp(entry->d_name, ".") == 0 || strcmp(entry->d_name, "..") == 0) {
continue;
}
char full_path[512];
snprintf(full_path, sizeof(full_path), "%s/%s", dir_path, entry->d_name);
struct stat file_stat;
if (stat(full_path, &file_stat) == 0 && S_ISDIR(file_stat.st_mode)) {
if (recursive) {
fatfs_list_all_filenames(full_path, recursive);
}
} else if (stat(full_path, &file_stat) == 0 && S_ISREG(file_stat.st_mode)) {
ESP_LOGI(TAG, "文件名: %s, 大小:%d", full_path, (int)file_stat.st_size);
}
}
closedir(dir);
}
// 删除目录下所有空文件
void fatfs_remove_nullData(const char *dir_path) {
DIR *dir = opendir(dir_path);
if (dir == NULL) {
ESP_LOGE(TAG, "无法打开目录: %s", dir_path);
return;
}
struct dirent *entry;
while ((entry = readdir(dir)) != NULL) {
if (strcmp(entry->d_name, ".") == 0 || strcmp(entry->d_name, "..") == 0) {
continue;
}
char full_path[512];
snprintf(full_path, sizeof(full_path), "%s/%s", dir_path, (char*)entry->d_name);
struct stat file_stat;
stat(full_path, &file_stat);
if ((int)file_stat.st_size == 0) {
remove(full_path);
ESP_LOGE(TAG, "删除空文件: %s", full_path);
}
}
closedir(dir);
}
// 删除目录下所有文件
void fatfs_remove_allData(const char *dir_path) {
DIR *dir = opendir(dir_path);
if (dir == NULL) {
ESP_LOGE(TAG, "无法打开目录: %s", dir_path);
return;
}
struct dirent *entry;
while ((entry = readdir(dir)) != NULL) {
if (strcmp(entry->d_name, ".") == 0 || strcmp(entry->d_name, "..") == 0) {
continue;
}
char full_path[512];
snprintf(full_path, sizeof(full_path), "%s/%s", dir_path, (char*)entry->d_name);
remove(full_path);
ESP_LOGE(TAG, "删除文件: %s", full_path);
}
closedir(dir);
}
// 检查图片是否有效文件大小不为0
bool fats_img_isOK(char* img_path) {
struct stat file_stat;
stat(img_path, &file_stat);
return file_stat.st_size > 0;
}
// JPEG 解码:从 SPIFFS 读取 JPEG 并解码为 RGB565
esp_err_t DecodeImg(char *imgpath, uint8_t** imgData, esp_jpeg_image_output_t *outimage) {
FILE *f = fopen(imgpath, "rb");
if (f == NULL) {
ESP_LOGE(TAG, "OPEN ERROR: %s", imgpath);
return ESP_FAIL;
}
struct stat file_stat;
stat(imgpath, &file_stat);
// 分配输出缓冲区360×360 RGB565
*imgData = malloc(360 * 360 * 2);
if (*imgData == NULL) {
ESP_LOGE(TAG, "输出缓冲区分配失败");
fclose(f);
return ESP_FAIL;
}
// 分配输入缓冲区JPEG 原始数据)
uint8_t *imgEncoderData = malloc(file_stat.st_size);
if (imgEncoderData == NULL) {
ESP_LOGE(TAG, "输入缓冲区分配失败(需%d字节", (int)file_stat.st_size);
free(*imgData);
*imgData = NULL;
fclose(f);
return ESP_FAIL;
}
size_t read_len = fread(imgEncoderData, sizeof(uint8_t), file_stat.st_size, f);
fclose(f);
if (read_len != (size_t)file_stat.st_size) {
ESP_LOGE(TAG, "文件读取不完整(预期:%d实际%zu",
(int)file_stat.st_size, read_len);
free(imgEncoderData);
free(*imgData);
*imgData = NULL;
return ESP_FAIL;
}
// 验证 JPEG 头
if (file_stat.st_size < 2 || imgEncoderData[0] != 0xFF || imgEncoderData[1] != 0xD8) {
ESP_LOGE(TAG, "不是有效JPEG文件: %s", imgpath);
free(imgEncoderData);
free(*imgData);
*imgData = NULL;
return ESP_FAIL;
}
uint32_t outbuf_size = 360 * 360 * sizeof(uint8_t) * 2;
esp_jpeg_image_cfg_t jpeg_cfg = {
.indata = imgEncoderData,
.indata_size = file_stat.st_size,
.outbuf = *imgData,
.outbuf_size = outbuf_size,
.out_format = JPEG_IMAGE_FORMAT_RGB565,
.flags = {
.swap_color_bytes = true,
},
};
esp_err_t ret = esp_jpeg_decode(&jpeg_cfg, outimage);
free(imgEncoderData);
return ret;
}
// 测试读取图片数据
void test_readimg(char *imgpath, uint16_t size) {
FILE *f = fopen(imgpath, "r");
if (f == NULL) {
ESP_LOGE(TAG, "OPEN ERROR");
return;
}
uint8_t *head = malloc(size);
if (head == NULL) {
fclose(f);
return;
}
fread(head, sizeof(uint8_t), size, f);
fclose(f);
for (int i = 0; i < size; i++) {
printf("%x ", *(head + i));
}
printf("\n");
free(head);
}
// 获取目录下所有图片文件名
void fat_getAllimgList(const char *dir_path, char** list, uint8_t* num) {
*num = 0;
DIR *dir = opendir(dir_path);
if (dir == NULL) {
ESP_LOGE(TAG, "无法打开目录: %s", dir_path);
return;
}
struct dirent *entry;
while ((entry = readdir(dir)) != NULL) {
if (strcmp(entry->d_name, ".") == 0 || strcmp(entry->d_name, "..") == 0) {
continue;
}
list[*num] = strdup(entry->d_name);
(*num)++;
}
closedir(dir);
}

22
main/dzbj/fatfs.h Normal file
View File

@ -0,0 +1,22 @@
#pragma once
#ifdef __cplusplus
extern "C" {
#endif
#include "jpeg_decoder.h"
void fatfs_init(void);
void fs_test(void);
void read_img(uint8_t *img);
void fatfs_list_all_filenames(const char *dir_path, bool recursive);
void fatfs_remove_nullData(const char *dir_path);
esp_err_t DecodeImg(char *imgpath, uint8_t** imgData, esp_jpeg_image_output_t *outimage);
void test_readimg(char* imgpath, uint16_t size);
void fatfs_remove_allData(const char *dir_path);
bool fats_img_isOK(char* img_path);
void fat_getAllimgList(const char *dir_path, char** list, uint8_t* num);
#ifdef __cplusplus
}
#endif

403
main/dzbj/lcd.c Normal file
View File

@ -0,0 +1,403 @@
#include "dzbj_gpio.h"
#include "esp_lvgl_port.h"
#include "esp_lcd_st77916.h"
#include "esp_err.h"
#include "esp_log.h"
#include "lcd.h"
#if DZBJ_ENABLE_TOUCH
#include "esp_lcd_touch_cst816s.h"
#endif
#include <string.h>
#include "esp_heap_caps.h"
// ST77916 初始化命令(从 dzbj 项目已验证的驱动版本提取)
// 主项目 managed_component 新版默认命令与本硬件面板不匹配,需手动注入
static const st77916_lcd_init_cmd_t lcd_init_cmds[] = {
{0xF0, (uint8_t[]){0x28}, 1, 0},
{0xF2, (uint8_t[]){0x28}, 1, 0},
{0x73, (uint8_t[]){0xF0}, 1, 0},
{0x7C, (uint8_t[]){0xD1}, 1, 0},
{0x83, (uint8_t[]){0xE0}, 1, 0},
{0x84, (uint8_t[]){0x61}, 1, 0},
{0xF2, (uint8_t[]){0x82}, 1, 0},
{0xF0, (uint8_t[]){0x00}, 1, 0},
{0xF0, (uint8_t[]){0x01}, 1, 0},
{0xF1, (uint8_t[]){0x01}, 1, 0},
{0xB0, (uint8_t[]){0x5E}, 1, 0},
{0xB1, (uint8_t[]){0x55}, 1, 0},
{0xB2, (uint8_t[]){0x24}, 1, 0},
{0xB3, (uint8_t[]){0x01}, 1, 0},
{0xB4, (uint8_t[]){0x87}, 1, 0},
{0xB5, (uint8_t[]){0x44}, 1, 0},
{0xB6, (uint8_t[]){0x8B}, 1, 0},
{0xB7, (uint8_t[]){0x40}, 1, 0},
{0xB8, (uint8_t[]){0x86}, 1, 0},
{0xB9, (uint8_t[]){0x15}, 1, 0},
{0xBA, (uint8_t[]){0x00}, 1, 0},
{0xBB, (uint8_t[]){0x08}, 1, 0},
{0xBC, (uint8_t[]){0x08}, 1, 0},
{0xBD, (uint8_t[]){0x00}, 1, 0},
{0xBE, (uint8_t[]){0x00}, 1, 0},
{0xBF, (uint8_t[]){0x07}, 1, 0},
{0xC0, (uint8_t[]){0x80}, 1, 0},
{0xC1, (uint8_t[]){0x10}, 1, 0},
{0xC2, (uint8_t[]){0x37}, 1, 0},
{0xC3, (uint8_t[]){0x80}, 1, 0},
{0xC4, (uint8_t[]){0x10}, 1, 0},
{0xC5, (uint8_t[]){0x37}, 1, 0},
{0xC6, (uint8_t[]){0xA9}, 1, 0},
{0xC7, (uint8_t[]){0x41}, 1, 0},
{0xC8, (uint8_t[]){0x01}, 1, 0},
{0xC9, (uint8_t[]){0xA9}, 1, 0},
{0xCA, (uint8_t[]){0x41}, 1, 0},
{0xCB, (uint8_t[]){0x01}, 1, 0},
{0xCC, (uint8_t[]){0x7F}, 1, 0},
{0xCD, (uint8_t[]){0x7F}, 1, 0},
{0xCE, (uint8_t[]){0xFF}, 1, 0},
{0xD0, (uint8_t[]){0x91}, 1, 0},
{0xD1, (uint8_t[]){0x68}, 1, 0},
{0xD2, (uint8_t[]){0x68}, 1, 0},
{0xF5, (uint8_t[]){0x00, 0xA5}, 2, 0},
{0xDD, (uint8_t[]){0x40}, 1, 0},
{0xDE, (uint8_t[]){0x40}, 1, 0},
{0xF1, (uint8_t[]){0x10}, 1, 0},
{0xF0, (uint8_t[]){0x00}, 1, 0},
{0xF0, (uint8_t[]){0x02}, 1, 0},
{0xE0, (uint8_t[]){0xF0, 0x10, 0x18, 0x0D, 0x0C, 0x38, 0x3E, 0x44, 0x51, 0x39, 0x15, 0x15, 0x30, 0x34}, 14, 0},
{0xE1, (uint8_t[]){0xF0, 0x0F, 0x17, 0x0D, 0x0B, 0x07, 0x3E, 0x33, 0x51, 0x39, 0x15, 0x15, 0x30, 0x34}, 14, 0},
{0xF0, (uint8_t[]){0x10}, 1, 0},
{0xF3, (uint8_t[]){0x10}, 1, 0},
{0xE0, (uint8_t[]){0x08}, 1, 0},
{0xE1, (uint8_t[]){0x00}, 1, 0},
{0xE2, (uint8_t[]){0x00}, 1, 0},
{0xE3, (uint8_t[]){0x00}, 1, 0},
{0xE4, (uint8_t[]){0xE0}, 1, 0},
{0xE5, (uint8_t[]){0x06}, 1, 0},
{0xE6, (uint8_t[]){0x21}, 1, 0},
{0xE7, (uint8_t[]){0x03}, 1, 0},
{0xE8, (uint8_t[]){0x05}, 1, 0},
{0xE9, (uint8_t[]){0x02}, 1, 0},
{0xEA, (uint8_t[]){0xE9}, 1, 0},
{0xEB, (uint8_t[]){0x00}, 1, 0},
{0xEC, (uint8_t[]){0x00}, 1, 0},
{0xED, (uint8_t[]){0x14}, 1, 0},
{0xEE, (uint8_t[]){0xFF}, 1, 0},
{0xEF, (uint8_t[]){0x00}, 1, 0},
{0xF8, (uint8_t[]){0xFF}, 1, 0},
{0xF9, (uint8_t[]){0x00}, 1, 0},
{0xFA, (uint8_t[]){0x00}, 1, 0},
{0xFB, (uint8_t[]){0x30}, 1, 0},
{0xFC, (uint8_t[]){0x00}, 1, 0},
{0xFD, (uint8_t[]){0x00}, 1, 0},
{0xFE, (uint8_t[]){0x00}, 1, 0},
{0xFF, (uint8_t[]){0x00}, 1, 0},
{0x60, (uint8_t[]){0x40}, 1, 0},
{0x61, (uint8_t[]){0x05}, 1, 0},
{0x62, (uint8_t[]){0x00}, 1, 0},
{0x63, (uint8_t[]){0x42}, 1, 0},
{0x64, (uint8_t[]){0xDA}, 1, 0},
{0x65, (uint8_t[]){0x00}, 1, 0},
{0x66, (uint8_t[]){0x00}, 1, 0},
{0x67, (uint8_t[]){0x00}, 1, 0},
{0x68, (uint8_t[]){0x00}, 1, 0},
{0x69, (uint8_t[]){0x00}, 1, 0},
{0x6A, (uint8_t[]){0x00}, 1, 0},
{0x6B, (uint8_t[]){0x00}, 1, 0},
{0x70, (uint8_t[]){0x40}, 1, 0},
{0x71, (uint8_t[]){0x04}, 1, 0},
{0x72, (uint8_t[]){0x00}, 1, 0},
{0x73, (uint8_t[]){0x42}, 1, 0},
{0x74, (uint8_t[]){0xD9}, 1, 0},
{0x75, (uint8_t[]){0x00}, 1, 0},
{0x76, (uint8_t[]){0x00}, 1, 0},
{0x77, (uint8_t[]){0x00}, 1, 0},
{0x78, (uint8_t[]){0x00}, 1, 0},
{0x79, (uint8_t[]){0x00}, 1, 0},
{0x7A, (uint8_t[]){0x00}, 1, 0},
{0x7B, (uint8_t[]){0x00}, 1, 0},
{0x80, (uint8_t[]){0x48}, 1, 0},
{0x81, (uint8_t[]){0x00}, 1, 0},
{0x82, (uint8_t[]){0x07}, 1, 0},
{0x83, (uint8_t[]){0x02}, 1, 0},
{0x84, (uint8_t[]){0xD7}, 1, 0},
{0x85, (uint8_t[]){0x04}, 1, 0},
{0x86, (uint8_t[]){0x00}, 1, 0},
{0x87, (uint8_t[]){0x00}, 1, 0},
{0x88, (uint8_t[]){0x48}, 1, 0},
{0x89, (uint8_t[]){0x00}, 1, 0},
{0x8A, (uint8_t[]){0x09}, 1, 0},
{0x8B, (uint8_t[]){0x02}, 1, 0},
{0x8C, (uint8_t[]){0xD9}, 1, 0},
{0x8D, (uint8_t[]){0x04}, 1, 0},
{0x8E, (uint8_t[]){0x00}, 1, 0},
{0x8F, (uint8_t[]){0x00}, 1, 0},
{0x90, (uint8_t[]){0x48}, 1, 0},
{0x91, (uint8_t[]){0x00}, 1, 0},
{0x92, (uint8_t[]){0x0B}, 1, 0},
{0x93, (uint8_t[]){0x02}, 1, 0},
{0x94, (uint8_t[]){0xDB}, 1, 0},
{0x95, (uint8_t[]){0x04}, 1, 0},
{0x96, (uint8_t[]){0x00}, 1, 0},
{0x97, (uint8_t[]){0x00}, 1, 0},
{0x98, (uint8_t[]){0x48}, 1, 0},
{0x99, (uint8_t[]){0x00}, 1, 0},
{0x9A, (uint8_t[]){0x0D}, 1, 0},
{0x9B, (uint8_t[]){0x02}, 1, 0},
{0x9C, (uint8_t[]){0xDD}, 1, 0},
{0x9D, (uint8_t[]){0x04}, 1, 0},
{0x9E, (uint8_t[]){0x00}, 1, 0},
{0x9F, (uint8_t[]){0x00}, 1, 0},
{0xA0, (uint8_t[]){0x48}, 1, 0},
{0xA1, (uint8_t[]){0x00}, 1, 0},
{0xA2, (uint8_t[]){0x06}, 1, 0},
{0xA3, (uint8_t[]){0x02}, 1, 0},
{0xA4, (uint8_t[]){0xD6}, 1, 0},
{0xA5, (uint8_t[]){0x04}, 1, 0},
{0xA6, (uint8_t[]){0x00}, 1, 0},
{0xA7, (uint8_t[]){0x00}, 1, 0},
{0xA8, (uint8_t[]){0x48}, 1, 0},
{0xA9, (uint8_t[]){0x00}, 1, 0},
{0xAA, (uint8_t[]){0x08}, 1, 0},
{0xAB, (uint8_t[]){0x02}, 1, 0},
{0xAC, (uint8_t[]){0xD8}, 1, 0},
{0xAD, (uint8_t[]){0x04}, 1, 0},
{0xAE, (uint8_t[]){0x00}, 1, 0},
{0xAF, (uint8_t[]){0x00}, 1, 0},
{0xB0, (uint8_t[]){0x48}, 1, 0},
{0xB1, (uint8_t[]){0x00}, 1, 0},
{0xB2, (uint8_t[]){0x0A}, 1, 0},
{0xB3, (uint8_t[]){0x02}, 1, 0},
{0xB4, (uint8_t[]){0xDA}, 1, 0},
{0xB5, (uint8_t[]){0x04}, 1, 0},
{0xB6, (uint8_t[]){0x00}, 1, 0},
{0xB7, (uint8_t[]){0x00}, 1, 0},
{0xB8, (uint8_t[]){0x48}, 1, 0},
{0xB9, (uint8_t[]){0x00}, 1, 0},
{0xBA, (uint8_t[]){0x0C}, 1, 0},
{0xBB, (uint8_t[]){0x02}, 1, 0},
{0xBC, (uint8_t[]){0xDC}, 1, 0},
{0xBD, (uint8_t[]){0x04}, 1, 0},
{0xBE, (uint8_t[]){0x00}, 1, 0},
{0xBF, (uint8_t[]){0x00}, 1, 0},
{0xC0, (uint8_t[]){0x10}, 1, 0},
{0xC1, (uint8_t[]){0x47}, 1, 0},
{0xC2, (uint8_t[]){0x56}, 1, 0},
{0xC3, (uint8_t[]){0x65}, 1, 0},
{0xC4, (uint8_t[]){0x74}, 1, 0},
{0xC5, (uint8_t[]){0x88}, 1, 0},
{0xC6, (uint8_t[]){0x99}, 1, 0},
{0xC7, (uint8_t[]){0x01}, 1, 0},
{0xC8, (uint8_t[]){0xBB}, 1, 0},
{0xC9, (uint8_t[]){0xAA}, 1, 0},
{0xD0, (uint8_t[]){0x10}, 1, 0},
{0xD1, (uint8_t[]){0x47}, 1, 0},
{0xD2, (uint8_t[]){0x56}, 1, 0},
{0xD3, (uint8_t[]){0x65}, 1, 0},
{0xD4, (uint8_t[]){0x74}, 1, 0},
{0xD5, (uint8_t[]){0x88}, 1, 0},
{0xD6, (uint8_t[]){0x99}, 1, 0},
{0xD7, (uint8_t[]){0x01}, 1, 0},
{0xD8, (uint8_t[]){0xBB}, 1, 0},
{0xD9, (uint8_t[]){0xAA}, 1, 0},
{0xF3, (uint8_t[]){0x01}, 1, 0},
{0xF0, (uint8_t[]){0x00}, 1, 0},
{0x3A, (uint8_t[]){0x55}, 1, 0},
{0x21, (uint8_t[]){0x00}, 1, 0},
{0x11, (uint8_t[]){0x00}, 1, 120},
{0x29, (uint8_t[]){0x00}, 1, 0},
};
static lv_disp_t * disp_handle = NULL;
static esp_lcd_panel_handle_t panel_handle = NULL;
static esp_lcd_panel_io_handle_t io_handle = NULL;
#if DZBJ_ENABLE_TOUCH
static esp_lcd_touch_handle_t touch_handle = NULL;
static esp_lcd_panel_io_handle_t tp_io_handle = NULL;
// 外部传入的 I2C 总线句柄(与主项目共享)
static i2c_master_bus_handle_t ext_i2c_bus = NULL;
#endif
void lcd_set_i2c_bus(i2c_master_bus_handle_t bus) {
#if DZBJ_ENABLE_TOUCH
ext_i2c_bus = bus;
#else
(void)bus;
#endif
}
void lcd_init(){
const spi_bus_config_t buscfg = ST77916_PANEL_BUS_QSPI_CONFIG(PIN_LCD_CLK,
PIN_LCD_D0,
PIN_LCD_D1,
PIN_LCD_D2,
PIN_LCD_D3,
LCD_HIGH * 80 * sizeof(uint16_t));
spi_bus_initialize(SPI_LCD_HOST, &buscfg, SPI_DMA_CH_AUTO);
// QSPI 80MHz
esp_lcd_panel_io_spi_config_t io_config = ST77916_PANEL_IO_QSPI_CONFIG(PIN_LCD_CS, NULL, NULL);
io_config.pclk_hz = 80 * 1000 * 1000;
ESP_ERROR_CHECK(esp_lcd_new_panel_io_spi((esp_lcd_spi_bus_handle_t)SPI_LCD_HOST, &io_config, &io_handle));
const st77916_vendor_config_t vendor_config = {
.init_cmds = lcd_init_cmds,
.init_cmds_size = sizeof(lcd_init_cmds) / sizeof(st77916_lcd_init_cmd_t),
.flags = {
.use_qspi_interface = 1,
},
};
const esp_lcd_panel_dev_config_t panel_config = {
.reset_gpio_num = PIN_LCD_RST,
.rgb_ele_order = LCD_RGB_ELEMENT_ORDER_RGB,
.bits_per_pixel = 16,
.vendor_config = &vendor_config,
};
ESP_ERROR_CHECK(esp_lcd_new_panel_st77916(io_handle, &panel_config, &panel_handle));
esp_lcd_panel_reset(panel_handle);
esp_lcd_panel_init(panel_handle);
// 清空LCD GRAM避免显示上次关机时的残留画面
size_t clear_buffer_size = LCD_WID * 40;
uint16_t *clear_buffer = heap_caps_malloc(clear_buffer_size * sizeof(uint16_t), MALLOC_CAP_DMA);
if (clear_buffer) {
memset(clear_buffer, 0, clear_buffer_size * sizeof(uint16_t));
for (int y = 0; y < LCD_HIGH; y += 40) {
int lines = (y + 40 > LCD_HIGH) ? (LCD_HIGH - y) : 40;
esp_lcd_panel_draw_bitmap(panel_handle, 0, y, LCD_WID, y + lines, clear_buffer);
}
heap_caps_free(clear_buffer);
ESP_LOGI(LCD_TAG, "LCD GRAM cleared (black filled)");
} else {
ESP_LOGE(LCD_TAG, "Failed to allocate clear buffer");
}
esp_lcd_panel_disp_on_off(panel_handle, true);
}
#if DZBJ_ENABLE_TOUCH
// 初始化触摸控制器(使用外部传入的 I2C 总线)
void touch_init(){
const esp_lcd_touch_config_t tp_cfg = {
.x_max = LCD_WID,
.y_max = LCD_HIGH,
.rst_gpio_num = PIN_TP_RST,
.int_gpio_num = PIN_TP_INT,
.levels = {
.reset = 0,
.interrupt = 0,
},
.flags = {
.swap_xy = false,
.mirror_x = false,
.mirror_y = false,
},
};
const esp_lcd_panel_io_i2c_config_t tp_io_config = ESP_LCD_TOUCH_IO_I2C_CST816S_CONFIG();
// 使用外部传入的 I2C 总线句柄(与音频编解码器共享 I2C_NUM_1
i2c_master_bus_handle_t i2c_bus = ext_i2c_bus;
if (i2c_bus == NULL) {
ESP_LOGE(LCD_TAG, "I2C bus not set, call lcd_set_i2c_bus() first");
return;
}
// 直接传入 i2c_master_bus_handle_t_Generic 宏分派到 V2新驱动
// 不要强转为 esp_lcd_i2c_bus_handle_t(uint32_t),否则会触发 V1 legacy 驱动冲突
esp_err_t err = esp_lcd_new_panel_io_i2c(i2c_bus, &tp_io_config, &tp_io_handle);
if (err != ESP_OK) {
ESP_LOGE(LCD_TAG, "Failed to create I2C IO for touch: %s", esp_err_to_name(err));
return;
}
err = esp_lcd_touch_new_i2c_cst816s(tp_io_handle, &tp_cfg, &touch_handle);
if (err != ESP_OK) {
ESP_LOGE(LCD_TAG, "Failed to create touch handle: %s", esp_err_to_name(err));
return;
}
ESP_LOGI(LCD_TAG, "Touch controller initialized successfully");
}
#endif // DZBJ_ENABLE_TOUCH
// 初始化LVGL显示
void lvgl_lcd_init(){
const lvgl_port_cfg_t lvgl_cfg = {
.task_priority = 4,
.task_stack = 8192,
.task_affinity = -1,
.task_max_sleep_ms = 500,
.timer_period_ms = 5
};
lvgl_port_init(&lvgl_cfg);
// 使用内部 DMA 内存20 行单缓冲360×20×2 = 14400 字节)
// PSRAM 缓冲区与 SPI DMA 不兼容spi transmit queue 失败)
// 单缓冲 + 小行数,节省内部 SRAM 给 WiFi/BLE
#define LVGL_DRAW_BUF_LINES 20
size_t buffer_size = LCD_WID * LVGL_DRAW_BUF_LINES;
ESP_LOGI(LCD_TAG, "LVGL buffer: %d bytes (W:%d, Lines:%d, DMA, single)",
buffer_size * sizeof(uint16_t), LCD_WID, LVGL_DRAW_BUF_LINES);
const lvgl_port_display_cfg_t disp_cfg = {
.io_handle = io_handle,
.panel_handle = panel_handle,
.buffer_size = buffer_size,
.double_buffer = false,
.hres = LCD_WID,
.vres = LCD_HIGH,
.monochrome = false,
.rotation = {
.swap_xy = false,
.mirror_x = false,
.mirror_y = false,
},
.flags = {
.buff_dma = true,
.buff_spiram = false,
}
};
disp_handle = lvgl_port_add_disp(&disp_cfg);
#if DZBJ_ENABLE_TOUCH
if (touch_handle != NULL) {
lvgl_port_touch_cfg_t touch_cgf = {
.disp = disp_handle,
.handle = touch_handle,
};
lvgl_port_add_touch(&touch_cgf);
ESP_LOGI(LCD_TAG, "Touch controller added to LVGL");
}
#endif
}
#if DZBJ_ENABLE_TOUCH
void get_touch(uint16_t* touchx, uint16_t* touchy){
if (touch_handle == NULL) {
*touchx = 0;
*touchy = 0;
return;
}
*touchx = touch_handle->data.coords[0].x;
*touchy = touch_handle->data.coords[0].y;
}
#endif // DZBJ_ENABLE_TOUCH
// 清空LCD GRAM为黑色用于低功耗熄屏前避免残影
void lcd_clear_screen_black(void) {
if (panel_handle == NULL) {
ESP_LOGE(LCD_TAG, "Panel handle is NULL, cannot clear screen");
return;
}
size_t clear_buffer_size = LCD_WID * 40;
uint16_t *clear_buffer = heap_caps_malloc(clear_buffer_size * sizeof(uint16_t), MALLOC_CAP_DMA);
if (clear_buffer) {
memset(clear_buffer, 0, clear_buffer_size * sizeof(uint16_t));
for (int y = 0; y < LCD_HIGH; y += 40) {
int lines = (y + 40 > LCD_HIGH) ? (LCD_HIGH - y) : 40;
esp_lcd_panel_draw_bitmap(panel_handle, 0, y, LCD_WID, y + lines, clear_buffer);
}
heap_caps_free(clear_buffer);
ESP_LOGI(LCD_TAG, "LCD GRAM cleared to black (for low power mode)");
} else {
ESP_LOGE(LCD_TAG, "Failed to allocate clear buffer");
}
}

21
main/dzbj/lcd.h Normal file
View File

@ -0,0 +1,21 @@
#ifndef _DZBJ_LCD_H_
#define _DZBJ_LCD_H_
#include "dzbj_gpio.h"
#include "esp_lvgl_port.h"
#include "esp_lcd_st77916.h"
#include <driver/i2c_master.h>
void lcd_init(void);
void lvgl_lcd_init(void);
void lcd_clear_screen_black(void);
// I2C 总线共享:传入主项目的 I2C 总线句柄,供触摸控制器使用
void lcd_set_i2c_bus(i2c_master_bus_handle_t bus);
#if DZBJ_ENABLE_TOUCH
void touch_init(void);
void get_touch(uint16_t* touchx, uint16_t* touchy);
#endif
#endif // _DZBJ_LCD_H_

1046
main/dzbj/pages.c Normal file

File diff suppressed because it is too large Load Diff

37
main/dzbj/pages.h Normal file
View File

@ -0,0 +1,37 @@
#pragma once
#include "esp_err.h"
#include <stdint.h>
#include <stdbool.h>
#include "lvgl.h"
#ifdef __cplusplus
extern "C" {
#endif
void app_test_display(); // 测试显示
void app_img_display(); // 显示图片
esp_err_t nvs_change_img(char *imgname); // 改变NVS中的图片路径
void app_img_change(const char *img_name); // 改变图片
void img_switch_task(void *pvParameters); // 图片切换任务
void img_loop_task(void *pvParameters); // 图片循环任务
// 图片管理函数
const char* get_current_image(void); // 获取当前图片文件名
bool delete_current_image(void); // 删除当前图片
void init_spiffs_image_list(void); // 初始化/扫描SPIFFS图片列表
void free_spiffs_image_list(void); // 重置图片列表
bool set_image_index_by_name(const char *name); // 根据文件名设置当前图片索引
const char* get_next_image(void); // 获取下一张图片
const char* get_prev_image(void); // 获取上一张图片
bool update_ui_ImgBle(const char *img_name); // 更新ui_ImgBle控件的图片成功返回true
void ble_image_navigate(const char *filename); // BLE接收后导航到ScreenImg显示
void ble_image_navigate_with_data(const char *filename, uint8_t *data, size_t data_size); // BLE接收后直通显示跳过SPIFFS重读
#if LV_USE_GIF
void pages_cleanup_gif(void); // 清理 GIF 控件资源
#endif
#ifdef __cplusplus
}
#endif

53
main/dzbj/pages_pwm.c Normal file
View File

@ -0,0 +1,53 @@
#include "pages_pwm.h"
#include "dzbj_gpio.h"
#include "driver/ledc.h"
// 当前亮度值(用于休眠恢复)
static uint8_t current_brightness = 50;
// 获取当前亮度值
uint8_t pwm_get_brightness(void) {
return current_brightness;
}
// 设置屏幕亮度percent范围0-100
// 0=完全关闭背光10~100为正常亮度范围
// 显示10%~100%映射到实际亮度20%~100%,背光低电平有效需反转占空比
void pwm_set_brightness(uint8_t percent) {
if (percent == 0) {
// 完全关闭背光低电平有效占空比100%=全高=关闭)
ledc_set_duty(LEDC_LOW_SPEED_MODE, LEDC_CHANNEL_0, 8191);
ledc_update_duty(LEDC_LOW_SPEED_MODE, LEDC_CHANNEL_0);
return;
}
if (percent < 10) percent = 10;
if (percent > 100) percent = 100;
current_brightness = percent;
uint32_t actual = 20 + (uint32_t)(percent - 10) * 80 / 90;
uint32_t duty = 8191 - (8191 * actual) / 100;
ledc_set_duty(LEDC_LOW_SPEED_MODE, LEDC_CHANNEL_0, duty);
ledc_update_duty(LEDC_LOW_SPEED_MODE, LEDC_CHANNEL_0);
}
// 初始化PWM背光
void pwm_init(void) {
ledc_timer_config_t ledc_timer = {
.speed_mode = LEDC_LOW_SPEED_MODE,
.timer_num = LEDC_TIMER_0,
.duty_resolution = LEDC_TIMER_13_BIT,
.freq_hz = 5000,
.clk_cfg = LEDC_AUTO_CLK
};
ledc_timer_config(&ledc_timer);
ledc_channel_config_t ledc_channel = {
.speed_mode = LEDC_LOW_SPEED_MODE,
.channel = LEDC_CHANNEL_0,
.timer_sel = LEDC_TIMER_0,
.intr_type = LEDC_INTR_DISABLE,
.gpio_num = PIN_LCD_EN,
.duty = 0,
.hpoint = 0
};
ledc_channel_config(&ledc_channel);
pwm_set_brightness(50); // 初始亮度50%
}

19
main/dzbj/pages_pwm.h Normal file
View File

@ -0,0 +1,19 @@
#ifndef _DZBJ_PAGES_PWM_H_
#define _DZBJ_PAGES_PWM_H_
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
// PWM 背光控制(从 dzbj pages.c 提取)
void pwm_init(void);
void pwm_set_brightness(uint8_t percent);
uint8_t pwm_get_brightness(void);
#ifdef __cplusplus
}
#endif
#endif // _DZBJ_PAGES_PWM_H_

229
main/dzbj/sleep_mgr.c Normal file
View File

@ -0,0 +1,229 @@
#include "../sleep_mgr/include/sleep_mgr.h"
#include "dzbj_button.h"
#include "pages.h"
#include "pages_pwm.h"
#include "esp_log.h"
#include "esp_timer.h"
#include "esp_lvgl_port.h"
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "lvgl.h"
#include "../ui/screens/ui_ScreenSet.h"
#include "lcd.h"
#include <stdio.h>
static const char *TAG = "SLEEP";
static bool sleep_enabled = false;
static bool screen_off = false;
static int64_t last_activity_us = 0;
static uint8_t saved_brightness = 50;
static const uint8_t DEFAULT_BRIGHTNESS = 50; // 默认亮度
static const uint8_t SLEEP_MODE_BRIGHTNESS = 10; // 休眠模式亮度
// 通知有用户活动
void sleep_mgr_notify_activity(void)
{
last_activity_us = esp_timer_get_time();
// 如果屏幕已关闭,立即唤醒
if (screen_off) {
screen_off = false;
// 恢复 LVGL 和触摸输入
if (lvgl_port_lock(100)) {
// 1. 启用所有输入设备(恢复触摸事件处理)
lv_indev_t *indev = lv_indev_get_next(NULL);
while (indev) {
lv_indev_enable(indev, true);
ESP_LOGI(TAG, "输入设备已启用");
indev = lv_indev_get_next(indev);
}
// 2. 恢复刷新定时器(恢复屏幕重绘)
lv_timer_t *refr_timer = _lv_disp_get_refr_timer(NULL);
if (refr_timer) {
lv_timer_resume(refr_timer);
ESP_LOGI(TAG, "LVGL 刷新定时器已恢复");
}
// 3. 强制刷新当前屏幕因为GRAM被清空为黑色需要重绘
lv_obj_invalidate(lv_scr_act());
ESP_LOGI(TAG, "已标记屏幕需要重绘");
lvgl_port_unlock();
}
// 延迟50ms等待LVGL完成至少一次重绘避免看到黑屏
vTaskDelay(pdMS_TO_TICKS(50));
// 恢复背光
pwm_set_brightness(saved_brightness);
ESP_LOGI(TAG, "屏幕唤醒,恢复亮度%d%%", saved_brightness);
}
}
// 按键活动回调BOOT和KEY2共用
static void btn_activity_cb(int gpio_num, void *usr_data)
{
sleep_mgr_notify_activity();
}
// 关闭屏幕(熄屏进入低功耗)
static void screen_turn_off(void)
{
if (screen_off) return;
// 保存当前亮度
saved_brightness = pwm_get_brightness();
if (saved_brightness == 0) {
saved_brightness = 50; // 防止保存到0值
}
// 暂停 LVGL 并禁用触摸输入
if (lvgl_port_lock(100)) {
// 1. 暂停刷新定时器(停止屏幕重绘)
lv_timer_t *refr_timer = _lv_disp_get_refr_timer(NULL);
if (refr_timer) {
lv_timer_pause(refr_timer);
ESP_LOGI(TAG, "LVGL 刷新定时器已暂停");
}
// 2. 禁用所有输入设备(停止触摸事件处理)
lv_indev_t *indev = lv_indev_get_next(NULL);
while (indev) {
lv_indev_enable(indev, false);
ESP_LOGI(TAG, "输入设备已禁用");
indev = lv_indev_get_next(indev);
}
lvgl_port_unlock();
}
// 清空LCD GRAM为黑色避免关闭背光后看到残影
lcd_clear_screen_black();
// 关闭背光
screen_off = true;
pwm_set_brightness(0);
ESP_LOGI(TAG, "屏幕已关闭(亮度=%d%%系统进入真正低功耗模式Light Sleep + LVGL暂停 + LCD GRAM清空", saved_brightness);
}
// 休眠管理任务
static void sleep_mgr_task(void *pvParameters)
{
while (1) {
uint32_t delay_ms = 500; // 默认轮询间隔 500ms
if (sleep_enabled) {
// 检查LVGL触摸活动屏幕开启时
if (!screen_off) {
if (lvgl_port_lock(50)) {
uint32_t inactive_ms = lv_disp_get_inactive_time(NULL);
lvgl_port_unlock();
// 屏幕开启状态:检测到新触摸(< 500ms立即更新活动时间
if (inactive_ms < 500) {
sleep_mgr_notify_activity();
}
}
// 检查超时熄屏
int64_t now = esp_timer_get_time();
int64_t elapsed_ms = (now - last_activity_us) / 1000;
if (elapsed_ms >= SLEEP_TIMEOUT_MS) {
screen_turn_off();
}
}
// 屏幕关闭状态:禁用触摸唤醒,只允许按键唤醒
// 如需启用触摸唤醒,取消注释以下代码:
/*
else {
if (lvgl_port_lock(50)) {
uint32_t inactive_ms = lv_disp_get_inactive_time(NULL);
lvgl_port_unlock();
// 检测到触摸(< 2000ms立即唤醒
if (inactive_ms < 2000) {
sleep_mgr_notify_activity();
ESP_LOGI(TAG, "触摸唤醒屏幕inactive=%lums", inactive_ms);
}
}
}
*/
}
vTaskDelay(pdMS_TO_TICKS(delay_ms));
}
}
void sleep_mgr_init(void)
{
last_activity_us = esp_timer_get_time();
// 注意BOOT按键由main.c的boot_btn_handler统一处理唤醒+退出手电筒+返回Home
// 这里只注册KEY2按键唤醒功能
dzbj_button_on_key2_press(btn_activity_cb, NULL);
xTaskCreate(sleep_mgr_task, "sleep_mgr", 3072, NULL, 3, NULL);
ESP_LOGI(TAG, "休眠管理器初始化完成(超时=%ds", SLEEP_TIMEOUT_MS / 1000);
}
// 更新ScreenSet界面的亮度UI控件
static void update_brightness_ui(uint8_t brightness)
{
if (!lvgl_port_lock(100)) {
return;
}
// 更新滑块位置
if (ui_SliderBrightness) {
lv_slider_set_value(ui_SliderBrightness, brightness, LV_ANIM_OFF);
}
// 更新亮度文本标签
if (ui_LabelBrightness) {
char buf[8];
snprintf(buf, sizeof(buf), "%d%%", brightness);
lv_label_set_text(ui_LabelBrightness, buf);
}
lvgl_port_unlock();
}
void sleep_mgr_set_enabled(bool enabled)
{
sleep_enabled = enabled;
if (enabled) {
last_activity_us = esp_timer_get_time();
// 进入休眠模式时将亮度调节到10%
pwm_set_brightness(SLEEP_MODE_BRIGHTNESS);
update_brightness_ui(SLEEP_MODE_BRIGHTNESS);
ESP_LOGI(TAG, "休眠模式已启用,亮度已调节至%d%%%ds无操作将熄屏",
SLEEP_MODE_BRIGHTNESS, SLEEP_TIMEOUT_MS / 1000);
} else {
// 禁用休眠模式时恢复到默认亮度50%
if (screen_off) {
screen_off = false;
pwm_set_brightness(DEFAULT_BRIGHTNESS);
update_brightness_ui(DEFAULT_BRIGHTNESS);
ESP_LOGI(TAG, "休眠模式已禁用,屏幕已恢复,亮度恢复到%d%%", DEFAULT_BRIGHTNESS);
} else {
pwm_set_brightness(DEFAULT_BRIGHTNESS);
update_brightness_ui(DEFAULT_BRIGHTNESS);
ESP_LOGI(TAG, "休眠模式已禁用,亮度恢复到%d%%", DEFAULT_BRIGHTNESS);
}
}
}
bool sleep_mgr_is_enabled(void)
{
return sleep_enabled;
}
bool sleep_mgr_is_screen_off(void)
{
return screen_off;
}

186646
main/fonts/font_puhui_20_4.c Normal file

File diff suppressed because one or more lines are too long

View File

@ -8,6 +8,15 @@ dependencies:
espressif/esp-sr: "^2.0.3"
espressif/button: "^3.3.1"
espressif/knob: "^1.0.0"
## LVGL 显示相关依赖dzbj 电子吧唧模块)
esp_lvgl_port: "2.5.0"
lvgl/lvgl:
version: "8.3.11"
esp_lcd_st77916: "1.0.1"
esp_lcd_touch: "1.1.2"
esp_lcd_touch_cst816s: "1.1.0"
## JPEG 解码dzbj 图片显示)
esp_jpeg: "*"
## Required IDF version
idf:
version: ">=5.3"

View File

@ -0,0 +1,26 @@
#ifndef _PAGES_STUB_H_
#define _PAGES_STUB_H_
// Stub 头文件dzbj ui_ScreenImg.c 引用Phase 1 仅提供声明
// 实际实现将在后续阶段添加
#include "esp_err.h"
#include <stdint.h>
#include <stdbool.h>
#include "lvgl.h"
void pwm_init(void);
void pwm_set_brightness(uint8_t percent);
uint8_t pwm_get_brightness(void);
const char* get_current_image(void);
bool delete_current_image(void);
void init_spiffs_image_list(void);
void free_spiffs_image_list(void);
bool set_image_index_by_name(const char *name);
#if LV_USE_GIF
void pages_cleanup_gif(void);
#endif
#endif // _PAGES_STUB_H_

View File

@ -24,6 +24,10 @@ void Protocol::OnNetworkError(std::function<void(const std::string& message)> ca
on_network_error_ = callback;
}
void Protocol::OnBotMessage(std::function<void()> callback) {
on_bot_message_ = callback;
}
void Protocol::SetError(const std::string& message) {
error_occurred_ = true;
if (on_network_error_ != nullptr) {

View File

@ -49,6 +49,7 @@ public:
void OnAudioChannelOpened(std::function<void()> callback);
void OnAudioChannelClosed(std::function<void()> callback);
void OnNetworkError(std::function<void(const std::string& message)> callback);
void OnBotMessage(std::function<void()> callback);
virtual void Start() = 0;
virtual bool OpenAudioChannel() = 0;
@ -76,6 +77,7 @@ protected:
std::function<void()> on_audio_channel_opened_;
std::function<void()> on_audio_channel_closed_;
std::function<void(const std::string& message)> on_network_error_;
std::function<void()> on_bot_message_;
int server_sample_rate_ = 24000;
int server_frame_duration_ = 60;

View File

@ -111,14 +111,14 @@ void VolcRtcProtocol::Start() {
iot_info_.device_name = (char*)CONFIG_VOLC_DEVICE_NAME;
ESP_LOGI(TAG, "使用配置文件中的设备名称: %s", iot_info_.device_name);
} else {
// 配置文件中的设备名称为空,使用MAC地址作为设备名称
std::string mac_address = SystemInfo::GetMacAddress();
// 配置文件中的设备名称为空,使用蓝牙MAC地址作为设备名称
std::string mac_address = SystemInfo::GetBleMacAddress();
// MAC地址中替换冒号为下划线,避免文件名中包含冒号
std::replace(mac_address.begin(), mac_address.end(), ':', '_');
char* mac_buffer = (char*)malloc(mac_address.length() + 1);
strcpy(mac_buffer, mac_address.c_str());
iot_info_.device_name = mac_buffer;
ESP_LOGI(TAG, "使用Wi-Fi MAC地址作为设备名称(已替换冒号为下划线): %s", iot_info_.device_name);
ESP_LOGI(TAG, "使用蓝牙MAC地址作为设备名称(已替换冒号为下划线): %s", iot_info_.device_name);
}
Settings s("volc");
@ -503,6 +503,14 @@ void VolcRtcProtocol::MessageCallback(void* context, volc_msg_t* message) {
cJSON_Delete(root);
}
}
// 转发会话状态到应用层(用于 emoji 切换)
if (protocol->on_incoming_json_) {
cJSON* status_json = cJSON_CreateObject();
cJSON_AddStringToObject(status_json, "type", "conv_status");
cJSON_AddNumberToObject(status_json, "status", (double)message->data.conv_status);
protocol->on_incoming_json_(status_json);
cJSON_Delete(status_json);
}
break;
default:
ESP_LOGI(TAG, "接收RTC消息%d", message->code);// 接收RTC消息%d
@ -575,31 +583,49 @@ void VolcRtcProtocol::DataCallback(void* context, const void* data, size_t len,
}
}
protocol->ProcessAudioData(data, len);// 处理音频数据
} else if (info->type == VOLC_DATA_TYPE_MESSAGE) {
if (data && len > 0) {
const uint8_t* buf = static_cast<const uint8_t*>(data);
std::string json_text;
if (info->info.message.is_binary && len >= 8) {
bool is_ctrl = (memcmp(buf, "ctrl", 4) == 0);
bool is_conv = (memcmp(buf, "conv", 4) == 0);
bool is_tool = (memcmp(buf, "tool", 4) == 0);
if (is_ctrl || is_conv || is_tool) {
uint32_t json_len = (uint32_t)((buf[4] << 24) | (buf[5] << 16) | (buf[6] << 8) | (buf[7]));
if (json_len > 0 && (size_t)(8 + json_len) <= len) {
json_text.assign(reinterpret_cast<const char*>(buf + 8), json_len);
if (!protocol->suppress_incoming_message_log_) {
ESP_LOGI(TAG, "接收下行二进制消息(%s): %.*s", is_ctrl ? "ctrl" : (is_conv ? "conv" : "tool"), (int)json_text.size(), json_text.c_str());
}
}
} else if (info->type == VOLC_DATA_TYPE_MESSAGE) {
if (data && len > 0) {
const uint8_t* buf = static_cast<const uint8_t*>(data);
std::string json_text;
bool is_subv = false;
// 不依赖 is_binary 字段SDK始终返回false直接检测前缀
if (len >= 8) {
bool is_ctrl = (memcmp(buf, "ctrl", 4) == 0);
bool is_conv = (memcmp(buf, "conv", 4) == 0);
bool is_tool = (memcmp(buf, "tool", 4) == 0);
is_subv = (memcmp(buf, "subv", 4) == 0);
bool is_info = (memcmp(buf, "info", 4) == 0);
if (is_ctrl || is_conv || is_tool || is_subv || is_info) {
uint32_t json_len = (uint32_t)((buf[4] << 24) | (buf[5] << 16) | (buf[6] << 8) | (buf[7]));
if (json_len > 0 && (size_t)(8 + json_len) <= len) {
json_text.assign(reinterpret_cast<const char*>(buf + 8), json_len);
// 显示字幕接收详细JSON数据的日志
// if (!protocol->suppress_incoming_message_log_) {
// const char* prefix = is_ctrl ? "ctrl" : (is_conv ? "conv" : (is_tool ? "tool" : (is_subv ? "subv" : "info")));
// 不显示字幕接收详细JSON数据的日志-以下两行代码
if (!is_subv && !protocol->suppress_incoming_message_log_) {
const char* prefix = is_ctrl ? "ctrl" : (is_conv ? "conv" : (is_tool ? "tool" : "info"));
ESP_LOGI(TAG, "接收下行消息(%s): %.*s", prefix, (int)json_text.size(), json_text.c_str());
}
}
if (json_text.empty()) {
json_text.assign(reinterpret_cast<const char*>(data), len);
if (!protocol->suppress_incoming_message_log_) {
ESP_LOGI(TAG, "接收下行消息: %.*s", (int)json_text.size(), json_text.c_str());
}
}
cJSON* root = cJSON_Parse(json_text.c_str());
}
}
if (json_text.empty()) {
json_text.assign(reinterpret_cast<const char*>(data), len);
if (!protocol->suppress_incoming_message_log_) {
ESP_LOGI(TAG, "接收下行消息: %.*s", (int)json_text.size(), json_text.c_str());
}
}
// 非subv消息立即通知应用层中止HTTPS播放
// subv字幕消息由subtitle handler处理可区分USER/AI
if (!is_subv && protocol->on_bot_message_) {
protocol->on_bot_message_();
}
cJSON* root = cJSON_Parse(json_text.c_str());
if (root) {
const char* sid_keys[] = {"sessionId", "session_id", "sid"};
cJSON* sid = nullptr;

View File

@ -0,0 +1,29 @@
#pragma once
#include <stdbool.h>
// 休眠超时时间(毫秒)
#define SLEEP_TIMEOUT_MS 10000
#ifdef __cplusplus
extern "C" {
#endif
// 初始化休眠管理器需在UI、按键初始化之后调用
void sleep_mgr_init(void);
// 启用/禁用休眠模式
void sleep_mgr_set_enabled(bool enabled);
// 获取休眠模式是否启用
bool sleep_mgr_is_enabled(void);
// 通知有用户活动(按键按下、触摸屏幕时调用)
void sleep_mgr_notify_activity(void);
// 查询屏幕是否已关闭
bool sleep_mgr_is_screen_off(void);
#ifdef __cplusplus
}
#endif

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,340 @@
#ifdef __has_include
#if __has_include("lvgl.h")
#ifndef LV_LVGL_H_INCLUDE_SIMPLE
#define LV_LVGL_H_INCLUDE_SIMPLE
#endif
#endif
#endif
#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
#include "lvgl.h"
#else
#include "lvgl/lvgl.h"
#endif
#ifndef LV_ATTRIBUTE_MEM_ALIGN
#define LV_ATTRIBUTE_MEM_ALIGN
#endif
#ifndef LV_ATTRIBUTE_IMG_ICON_EMOTION_SLEEP_45
#define LV_ATTRIBUTE_IMG_ICON_EMOTION_SLEEP_45
#endif
const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_ICON_EMOTION_SLEEP_45 uint8_t icon_emotion_sleep_45_map[] = {
0x47, 0x49, 0x46, 0x38, 0x39, 0x61, 0x2d, 0x00, 0x2d, 0x00, 0xf6, 0x05, 0x00,
0x00, 0x04, 0x00, 0x08, 0x04, 0x08, 0x08, 0x08, 0x08, 0x10, 0x10, 0x10, 0x08,
0x0c, 0x08, 0x10, 0x0c, 0x10, 0x18, 0x18, 0x18, 0x18, 0x14, 0x18, 0x10, 0x14,
0x10, 0x21, 0x20, 0x21, 0x18, 0x1c, 0x18, 0x21, 0x1c, 0x21, 0x21, 0x24, 0x21,
0x29, 0x24, 0x29, 0x29, 0x2c, 0x29, 0x29, 0x28, 0x29, 0x31, 0x2c, 0x31, 0x31,
0x30, 0x31, 0x31, 0x34, 0x31, 0x39, 0x38, 0x39, 0x39, 0x34, 0x39, 0x39, 0x3c,
0x39, 0x52, 0x55, 0x52, 0x42, 0x41, 0x42, 0x52, 0x51, 0x52, 0x42, 0x45, 0x42,
0x4a, 0x49, 0x4a, 0x4a, 0x4d, 0x4a, 0x5a, 0x59, 0x5a, 0x73, 0x71, 0x73, 0x6b,
0x69, 0x6b, 0x63, 0x65, 0x63, 0x6b, 0x6d, 0x6b, 0x6b, 0x65, 0x6b, 0x63, 0x61,
0x63, 0x5a, 0x5d, 0x5a, 0x73, 0x6d, 0x73, 0x4a, 0x45, 0x4a, 0x5a, 0x55, 0x5a,
0x42, 0x3c, 0x42, 0x52, 0x4d, 0x52, 0x4a, 0x51, 0x4a, 0x63, 0x69, 0x63, 0x63,
0x5d, 0x63, 0x73, 0x75, 0x73, 0x7b, 0x79, 0x7b, 0x7b, 0x75, 0x7b, 0x73, 0x79,
0x73, 0x94, 0x96, 0x94, 0x9c, 0x9a, 0x9c, 0x8c, 0x8e, 0x8c, 0x94, 0x92, 0x94,
0x8c, 0x8a, 0x8c, 0x7b, 0x7d, 0x7b, 0x9c, 0x9e, 0x9c, 0xbd, 0xbe, 0xbd, 0xbd,
0xba, 0xbd, 0xc6, 0xc3, 0xc6, 0xd6, 0xd7, 0xd6, 0xce, 0xcf, 0xce, 0xce, 0xd3,
0xce, 0xd6, 0xd3, 0xd6, 0xc6, 0xc7, 0xc6, 0xad, 0xae, 0xad, 0xb5, 0xb6, 0xb5,
0xb5, 0xb2, 0xb5, 0xce, 0xcb, 0xce, 0xa5, 0xaa, 0xa5, 0xbd, 0xc3, 0xbd, 0x84,
0x82, 0x84, 0x84, 0x86, 0x84, 0x39, 0x41, 0x39, 0xa5, 0xa2, 0xa5, 0xa5, 0xa6,
0xa5, 0xde, 0xdf, 0xde, 0xde, 0xdb, 0xde, 0x9c, 0x96, 0x9c, 0x84, 0x8a, 0x84,
0xe7, 0xe3, 0xe7, 0xad, 0xaa, 0xad, 0x8c, 0x86, 0x8c, 0x9c, 0xa2, 0x9c, 0xb5,
0xba, 0xb5, 0xa5, 0x9e, 0xa5, 0x5a, 0x61, 0x5a, 0xe7, 0xe7, 0xe7, 0xef, 0xef,
0xef, 0xf7, 0xf7, 0xf7, 0xe7, 0xeb, 0xe7, 0xf7, 0xf3, 0xf7, 0x7b, 0x82, 0x7b,
0x94, 0x8e, 0x94, 0x84, 0x7d, 0x84, 0xbd, 0xb6, 0xbd, 0xad, 0xa6, 0xad, 0x00,
0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xce, 0xc7, 0xce, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0xfe, 0x2e, 0x47, 0x49, 0x46,
0x20, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x20, 0x77,
0x69, 0x74, 0x68, 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x65,
0x7a, 0x67, 0x69, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x70, 0x74, 0x69,
0x6d, 0x69, 0x7a, 0x65, 0x00, 0x21, 0xff, 0x0b, 0x4e, 0x45, 0x54, 0x53, 0x43,
0x41, 0x50, 0x45, 0x32, 0x2e, 0x30, 0x03, 0x01, 0x00, 0x00, 0x00, 0x21, 0xf9,
0x04, 0x05, 0x20, 0x00, 0x05, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x00, 0x2d, 0x00,
0x2d, 0x00, 0x00, 0x07, 0xf5, 0x80, 0x5f, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94,
0x95, 0x96, 0x97, 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, 0xa0, 0xa1,
0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0x87, 0x09,
0x1c, 0x17, 0x04, 0xa9, 0x1c, 0x3b, 0x4e, 0x42, 0x31, 0x22, 0x1a, 0x0e, 0x03,
0xa4, 0x22, 0x62, 0x56, 0x61, 0x60, 0x57, 0x55, 0x37, 0x49, 0x45, 0x1a, 0x0a,
0xa1, 0x08, 0x17, 0x2c, 0x31, 0x40, 0x55, 0xc1, 0x61, 0x56, 0x3a, 0x3e, 0x32,
0x15, 0xa3, 0x03, 0x0c, 0x1a, 0x30, 0x42, 0x4e, 0x57, 0x60, 0x56, 0x45, 0x00,
0xa6, 0x09, 0x31, 0xdf, 0x3c, 0x1c, 0xa6, 0x1b, 0x3f, 0xc0, 0x3a, 0x1f, 0x07,
0xa4, 0x04, 0x23, 0x42, 0xd2, 0x52, 0x16, 0xa5, 0x0a, 0x45, 0x3a, 0xd2, 0x48,
0xd7, 0xa4, 0x17, 0x48, 0xb2, 0x5c, 0xe1, 0xc1, 0x82, 0x17, 0x29, 0x0d, 0x37,
0xae, 0x5c, 0xf1, 0x31, 0x42, 0x00, 0xa9, 0x04, 0x2c, 0xf6, 0x59, 0x89, 0x32,
0x61, 0xdc, 0x28, 0x03, 0x31, 0xbc, 0x29, 0x91, 0x81, 0x20, 0xde, 0x3a, 0x60,
0x42, 0x44, 0x18, 0x88, 0xa7, 0x62, 0xc7, 0x15, 0x2b, 0x41, 0x2e, 0x94, 0x1a,
0x50, 0x63, 0x89, 0x34, 0x6b, 0xa6, 0x2a, 0xd0, 0x43, 0xf9, 0x41, 0x82, 0x43,
0x52, 0x18, 0xf6, 0x09, 0x53, 0xb2, 0xe3, 0x07, 0x8b, 0x8a, 0xa2, 0x0e, 0x68,
0x68, 0x01, 0x44, 0x09, 0xb0, 0x30, 0x27, 0x77, 0x20, 0x69, 0xc1, 0x01, 0x42,
0x28, 0x01, 0x0c, 0x3e, 0x38, 0xdb, 0x71, 0x34, 0x8b, 0x12, 0x1b, 0x06, 0x83,
0x5e, 0x08, 0x41, 0x23, 0x48, 0x15, 0x94, 0x01, 0x52, 0x25, 0xc0, 0xa0, 0xa1,
0x15, 0xa7, 0x40, 0x00, 0x21, 0xf9, 0x04, 0x05, 0x04, 0x00, 0x03, 0x00, 0x2c,
0x15, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0x12, 0x00, 0x00, 0x02, 0x2a, 0x9c, 0x6f,
0x00, 0x88, 0xa1, 0x02, 0xd9, 0x83, 0x54, 0xb4, 0xba, 0xde, 0x5d, 0xc7, 0x71,
0xd6, 0x45, 0xe0, 0x36, 0x92, 0xe5, 0xa0, 0x9d, 0xa8, 0x78, 0xb2, 0xa5, 0xa7,
0xae, 0x71, 0x9a, 0xd0, 0xf0, 0x44, 0x85, 0x58, 0x00, 0x62, 0xed, 0x07, 0x2a,
0x00, 0x00, 0x21, 0xf9, 0x04, 0x05, 0x04, 0x00, 0x09, 0x00, 0x2c, 0x15, 0x00,
0x0f, 0x00, 0x0f, 0x00, 0x12, 0x00, 0x00, 0x04, 0x45, 0x30, 0xc9, 0x99, 0x80,
0x20, 0x34, 0x07, 0x32, 0xd0, 0x41, 0x02, 0x65, 0x71, 0xde, 0xf7, 0x05, 0x54,
0x51, 0x0e, 0xc4, 0xf6, 0x69, 0x6d, 0xfa, 0x66, 0x9a, 0x87, 0xd2, 0x32, 0x86,
0x4f, 0x40, 0x77, 0xef, 0x95, 0x19, 0x30, 0xe1, 0x1b, 0x06, 0x41, 0x38, 0x00,
0x0f, 0x39, 0xec, 0x31, 0x45, 0x39, 0xde, 0xc5, 0x26, 0x71, 0x5e, 0xa6, 0xa6,
0xc2, 0xcd, 0xb9, 0xf2, 0x29, 0x97, 0xd9, 0x6f, 0x52, 0x20, 0xa6, 0x45, 0x00,
0x00, 0x21, 0xf9, 0x04, 0x05, 0x04, 0x00, 0x0c, 0x00, 0x2c, 0x14, 0x00, 0x0f,
0x00, 0x10, 0x00, 0x12, 0x00, 0x00, 0x04, 0x55, 0x90, 0xc9, 0x29, 0x03, 0x19,
0x80, 0x52, 0x20, 0x86, 0x59, 0x89, 0x52, 0x68, 0xcc, 0x65, 0x28, 0xc9, 0x82,
0x26, 0xc2, 0x76, 0x80, 0x8a, 0x81, 0x0d, 0x21, 0x89, 0x1c, 0x45, 0xc6, 0x00,
0xdf, 0x40, 0x92, 0x82, 0x58, 0xeb, 0x47, 0xa1, 0x21, 0x88, 0x9a, 0x13, 0x01,
0x39, 0x29, 0xa8, 0x98, 0x95, 0x1e, 0xb4, 0x14, 0x0a, 0x4c, 0x11, 0x35, 0x68,
0x00, 0x05, 0xb4, 0x25, 0x10, 0x3a, 0xcb, 0xcd, 0x60, 0x8d, 0x7e, 0x3b, 0x87,
0x55, 0x6c, 0x03, 0x6a, 0x87, 0x70, 0x40, 0x35, 0x06, 0x09, 0x18, 0x60, 0x74,
0xa4, 0x08, 0x00, 0x21, 0xf9, 0x04, 0x05, 0x04, 0x00, 0x05, 0x00, 0x2c, 0x14,
0x00, 0x0f, 0x00, 0x10, 0x00, 0x12, 0x00, 0x00, 0x05, 0x5d, 0x60, 0x21, 0x8e,
0xa2, 0x80, 0x18, 0x64, 0x5a, 0x10, 0x06, 0xe3, 0x40, 0x0f, 0x92, 0x9a, 0x8a,
0xfb, 0xda, 0x44, 0x9a, 0x3c, 0x30, 0x63, 0x0c, 0x08, 0x07, 0x03, 0x40, 0x02,
0xd4, 0x0e, 0x81, 0xd1, 0xee, 0xa0, 0x52, 0x11, 0x1e, 0x8d, 0xa6, 0xca, 0x20,
0x24, 0x4a, 0x4b, 0xae, 0xc1, 0x75, 0x74, 0x80, 0x5a, 0xb7, 0xcb, 0x2d, 0xb6,
0x21, 0x10, 0x17, 0xa8, 0x0a, 0xb3, 0x00, 0xaa, 0x9d, 0xa5, 0x82, 0xe9, 0x02,
0xc0, 0xb4, 0x1b, 0x92, 0x96, 0xac, 0x5d, 0x2f, 0x51, 0xc6, 0xf6, 0x6e, 0x0a,
0x48, 0x49, 0x23, 0x4f, 0x37, 0x08, 0x7d, 0x52, 0x06, 0x3f, 0x57, 0x21, 0x00,
0x21, 0xf9, 0x04, 0x05, 0x04, 0x00, 0x08, 0x00, 0x2c, 0x14, 0x00, 0x0f, 0x00,
0x10, 0x00, 0x13, 0x00, 0x00, 0x05, 0x66, 0x20, 0x22, 0x8e, 0x22, 0xa1, 0x30,
0x02, 0x49, 0x0a, 0x47, 0xe2, 0x4c, 0xd5, 0x74, 0xa8, 0x66, 0x13, 0xc1, 0xb8,
0xbc, 0xbe, 0x71, 0x94, 0x18, 0x8b, 0x49, 0x44, 0x85, 0xb0, 0x19, 0x04, 0x00,
0x44, 0xe0, 0xb5, 0x20, 0x26, 0x57, 0xc2, 0x01, 0x51, 0x05, 0x48, 0x4c, 0x1a,
0x53, 0xda, 0x6d, 0x96, 0x1d, 0x05, 0x1d, 0xdd, 0xd1, 0x52, 0x17, 0x56, 0x46,
0xcb, 0x63, 0x14, 0x5a, 0x42, 0xe1, 0x8a, 0x0b, 0x2a, 0xc5, 0x35, 0xa0, 0x1c,
0x9c, 0x28, 0x11, 0xf8, 0xe8, 0x21, 0x1b, 0xb8, 0x28, 0x3d, 0x0e, 0x7a, 0x66,
0x31, 0x39, 0x0f, 0x0a, 0x83, 0x25, 0x80, 0x78, 0x88, 0x4f, 0x4e, 0x09, 0x09,
0x03, 0x74, 0x68, 0x65, 0x21, 0x00, 0x21, 0xf9, 0x04, 0x05, 0x04, 0x00, 0x0b,
0x00, 0x2c, 0x14, 0x00, 0x0f, 0x00, 0x10, 0x00, 0x12, 0x00, 0x00, 0x06, 0x7c,
0xc0, 0x85, 0x70, 0x28, 0x1c, 0x38, 0x24, 0x05, 0xe2, 0x10, 0x50, 0x50, 0x38,
0x2e, 0x98, 0x28, 0x43, 0x69, 0x9c, 0x64, 0xa2, 0x58, 0x94, 0x82, 0x48, 0x80,
0x5a, 0x30, 0x99, 0x08, 0xc3, 0x01, 0x0e, 0x70, 0x29, 0x97, 0x46, 0x72, 0x21,
0x38, 0x61, 0x1c, 0xca, 0xf8, 0x02, 0x81, 0xd2, 0x18, 0xe4, 0xca, 0x08, 0x66,
0x22, 0xc0, 0x0f, 0x07, 0x57, 0x09, 0x7e, 0x43, 0x0f, 0x65, 0x83, 0x6c, 0x15,
0x6f, 0x87, 0x73, 0x29, 0x76, 0x8b, 0x7a, 0x14, 0x66, 0x83, 0x80, 0x1b, 0x82,
0x5c, 0x03, 0x00, 0x44, 0x85, 0x15, 0x7d, 0x02, 0x06, 0x0f, 0x13, 0x1b, 0x8e,
0x42, 0x6d, 0x6f, 0x06, 0x12, 0x5e, 0x16, 0x1a, 0x15, 0x08, 0x43, 0x06, 0x1b,
0x26, 0xa2, 0x5f, 0xab, 0x0f, 0x07, 0x7d, 0xae, 0x29, 0xaa, 0x61, 0x03, 0x7e,
0x04, 0x11, 0x11, 0x0a, 0xb7, 0x71, 0x41, 0x00, 0x21, 0xf9, 0x04, 0x05, 0x04,
0x00, 0x08, 0x00, 0x2c, 0x14, 0x00, 0x0e, 0x00, 0x10, 0x00, 0x13, 0x00, 0x00,
0x06, 0x88, 0x40, 0x84, 0x70, 0x48, 0x04, 0x10, 0x8f, 0x43, 0x80, 0x61, 0x92,
0x19, 0x20, 0x85, 0x87, 0xc6, 0x85, 0xe3, 0x01, 0x79, 0x22, 0xc7, 0xa5, 0x66,
0x54, 0xed, 0x7a, 0x1a, 0xc4, 0x82, 0xa9, 0xcb, 0xb9, 0x44, 0x26, 0x1e, 0x8e,
0xa0, 0x58, 0xc2, 0x60, 0x85, 0x04, 0x0c, 0x68, 0xf2, 0x34, 0x0e, 0x15, 0x9e,
0x15, 0xe3, 0xc9, 0xf6, 0x68, 0xf8, 0x44, 0x06, 0x5c, 0x0e, 0x80, 0x43, 0x14,
0x69, 0x04, 0x85, 0x42, 0x72, 0x12, 0x8a, 0x08, 0x06, 0x2a, 0x23, 0x0a, 0x8a,
0x02, 0x17, 0x20, 0x25, 0x6b, 0x85, 0x82, 0x1f, 0x84, 0x61, 0x06, 0x01, 0x49,
0x68, 0x1b, 0x89, 0x05, 0x0c, 0x14, 0x1b, 0x1f, 0x23, 0x09, 0x43, 0x62, 0x57,
0x0c, 0x53, 0x22, 0x1d, 0x20, 0x22, 0x18, 0x0b, 0x43, 0x09, 0x1f, 0x24, 0x22,
0x21, 0x56, 0x22, 0x1a, 0x13, 0x09, 0x89, 0xb7, 0x2a, 0xba, 0x1c, 0x15, 0x9f,
0x7c, 0x03, 0x27, 0x27, 0x0c, 0xc2, 0x48, 0x41, 0x00, 0x21, 0xf9, 0x04, 0x05,
0x04, 0x00, 0x02, 0x00, 0x2c, 0x14, 0x00, 0x0f, 0x00, 0x10, 0x00, 0x12, 0x00,
0x00, 0x06, 0x80, 0x40, 0x81, 0x70, 0x28, 0x54, 0x54, 0x34, 0x08, 0xe2, 0x30,
0x60, 0x70, 0x64, 0x56, 0x9d, 0x56, 0x47, 0xa2, 0x34, 0x62, 0x3e, 0x2c, 0xa9,
0xe7, 0xd5, 0x79, 0x10, 0x07, 0xa3, 0x2c, 0x6b, 0x55, 0x92, 0x54, 0xc6, 0x4a,
0xc1, 0x86, 0x43, 0x19, 0x0c, 0x39, 0xac, 0x4a, 0x3a, 0xa0, 0x4c, 0x74, 0x3e,
0xe9, 0x7c, 0x86, 0x85, 0x22, 0xe4, 0x89, 0x0a, 0x1f, 0x20, 0x11, 0x7f, 0x44,
0x67, 0x23, 0x85, 0x44, 0x70, 0x13, 0x89, 0x43, 0x77, 0x09, 0x8d, 0x6a, 0x2f,
0x1b, 0x91, 0x02, 0x21, 0x83, 0x4a, 0x03, 0x0a, 0x4a, 0x67, 0x16, 0x04, 0x00,
0x03, 0x0f, 0x15, 0x18, 0x20, 0x1f, 0x0c, 0x43, 0x60, 0x71, 0x0f, 0x1a, 0x23,
0x20, 0x2d, 0x2d, 0x2a, 0x16, 0x90, 0x42, 0x0c, 0xae, 0x5b, 0x2e, 0xb0, 0x18,
0x15, 0xa7, 0x4a, 0xb6, 0x1f, 0x17, 0x9b, 0x7f, 0x08, 0x17, 0x19, 0x5e, 0x7f,
0x41, 0x00, 0x21, 0xf9, 0x04, 0x05, 0x04, 0x00, 0x0a, 0x00, 0x2c, 0x14, 0x00,
0x0f, 0x00, 0x10, 0x00, 0x12, 0x00, 0x00, 0x07, 0x97, 0x80, 0x0a, 0x82, 0x83,
0x82, 0x09, 0x1a, 0x1c, 0x06, 0x84, 0x83, 0x02, 0x09, 0x12, 0x16, 0x2f, 0x34,
0x33, 0x34, 0x15, 0x84, 0x00, 0x86, 0x1f, 0x2d, 0x32, 0x30, 0x34, 0x45, 0x92,
0x12, 0x84, 0x08, 0x1d, 0x91, 0x32, 0x2c, 0x16, 0x17, 0x1a, 0xa4, 0x05, 0xa0,
0x54, 0x20, 0x17, 0x08, 0x01, 0x0a, 0x03, 0x20, 0x5b, 0x1b, 0x8a, 0x0a, 0x02,
0x8a, 0x0c, 0x34, 0x35, 0x11, 0xb6, 0xb6, 0x1c, 0x32, 0x22, 0xaa, 0xbe, 0x83,
0x0c, 0x2d, 0x46, 0x94, 0xc4, 0x83, 0xa8, 0x1d, 0x03, 0xca, 0x82, 0x04, 0xb3,
0x19, 0xcf, 0x85, 0x9c, 0x0f, 0xd4, 0x0a, 0x26, 0x33, 0x23, 0x04, 0xd4, 0x0b,
0x35, 0xc8, 0x8a, 0x08, 0x09, 0xb8, 0xcb, 0x32, 0x1e, 0xaf, 0x07, 0x11, 0x1a,
0x1f, 0x46, 0x2d, 0x0e, 0x83, 0xa1, 0x5b, 0x17, 0x8e, 0xa2, 0x30, 0x33, 0x45,
0x1e, 0xd7, 0x82, 0x10, 0x50, 0x4c, 0x45, 0xa3, 0x8a, 0x88, 0xd0, 0xe0, 0xc0,
0xd9, 0xa0, 0x08, 0x91, 0xdc, 0x61, 0x60, 0xa0, 0xcc, 0x00, 0x06, 0x0b, 0x11,
0x0c, 0xda, 0x0a, 0x04, 0x00, 0x21, 0xf9, 0x04, 0x05, 0x04, 0x00, 0x00, 0x00,
0x2c, 0x14, 0x00, 0x0f, 0x00, 0x10, 0x00, 0x12, 0x00, 0x00, 0x07, 0x9a, 0x80,
0x00, 0x82, 0x83, 0x82, 0x0c, 0x16, 0x1f, 0x0a, 0x84, 0x84, 0x0c, 0x15, 0x54,
0x46, 0x36, 0x48, 0x31, 0x25, 0x8a, 0x0d, 0x18, 0x1d, 0x34, 0x51, 0x4f, 0x36,
0x33, 0x91, 0x13, 0x84, 0x06, 0x45, 0x53, 0x43, 0x36, 0x45, 0x22, 0x1a, 0x26,
0x48, 0x45, 0x8a, 0x00, 0x1e, 0x35, 0x1b, 0x06, 0x83, 0x2d, 0x48, 0x16, 0xab,
0xab, 0x0e, 0x31, 0x32, 0x9e, 0xb5, 0x83, 0x04, 0x22, 0x48, 0x20, 0x03, 0xbb,
0x83, 0x0f, 0x4d, 0x30, 0x17, 0xc2, 0x83, 0x18, 0x36, 0x35, 0x08, 0xc8, 0x00,
0x05, 0x2d, 0x36, 0x1b, 0xce, 0x00, 0x0c, 0x9b, 0x0e, 0xce, 0xbd, 0xbf, 0x05,
0xce, 0x0c, 0x32, 0x33, 0x19, 0x8a, 0x07, 0x0f, 0x04, 0x84, 0x16, 0xcb, 0x07,
0x00, 0x06, 0x14, 0x16, 0x1d, 0x30, 0x34, 0x12, 0x83, 0x07, 0xb2, 0x1a, 0x13,
0x1f, 0x35, 0x30, 0x43, 0x49, 0x33, 0x2d, 0x10, 0x83, 0x12, 0x31, 0xbc, 0xcc,
0x08, 0xb8, 0x8f, 0x84, 0x85, 0x08, 0x8a, 0x28, 0x40, 0x7a, 0x37, 0xc2, 0x81,
0x80, 0x5d, 0x0a, 0x46, 0x88, 0x98, 0xd0, 0xac, 0x56, 0x20, 0x00, 0x21, 0xf9,
0x04, 0x05, 0x04, 0x00, 0x02, 0x00, 0x2c, 0x14, 0x00, 0x0f, 0x00, 0x10, 0x00,
0x13, 0x00, 0x00, 0x07, 0xa1, 0x80, 0x02, 0x82, 0x83, 0x82, 0x0e, 0x22, 0x2e,
0x0c, 0x84, 0x83, 0x04, 0x0f, 0x19, 0x20, 0x30, 0x41, 0x38, 0x41, 0x18, 0x8a,
0x0e, 0x23, 0x45, 0x36, 0x52, 0x39, 0x41, 0x43, 0x37, 0x41, 0x19, 0x8a, 0x90,
0x44, 0x52, 0x30, 0x1d, 0x16, 0x22, 0x38, 0x4c, 0x03, 0x84, 0x03, 0x2d, 0x32,
0x16, 0x0a, 0x82, 0x08, 0x34, 0x52, 0x22, 0x8a, 0x02, 0x04, 0x01, 0x83, 0x00,
0x11, 0x3f, 0x48, 0x17, 0xb7, 0x8a, 0x05, 0x20, 0x38, 0x35, 0x08, 0xc1, 0x84,
0x11, 0x36, 0x3f, 0x28, 0xc8, 0x84, 0x23, 0x40, 0x33, 0x06, 0xce, 0xb2, 0x32,
0x38, 0x1c, 0xd4, 0x85, 0x40, 0x49, 0x14, 0xd9, 0xc3, 0x37, 0x2d, 0xab, 0xd4,
0x0e, 0x48, 0x4f, 0x94, 0x84, 0x06, 0x10, 0x84, 0x01, 0xa8, 0x4d, 0x06, 0x00,
0x0a, 0x27, 0x54, 0x45, 0xbe, 0x15, 0x83, 0x0a, 0xd6, 0x26, 0x17, 0x2c, 0x33,
0x4f, 0xa3, 0x49, 0x4d, 0x26, 0x0c, 0xaa, 0xf0, 0xe3, 0xc6, 0x90, 0x48, 0x06,
0x6b, 0x88, 0x98, 0x70, 0x80, 0xd0, 0x91, 0x48, 0x4f, 0x62, 0xa8, 0xa0, 0x96,
0x00, 0x44, 0x87, 0x13, 0xd3, 0xb2, 0xe9, 0xa2, 0x16, 0x08, 0x00, 0x21, 0xf9,
0x04, 0x05, 0x38, 0x00, 0x05, 0x00, 0x2c, 0x14, 0x00, 0x0e, 0x00, 0x10, 0x00,
0x14, 0x00, 0x00, 0x07, 0xaa, 0x80, 0x05, 0x82, 0x83, 0x84, 0x02, 0x84, 0x87,
0x83, 0x01, 0x15, 0x45, 0x30, 0x0e, 0x88, 0x05, 0x03, 0x13, 0x1c, 0x32, 0x39,
0x55, 0x56, 0x55, 0x21, 0x87, 0x15, 0x2d, 0x49, 0x42, 0x56, 0x57, 0x55, 0x3a,
0x97, 0x16, 0x84, 0x09, 0x37, 0x58, 0x57, 0x56, 0x44, 0x33, 0x20, 0x35, 0x58,
0x44, 0x06, 0x84, 0x08, 0x36, 0x40, 0x20, 0x0c, 0x86, 0x06, 0x41, 0x56, 0x35,
0x88, 0x03, 0x86, 0x83, 0x17, 0x4e, 0x3c, 0x18, 0x8f, 0xb2, 0x33, 0x56, 0x48,
0x0a, 0xc5, 0x83, 0x15, 0x42, 0x4a, 0x22, 0xcb, 0x83, 0x2d, 0x55, 0x38, 0x09,
0xd1, 0x90, 0x40, 0x58, 0x2c, 0xd7, 0x00, 0x14, 0xa1, 0x25, 0xd7, 0x08, 0x32,
0x59, 0x31, 0xb1, 0xd1, 0x12, 0x3b, 0x4b, 0x1f, 0x87, 0x09, 0x13, 0x03, 0x89,
0xae, 0x3f, 0x09, 0x01, 0x0f, 0x18, 0x35, 0x43, 0x4a, 0x42, 0x1b, 0x83, 0x0c,
0xba, 0x1d, 0x26, 0x30, 0x70, 0x2c, 0x49, 0xd5, 0x23, 0x08, 0x38, 0x41, 0x1b,
0x94, 0x5c, 0xd1, 0xa1, 0xe4, 0x93, 0x0e, 0x24, 0x35, 0x34, 0x28, 0x1b, 0x84,
0xc1, 0xc9, 0x95, 0x7c, 0x34, 0x8e, 0x10, 0x28, 0xe6, 0x80, 0xc6, 0x0c, 0x0b,
0xf3, 0xb8, 0x01, 0x88, 0x16, 0x08, 0x00, 0x21, 0xf9, 0x04, 0x05, 0x04, 0x00,
0x02, 0x00, 0x2c, 0x1f, 0x00, 0x02, 0x00, 0x0a, 0x00, 0x0c, 0x00, 0x00, 0x02,
0x18, 0x94, 0x11, 0x20, 0x6a, 0x8d, 0xcf, 0xda, 0x41, 0xd2, 0x85, 0x3a, 0xf1,
0xba, 0x98, 0x76, 0x5e, 0x25, 0x9a, 0x17, 0x42, 0xa4, 0x64, 0x0a, 0x05, 0x00,
0x21, 0xf9, 0x04, 0x05, 0x04, 0x00, 0x06, 0x00, 0x2c, 0x1f, 0x00, 0x02, 0x00,
0x0b, 0x00, 0x0c, 0x00, 0x00, 0x03, 0x23, 0x68, 0x26, 0x53, 0xf2, 0x40, 0x29,
0xf0, 0x5c, 0x23, 0x41, 0x6a, 0x36, 0xb2, 0x5e, 0xd7, 0x07, 0x3a, 0x22, 0x17,
0x7d, 0x41, 0xb8, 0x71, 0x25, 0x5b, 0x76, 0xe2, 0x74, 0x39, 0x90, 0x44, 0x55,
0x96, 0x92, 0x00, 0x00, 0x21, 0xf9, 0x04, 0x05, 0x04, 0x00, 0x09, 0x00, 0x2c,
0x1f, 0x00, 0x02, 0x00, 0x0b, 0x00, 0x0d, 0x00, 0x00, 0x04, 0x2f, 0x30, 0xa5,
0x62, 0xce, 0x28, 0x22, 0x00, 0x99, 0x02, 0xb9, 0x47, 0x85, 0x08, 0x9c, 0x04,
0x00, 0x44, 0x45, 0x96, 0x5d, 0xb8, 0x96, 0x82, 0xcb, 0x4a, 0xe1, 0xdc, 0x0e,
0xc1, 0x4c, 0xe1, 0x7a, 0x65, 0xa7, 0xbc, 0x9e, 0x08, 0x97, 0x31, 0xa1, 0x3e,
0xa0, 0x83, 0xcd, 0x28, 0x89, 0x00, 0x00, 0x21, 0xf9, 0x04, 0x05, 0x04, 0x00,
0x0e, 0x00, 0x2c, 0x1e, 0x00, 0x02, 0x00, 0x0c, 0x00, 0x0d, 0x00, 0x00, 0x04,
0x39, 0xd0, 0x49, 0xc4, 0x96, 0x41, 0x43, 0x04, 0x29, 0x05, 0x52, 0x4b, 0x52,
0x29, 0x05, 0xc7, 0x05, 0x9e, 0x28, 0x98, 0xa7, 0xca, 0x4e, 0xee, 0x3b, 0xc4,
0xec, 0xbc, 0xac, 0x6c, 0x40, 0x19, 0xc0, 0xab, 0x33, 0xbc, 0x97, 0xe3, 0x00,
0xdc, 0xf8, 0x28, 0x8d, 0x84, 0xe2, 0x92, 0x39, 0x79, 0x0e, 0x06, 0x50, 0xd1,
0x81, 0x33, 0x01, 0x50, 0x92, 0x08, 0x00, 0x21, 0xf9, 0x04, 0x05, 0x08, 0x00,
0x05, 0x00, 0x2c, 0x1e, 0x00, 0x01, 0x00, 0x0c, 0x00, 0x0e, 0x00, 0x00, 0x05,
0x46, 0x60, 0x21, 0x02, 0x62, 0x69, 0x8a, 0x8a, 0x14, 0x35, 0x89, 0x31, 0x08,
0xa4, 0x38, 0x30, 0x4e, 0xa4, 0x52, 0x0e, 0x72, 0x02, 0xc2, 0x4c, 0x49, 0xba,
0x53, 0xe1, 0x60, 0x3b, 0x08, 0x87, 0x2a, 0xe3, 0x2e, 0x15, 0x21, 0x08, 0x01,
0xcc, 0xc1, 0x93, 0x81, 0x13, 0x4c, 0xab, 0xd7, 0x07, 0x21, 0x66, 0x02, 0x50,
0x27, 0xaa, 0x07, 0x43, 0x11, 0x2c, 0xf4, 0x0c, 0x09, 0x9a, 0xcd, 0x11, 0x30,
0xef, 0x02, 0x04, 0x67, 0x21, 0x04, 0x00, 0x21, 0xf9, 0x04, 0x05, 0x04, 0x00,
0x04, 0x00, 0x2c, 0x1e, 0x00, 0x01, 0x00, 0x0c, 0x00, 0x0e, 0x00, 0x00, 0x07,
0x60, 0x80, 0x04, 0x82, 0x01, 0x00, 0x82, 0x86, 0x87, 0x00, 0x13, 0x2b, 0x18,
0x17, 0x13, 0x0e, 0x0c, 0x08, 0x01, 0x86, 0x09, 0x17, 0x1b, 0x18, 0x1c, 0x22,
0x23, 0x1b, 0x0f, 0x87, 0x04, 0x01, 0x03, 0x0b, 0x13, 0x23, 0x1c, 0x0c, 0x9d,
0x82, 0x0c, 0x16, 0xa4, 0xa6, 0x00, 0x0e, 0x1c, 0x16, 0x9c, 0x9d, 0x01, 0x12,
0xa3, 0x08, 0xab, 0x14, 0x1c, 0x1b, 0x09, 0xab, 0x27, 0x9a, 0xb5, 0x9d, 0x03,
0x47, 0xbd, 0xb6, 0x22, 0x25, 0x06, 0x02, 0x85, 0x88, 0x17, 0x23, 0x99, 0x8c,
0x8d, 0x0c, 0xc8, 0xa0, 0x11, 0x27, 0x19, 0x1b, 0x98, 0x1b, 0x05, 0x9e, 0x88,
0x02, 0x03, 0x06, 0x06, 0x82, 0x81, 0x00, 0x21, 0xf9, 0x04, 0x05, 0x04, 0x00,
0x05, 0x00, 0x2c, 0x1e, 0x00, 0x02, 0x00, 0x0c, 0x00, 0x0d, 0x00, 0x00, 0x06,
0x59, 0xc0, 0x82, 0xf0, 0x02, 0x12, 0x6d, 0x2e, 0x92, 0x87, 0x42, 0x20, 0x2c,
0x38, 0x36, 0x1c, 0x51, 0x88, 0x04, 0x1a, 0x39, 0x9a, 0x42, 0x81, 0x81, 0x41,
0xf4, 0x3c, 0xb0, 0x59, 0xc8, 0xc7, 0x13, 0x01, 0x0b, 0x25, 0xa1, 0x4f, 0x04,
0x60, 0xae, 0x78, 0x44, 0x06, 0x73, 0xc1, 0xcd, 0x61, 0x98, 0x09, 0x1a, 0x90,
0x25, 0x0e, 0x46, 0xe4, 0x31, 0x08, 0x72, 0x19, 0x1d, 0x18, 0x09, 0x04, 0x01,
0x60, 0x78, 0x1d, 0x8b, 0x23, 0x18, 0x47, 0x57, 0x42, 0x07, 0x0d, 0x15, 0x1a,
0x18, 0x51, 0x1d, 0x1c, 0x03, 0x77, 0x04, 0x08, 0x0a, 0x4b, 0x05, 0x41, 0x00,
0x21, 0xf9, 0x04, 0x05, 0x04, 0x00, 0x02, 0x00, 0x2c, 0x1e, 0x00, 0x02, 0x00,
0x0c, 0x00, 0x0d, 0x00, 0x00, 0x06, 0x4f, 0x40, 0x81, 0x30, 0xc3, 0x0a, 0x99,
0x4a, 0x13, 0x87, 0x70, 0x29, 0xc0, 0x88, 0x3c, 0x20, 0x57, 0x31, 0xc2, 0x5c,
0x3e, 0x4a, 0xac, 0x8e, 0xb2, 0x2a, 0x88, 0x44, 0x25, 0x00, 0x2e, 0x05, 0x04,
0x92, 0x70, 0x05, 0x97, 0xa2, 0xe2, 0x9c, 0x16, 0x3d, 0xb8, 0x05, 0x14, 0x8b,
0xb3, 0xae, 0x1e, 0xe4, 0x16, 0x03, 0x37, 0x80, 0x4f, 0x14, 0xe0, 0x18, 0x2d,
0x82, 0x1f, 0x1c, 0x18, 0x25, 0x11, 0x01, 0x56, 0x17, 0x29, 0x1c, 0x4f, 0x2d,
0x22, 0x67, 0x42, 0x06, 0x09, 0x0b, 0x42, 0x41, 0x00, 0x21, 0xf9, 0x04, 0x05,
0x04, 0x00, 0x07, 0x00, 0x2c, 0x1e, 0x00, 0x01, 0x00, 0x0c, 0x00, 0x0e, 0x00,
0x00, 0x07, 0x65, 0x80, 0x07, 0x82, 0x07, 0x01, 0x83, 0x86, 0x83, 0x1c, 0x30,
0x46, 0x20, 0x1c, 0x1a, 0x15, 0x0f, 0x04, 0x83, 0x15, 0x20, 0x35, 0x46, 0x32,
0x31, 0x8a, 0x17, 0x87, 0x04, 0x09, 0x11, 0x89, 0x32, 0x15, 0x87, 0x82, 0x17,
0x34, 0x32, 0x9a, 0x9b, 0x25, 0x32, 0x34, 0xa7, 0x86, 0x04, 0x16, 0x33, 0x46,
0x0c, 0x00, 0x9b, 0xaf, 0x35, 0x12, 0xa2, 0x03, 0x1f, 0x30, 0x1d, 0x0c, 0xa2,
0x0b, 0x21, 0xbb, 0x09, 0xa2, 0x02, 0x22, 0x31, 0x1d, 0x10, 0x08, 0x02, 0x9b,
0x1e, 0x30, 0x98, 0x45, 0x1d, 0x1e, 0x1c, 0x27, 0xca, 0x07, 0x0a, 0x12, 0x18,
0x1f, 0x94, 0x97, 0x35, 0x06, 0x82, 0xb3, 0xde, 0x08, 0x9d, 0x90, 0x07, 0x81,
0x00, 0x21, 0xf9, 0x04, 0x05, 0x04, 0x00, 0x05, 0x00, 0x2c, 0x1e, 0x00, 0x02,
0x00, 0x0c, 0x00, 0x0d, 0x00, 0x00, 0x07, 0x66, 0x80, 0x05, 0x05, 0x01, 0x21,
0x49, 0x33, 0x2c, 0x1f, 0x16, 0x19, 0x0e, 0x03, 0x82, 0x00, 0x17, 0x2d, 0x34,
0x30, 0x36, 0x4f, 0x43, 0x32, 0x1a, 0x82, 0x8e, 0x03, 0x0c, 0x13, 0x1f, 0x49,
0x51, 0x19, 0x99, 0x99, 0x01, 0x25, 0x93, 0x1b, 0xa2, 0x8e, 0x1b, 0x31, 0x31,
0x1a, 0x02, 0xa8, 0x05, 0x23, 0x51, 0x33, 0x0f, 0xaf, 0x03, 0x2b, 0xb2, 0x15,
0xb5, 0x1d, 0x49, 0x35, 0x0e, 0xaf, 0x09, 0xbb, 0x2d, 0x0c, 0xba, 0x3f, 0x35,
0x12, 0x06, 0x02, 0x00, 0xa2, 0x07, 0x2c, 0x49, 0x43, 0x48, 0x32, 0x35, 0x88,
0xa1, 0x83, 0x09, 0x15, 0x1c, 0x1d, 0x35, 0x34, 0x94, 0x50, 0x0b, 0xaf, 0x05,
0x06, 0x0c, 0x11, 0xbe, 0x05, 0x81, 0x00, 0x21, 0xf9, 0x04, 0x05, 0x04, 0x00,
0x00, 0x00, 0x2c, 0x1e, 0x00, 0x01, 0x00, 0x0c, 0x00, 0x0e, 0x00, 0x00, 0x07,
0x65, 0x80, 0x00, 0x82, 0x02, 0x02, 0x82, 0x86, 0x87, 0x00, 0x1d, 0x52, 0x49,
0x46, 0x1d, 0x23, 0x1b, 0x12, 0x87, 0x1a, 0x50, 0x36, 0x49, 0x3f, 0x37, 0x38,
0x53, 0x18, 0x88, 0x00, 0x0f, 0x17, 0x8a, 0x41, 0x1a, 0x9c, 0x02, 0x1b, 0x4f,
0x41, 0x16, 0x9c, 0x00, 0x1c, 0x3f, 0x4f, 0x9b, 0x88, 0x05, 0x1e, 0x40, 0x49,
0x11, 0xa9, 0xb1, 0x31, 0x17, 0x9c, 0x06, 0x35, 0x52, 0x32, 0xb4, 0x88, 0x0c,
0xbb, 0x46, 0x0f, 0xa3, 0x35, 0x44, 0x34, 0x13, 0x06, 0x04, 0x88, 0x06, 0x45,
0x38, 0x98, 0x48, 0x32, 0x45, 0x1d, 0x1b, 0x05, 0x82, 0x0c, 0x17, 0x1f, 0x35,
0x34, 0x31, 0x97, 0x30, 0x09, 0xa3, 0x0a, 0x0f, 0x13, 0xbe, 0x81, 0x00, 0x21,
0xf9, 0x04, 0x05, 0x04, 0x00, 0x00, 0x00, 0x2c, 0x1e, 0x00, 0x02, 0x00, 0x0c,
0x00, 0x0d, 0x00, 0x00, 0x07, 0x58, 0x80, 0x00, 0x82, 0x2c, 0x37, 0x43, 0x34,
0x2c, 0x22, 0x82, 0x8a, 0x00, 0x1b, 0x32, 0x48, 0x4f, 0x40, 0x39, 0x39, 0x49,
0x8b, 0x82, 0x08, 0x0e, 0x00, 0x2c, 0x39, 0x38, 0x1b, 0x95, 0x82, 0x16, 0x41,
0x5d, 0x26, 0x9e, 0x82, 0x40, 0x41, 0x16, 0x9e, 0x03, 0x20, 0x85, 0xa4, 0x08,
0xab, 0x48, 0x19, 0xa4, 0x45, 0x37, 0x30, 0xa4, 0x00, 0x45, 0x39, 0x32, 0xad,
0x00, 0x3e, 0x32, 0x15, 0x0a, 0xb2, 0x37, 0x3e, 0x38, 0x49, 0x33, 0x46, 0x2c,
0x18, 0x8b, 0x19, 0x1e, 0x45, 0x32, 0x51, 0x91, 0x36, 0x0c, 0xa9, 0x8a, 0x12,
0x02, 0x00, 0x81, 0x00, 0x21, 0xf9, 0x04, 0x05, 0x04, 0x00, 0x01, 0x00, 0x2c,
0x1f, 0x00, 0x02, 0x00, 0x0b, 0x00, 0x0d, 0x00, 0x00, 0x07, 0x63, 0x80, 0x01,
0x01, 0x35, 0x3b, 0x40, 0x30, 0x35, 0x1e, 0x16, 0x13, 0x08, 0x82, 0x18, 0x30,
0x3f, 0x38, 0x39, 0x3c, 0x3b, 0x3f, 0x1c, 0x82, 0x82, 0x07, 0x11, 0x1a, 0x84,
0x3e, 0x16, 0x97, 0x97, 0x1c, 0x37, 0x3e, 0x2b, 0x9f, 0x82, 0x22, 0x44, 0x37,
0x23, 0xa5, 0x01, 0x2c, 0x42, 0x38, 0x12, 0xab, 0x2f, 0x3e, 0x3f, 0x1a, 0xa5,
0x0a, 0x32, 0x3b, 0x36, 0x14, 0x00, 0x9f, 0x0f, 0xb8, 0x30, 0x0e, 0xab, 0x34,
0x3a, 0x30, 0x17, 0x09, 0x03, 0xa5, 0x33, 0x3b, 0x3d, 0x42, 0x41, 0x36, 0x33,
0x35, 0x1c, 0xc8, 0x0f, 0x1b, 0x1d, 0x32, 0x31, 0x3f, 0x92, 0x43, 0x0f, 0xab,
0x09, 0x0e, 0x27, 0x13, 0x82, 0x81, 0x00, 0x21, 0xf9, 0x04, 0x05, 0x04, 0x00,
0x00, 0x00, 0x2c, 0x1f, 0x00, 0x02, 0x00, 0x0b, 0x00, 0x0d, 0x00, 0x00, 0x07,
0x59, 0x80, 0x00, 0x00, 0x45, 0x3d, 0x37, 0x30, 0x45, 0x20, 0x1c, 0x15, 0x07,
0x82, 0x16, 0x31, 0x41, 0x37, 0x42, 0x3a, 0x3a, 0x40, 0x23, 0x82, 0x97, 0x82,
0x84, 0x3b, 0x26, 0x98, 0x82, 0x23, 0x3e, 0x42, 0x22, 0x01, 0x9d, 0x1f, 0x3e,
0x39, 0x22, 0x9d, 0x00, 0x2d, 0x3c, 0x37, 0x13, 0xa9, 0xab, 0x41, 0x1b, 0xa9,
0x00, 0x3d, 0x49, 0xae, 0x98, 0x0e, 0x33, 0x3a, 0x31, 0x11, 0xa9, 0x32, 0x4a,
0x36, 0x97, 0xa3, 0x97, 0x4c, 0x93, 0x85, 0x48, 0x87, 0x98, 0x28, 0x2c, 0x33,
0x48, 0x41, 0x3e, 0x4b, 0x3f, 0xa9, 0x03, 0x00, 0x11, 0x17, 0x97, 0x81, 0x00,
0x21, 0xf9, 0x04, 0x05, 0x04, 0x00, 0x01, 0x00, 0x2c, 0x1e, 0x00, 0x02, 0x00,
0x0c, 0x00, 0x0d, 0x00, 0x00, 0x07, 0x5d, 0x80, 0x01, 0x82, 0x46, 0x4b, 0x44,
0x36, 0x46, 0x1d, 0x23, 0x27, 0x06, 0x82, 0x82, 0x51, 0x38, 0x39, 0x3b, 0x4a,
0x4a, 0x37, 0x22, 0x8d, 0x97, 0x1b, 0x84, 0x3d, 0x1c, 0x97, 0x8d, 0x22, 0x42,
0x3c, 0x1f, 0x9d, 0x82, 0x1e, 0x3b, 0x42, 0xa2, 0x9d, 0x08, 0x35, 0x3a, 0x39,
0x15, 0xa3, 0x01, 0x5a, 0x3a, 0x38, 0x28, 0xa3, 0x0b, 0x30, 0x3a, 0x4f, 0xaf,
0x10, 0x4c, 0x4a, 0x53, 0xaf, 0x01, 0x33, 0x55, 0x48, 0x19, 0xaf, 0x0a, 0x31,
0x93, 0xb2, 0x49, 0x31, 0x50, 0x23, 0x8d, 0x0e, 0x18, 0x2f, 0x30, 0x49, 0x40,
0x3b, 0x4e, 0x40, 0xa3, 0x00, 0x97, 0xae, 0x01, 0x81, 0x00, 0x21, 0xf9, 0x04,
0x05, 0x60, 0x00, 0x00, 0x00, 0x2c, 0x1f, 0x00, 0x02, 0x00, 0x0a, 0x00, 0x0c,
0x00, 0x00, 0x07, 0x37, 0x80, 0x00, 0x82, 0x00, 0x3e, 0x83, 0x86, 0x1c, 0x48,
0x37, 0x39, 0x3d, 0x86, 0x8d, 0x28, 0x4d, 0x4a, 0x8d, 0x83, 0x3b, 0x3a, 0x92,
0x00, 0x3c, 0x96, 0x99, 0x06, 0x83, 0x18, 0x86, 0x09, 0x00, 0x91, 0x99, 0x48,
0xa2, 0x25, 0x92, 0x36, 0x4a, 0x4e, 0x4b, 0x39, 0x43, 0x36, 0x34, 0x2b, 0x82,
0x16, 0x2d, 0x82, 0x38, 0x83, 0x0e, 0x81, 0x00, 0x3b
};
const lv_img_dsc_t icon_emotion_sleep_45 = {
.header.cf = LV_IMG_CF_RAW_CHROMA_KEYED,
.header.always_zero = 0,
.header.reserved = 0,
.header.w = 45,
.header.h = 45,
.data_size = 3961,
.data = icon_emotion_sleep_45_map,
};

View File

@ -0,0 +1,230 @@
#ifdef __has_include
#if __has_include("lvgl.h")
#ifndef LV_LVGL_H_INCLUDE_SIMPLE
#define LV_LVGL_H_INCLUDE_SIMPLE
#endif
#endif
#endif
#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
#include "lvgl.h"
#else
#include "lvgl/lvgl.h"
#endif
#ifndef LV_ATTRIBUTE_MEM_ALIGN
#define LV_ATTRIBUTE_MEM_ALIGN
#endif
#ifndef LV_ATTRIBUTE_IMG_ICON_EMOTION_THINKING_45
#define LV_ATTRIBUTE_IMG_ICON_EMOTION_THINKING_45
#endif
const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_ICON_EMOTION_THINKING_45 uint8_t icon_emotion_thinking_45_map[] = {
0x47, 0x49, 0x46, 0x38, 0x39, 0x61, 0x2d, 0x00, 0x2d, 0x00, 0xf5, 0x00, 0x00,
0x00, 0x04, 0x00, 0x08, 0x04, 0x08, 0x08, 0x08, 0x08, 0x10, 0x0c, 0x10, 0x08,
0x0c, 0x08, 0x10, 0x14, 0x10, 0x18, 0x18, 0x18, 0x18, 0x14, 0x18, 0x10, 0x10,
0x10, 0x18, 0x1c, 0x18, 0x21, 0x20, 0x21, 0x29, 0x28, 0x29, 0x29, 0x2c, 0x29,
0x21, 0x24, 0x21, 0x31, 0x30, 0x31, 0x39, 0x38, 0x39, 0x42, 0x41, 0x42, 0x4a,
0x49, 0x4a, 0x5a, 0x59, 0x5a, 0x52, 0x4d, 0x52, 0x39, 0x3c, 0x39, 0x63, 0x65,
0x63, 0xbd, 0xbe, 0xbd, 0xde, 0xdf, 0xde, 0xff, 0xff, 0xff, 0xa5, 0xa6, 0xa5,
0x9c, 0x9e, 0x9c, 0x94, 0x92, 0x94, 0x7b, 0x7d, 0x7b, 0x73, 0x79, 0x73, 0x8c,
0x8e, 0x8c, 0xd6, 0xd7, 0xd6, 0xc6, 0xc7, 0xc6, 0x73, 0x6d, 0x73, 0xf7, 0xf7,
0xf7, 0xad, 0xae, 0xad, 0x42, 0x3c, 0x42, 0xb5, 0xb6, 0xb5, 0x84, 0x86, 0x84,
0x6b, 0x71, 0x6b, 0x63, 0x5d, 0x63, 0x6b, 0x69, 0x6b, 0xce, 0xcf, 0xce, 0x7b,
0x82, 0x7b, 0xef, 0xef, 0xef, 0x63, 0x69, 0x63, 0x6b, 0x65, 0x6b, 0xe7, 0xe7,
0xe7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0xfe, 0x27,
0x47, 0x49, 0x46, 0x20, 0x65, 0x64, 0x69, 0x74, 0x65, 0x64, 0x20, 0x77, 0x69,
0x74, 0x68, 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x65, 0x7a,
0x67, 0x69, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x70, 0x65, 0x65, 0x64,
0x00, 0x21, 0xff, 0x0b, 0x4e, 0x45, 0x54, 0x53, 0x43, 0x41, 0x50, 0x45, 0x32,
0x2e, 0x30, 0x03, 0x01, 0x00, 0x00, 0x00, 0x21, 0xf9, 0x04, 0x05, 0x02, 0x00,
0x03, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x00, 0x06,
0x5d, 0x40, 0x98, 0x70, 0x48, 0x2c, 0x1a, 0x8f, 0xc8, 0xa4, 0x72, 0xc9, 0x6c,
0x3a, 0x9f, 0xd0, 0xa8, 0x74, 0x4a, 0xad, 0x5a, 0xaf, 0xd8, 0xac, 0x76, 0xcb,
0xed, 0x7a, 0xbf, 0xe0, 0xb0, 0x78, 0x4c, 0x2e, 0x9b, 0xcf, 0x68, 0xb3, 0x60,
0xbd, 0x3e, 0x23, 0x20, 0x91, 0x38, 0x04, 0x60, 0x4e, 0x48, 0x2a, 0xad, 0x8a,
0x84, 0x5e, 0xb6, 0xbb, 0x52, 0x2e, 0x7b, 0x75, 0x77, 0x80, 0x82, 0x7d, 0x11,
0x12, 0x89, 0x11, 0x7c, 0x65, 0x0a, 0x0d, 0x8f, 0x0a, 0x69, 0x92, 0x93, 0x94,
0x95, 0x96, 0x97, 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, 0xa0, 0xa1,
0xa2, 0x30, 0x41, 0x00, 0x21, 0xf9, 0x04, 0x05, 0x02, 0x00, 0x00, 0x00, 0x2c,
0x02, 0x00, 0x14, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x03, 0x02, 0x58, 0x09,
0x00, 0x21, 0xf9, 0x04, 0x05, 0x02, 0x00, 0x00, 0x00, 0x2c, 0x02, 0x00, 0x13,
0x00, 0x06, 0x00, 0x07, 0x00, 0x00, 0x06, 0x1d, 0x40, 0x80, 0x80, 0x30, 0x28,
0x1a, 0x26, 0x92, 0xe4, 0xa4, 0x91, 0xe2, 0x38, 0x53, 0x4c, 0x27, 0x07, 0xda,
0x7c, 0x2a, 0x24, 0xa9, 0xac, 0x44, 0xd0, 0x60, 0x78, 0x17, 0x41, 0x00, 0x21,
0xf9, 0x04, 0x05, 0x06, 0x00, 0x00, 0x00, 0x2c, 0x02, 0x00, 0x13, 0x00, 0x06,
0x00, 0x07, 0x00, 0x00, 0x06, 0x1f, 0x40, 0x00, 0x01, 0x41, 0x24, 0x24, 0x24,
0xa1, 0xd3, 0x49, 0xb2, 0xe0, 0x78, 0x36, 0x1b, 0x0e, 0xc3, 0x09, 0x95, 0x52,
0xa3, 0x8d, 0x14, 0x67, 0xdb, 0x22, 0x30, 0x1c, 0xe0, 0x45, 0x10, 0x00, 0x21,
0xf9, 0x04, 0x05, 0x02, 0x00, 0x00, 0x00, 0x2c, 0x02, 0x00, 0x13, 0x00, 0x07,
0x00, 0x07, 0x00, 0x00, 0x06, 0x24, 0x40, 0x00, 0x62, 0x58, 0x00, 0x00, 0x1a,
0x2e, 0x8e, 0x32, 0x05, 0x70, 0x78, 0x34, 0x99, 0x8c, 0x27, 0xe0, 0x8c, 0x4a,
0xa9, 0x9e, 0xa8, 0x66, 0xba, 0xe8, 0x78, 0xbe, 0x9d, 0xc0, 0xc0, 0xf1, 0x28,
0x3b, 0x00, 0x41, 0x00, 0x21, 0xf9, 0x04, 0x05, 0x02, 0x00, 0x01, 0x00, 0x2c,
0x02, 0x00, 0x13, 0x00, 0x06, 0x00, 0x07, 0x00, 0x00, 0x06, 0x22, 0x40, 0x00,
0xa2, 0x40, 0x44, 0x2c, 0x42, 0xa6, 0x64, 0xe8, 0xa1, 0x19, 0x95, 0x4a, 0x9b,
0x80, 0xe6, 0x59, 0xd2, 0x04, 0x36, 0x54, 0x0d, 0xc3, 0xb4, 0xd1, 0x68, 0x4c,
0x81, 0x07, 0x64, 0xfc, 0x08, 0x02, 0x00, 0x21, 0xf9, 0x04, 0x05, 0x02, 0x00,
0x00, 0x00, 0x2c, 0x02, 0x00, 0x13, 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, 0x06,
0x24, 0x40, 0x40, 0xc1, 0x40, 0x44, 0x00, 0x18, 0x9c, 0x8d, 0x92, 0x13, 0xa0,
0x64, 0x2c, 0x16, 0x50, 0x46, 0xe0, 0x8c, 0x4a, 0xa9, 0x4f, 0xe8, 0x48, 0xe0,
0xf0, 0x64, 0xbe, 0x9e, 0x00, 0x82, 0x12, 0x29, 0x53, 0x00, 0x41, 0x00, 0x21,
0xf9, 0x04, 0x05, 0x02, 0x00, 0x00, 0x00, 0x2c, 0x02, 0x00, 0x13, 0x00, 0x06,
0x00, 0x07, 0x00, 0x00, 0x06, 0x1c, 0x40, 0x80, 0x50, 0x78, 0x70, 0x98, 0x34,
0x9a, 0x8d, 0x89, 0x34, 0x02, 0xa9, 0x54, 0x23, 0xc8, 0xe8, 0x09, 0x95, 0x52,
0x85, 0x9b, 0x91, 0x76, 0x33, 0x14, 0x92, 0x82, 0x00, 0x21, 0xf9, 0x04, 0x05,
0x02, 0x00, 0x00, 0x00, 0x2c, 0x02, 0x00, 0x13, 0x00, 0x07, 0x00, 0x07, 0x00,
0x00, 0x05, 0x1e, 0x20, 0x70, 0x24, 0x24, 0x60, 0x6e, 0x59, 0xba, 0x01, 0x90,
0x75, 0xbd, 0x96, 0xe9, 0xc2, 0xf2, 0x7b, 0x59, 0xc2, 0x93, 0x59, 0xbc, 0x26,
0x1c, 0x90, 0x89, 0x10, 0x02, 0x08, 0x01, 0x00, 0x21, 0xf9, 0x04, 0x05, 0x02,
0x00, 0x00, 0x00, 0x2c, 0x02, 0x00, 0x13, 0x00, 0x06, 0x00, 0x07, 0x00, 0x00,
0x06, 0x1d, 0x40, 0x80, 0x41, 0x41, 0x34, 0x3c, 0x00, 0xa5, 0xa4, 0x26, 0xa2,
0x62, 0x39, 0x55, 0x4c, 0x27, 0x0b, 0xda, 0x7c, 0x42, 0x46, 0xaa, 0xec, 0xc8,
0x10, 0x91, 0x78, 0x23, 0x41, 0x00, 0x21, 0xf9, 0x04, 0x05, 0x02, 0x00, 0x00,
0x00, 0x2c, 0x02, 0x00, 0x13, 0x00, 0x06, 0x00, 0x07, 0x00, 0x00, 0x06, 0x1b,
0xc0, 0x00, 0x60, 0x48, 0xd4, 0x58, 0x2c, 0xa5, 0xcc, 0x50, 0xc4, 0x1c, 0x7e,
0x98, 0xa2, 0x0f, 0xe0, 0xc9, 0x94, 0x96, 0xa6, 0x9f, 0x2b, 0x11, 0x30, 0x09,
0x02, 0x00, 0x21, 0xf9, 0x04, 0x05, 0x02, 0x00, 0x00, 0x00, 0x2c, 0x02, 0x00,
0x13, 0x00, 0x06, 0x00, 0x07, 0x00, 0x00, 0x05, 0x18, 0x20, 0x20, 0x8a, 0x09,
0x95, 0x59, 0x68, 0x36, 0x7d, 0x00, 0x86, 0x7d, 0xd3, 0xe5, 0x62, 0xd7, 0x3a,
0x5f, 0xe2, 0xa7, 0x8b, 0xd3, 0x38, 0x85, 0x00, 0x21, 0xf9, 0x04, 0x05, 0x02,
0x00, 0x00, 0x00, 0x2c, 0x03, 0x00, 0x15, 0x00, 0x02, 0x00, 0x04, 0x00, 0x00,
0x05, 0x07, 0x20, 0x80, 0x5d, 0x23, 0x66, 0x01, 0x21, 0x00, 0x21, 0xf9, 0x04,
0x05, 0x24, 0x00, 0x00, 0x00, 0x2c, 0x04, 0x00, 0x19, 0x00, 0x01, 0x00, 0x01,
0x00, 0x00, 0x06, 0x03, 0x40, 0x54, 0x10, 0x00, 0x21, 0xf9, 0x04, 0x05, 0x02,
0x00, 0x03, 0x00, 0x2c, 0x14, 0x00, 0x14, 0x00, 0x05, 0x00, 0x05, 0x00, 0x00,
0x02, 0x07, 0x84, 0x31, 0x71, 0x27, 0xba, 0xac, 0x0a, 0x00, 0x21, 0xf9, 0x04,
0x05, 0x02, 0x00, 0x05, 0x00, 0x2c, 0x13, 0x00, 0x14, 0x00, 0x06, 0x00, 0x06,
0x00, 0x00, 0x03, 0x0d, 0x58, 0xb2, 0x3c, 0xe4, 0x01, 0x38, 0x28, 0x69, 0x7d,
0x41, 0x81, 0x5d, 0x12, 0x00, 0x21, 0xf9, 0x04, 0x05, 0x02, 0x00, 0x02, 0x00,
0x2c, 0x13, 0x00, 0x14, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x04, 0x12, 0x10,
0x10, 0x44, 0x49, 0x38, 0x05, 0x0f, 0x90, 0x8d, 0xd9, 0x98, 0x07, 0x76, 0x84,
0x10, 0x9c, 0x67, 0x04, 0x00, 0x21, 0xf9, 0x04, 0x05, 0x02, 0x00, 0x01, 0x00,
0x2c, 0x13, 0x00, 0x13, 0x00, 0x06, 0x00, 0x07, 0x00, 0x00, 0x04, 0x18, 0x30,
0x04, 0x40, 0xa7, 0x51, 0x2a, 0x15, 0xd2, 0x96, 0x37, 0x43, 0xc7, 0x2c, 0xa0,
0xe7, 0x29, 0x82, 0x72, 0x1e, 0x00, 0x31, 0xbc, 0x42, 0x04, 0x00, 0x21, 0xf9,
0x04, 0x05, 0x02, 0x00, 0x01, 0x00, 0x2c, 0x13, 0x00, 0x13, 0x00, 0x07, 0x00,
0x07, 0x00, 0x00, 0x04, 0x19, 0x30, 0x80, 0x09, 0x82, 0x55, 0x2d, 0x9f, 0x80,
0x16, 0x73, 0x4e, 0x02, 0x0c, 0x1e, 0xa8, 0x70, 0x9f, 0x79, 0x79, 0x8b, 0x21,
0x0d, 0xf0, 0x60, 0x45, 0x00, 0x21, 0xf9, 0x04, 0x05, 0x02, 0x00, 0x04, 0x00,
0x2c, 0x13, 0x00, 0x13, 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, 0x05, 0x1f, 0x20,
0x11, 0x8c, 0x23, 0x81, 0x38, 0x8f, 0xe3, 0x34, 0x84, 0x01, 0x41, 0x51, 0xe4,
0x00, 0x6e, 0x2c, 0xd3, 0x70, 0x3c, 0x17, 0x0f, 0xf5, 0x2e, 0xa2, 0x82, 0x61,
0x38, 0x20, 0x84, 0x00, 0x00, 0x21, 0xf9, 0x04, 0x05, 0x02, 0x00, 0x00, 0x00,
0x2c, 0x13, 0x00, 0x13, 0x00, 0x06, 0x00, 0x07, 0x00, 0x00, 0x05, 0x1a, 0x20,
0x00, 0x10, 0x23, 0x90, 0x40, 0x51, 0xea, 0x34, 0x52, 0xe5, 0x52, 0x4b, 0xfb,
0xb2, 0x6e, 0x05, 0x25, 0xe9, 0x34, 0x3d, 0x44, 0xa2, 0xfc, 0x87, 0x10, 0x00,
0x21, 0xf9, 0x04, 0x05, 0x02, 0x00, 0x04, 0x00, 0x2c, 0x13, 0x00, 0x13, 0x00,
0x07, 0x00, 0x07, 0x00, 0x00, 0x06, 0x22, 0x40, 0x82, 0x40, 0x38, 0x18, 0x2a,
0x22, 0x92, 0xe4, 0x03, 0xc0, 0x70, 0x75, 0x9e, 0x91, 0x40, 0xf3, 0xd9, 0x89,
0x4e, 0xa1, 0x80, 0x86, 0xa4, 0xc2, 0x85, 0x00, 0x08, 0x8d, 0x85, 0xd8, 0x40,
0x08, 0x02, 0x00, 0x21, 0xf9, 0x04, 0x05, 0x02, 0x00, 0x02, 0x00, 0x2c, 0x13,
0x00, 0x13, 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, 0x06, 0x25, 0x40, 0x00, 0x41,
0x40, 0x24, 0x36, 0x26, 0x15, 0x94, 0x80, 0x04, 0x70, 0x84, 0x38, 0xd0, 0x49,
0xc0, 0xc9, 0x31, 0x99, 0xa4, 0x4e, 0xd3, 0x8a, 0x23, 0x5d, 0xa0, 0x4e, 0x60,
0x41, 0x60, 0xb0, 0x60, 0x98, 0x13, 0x82, 0x20, 0x00, 0x21, 0xf9, 0x04, 0x05,
0x02, 0x00, 0x00, 0x00, 0x2c, 0x13, 0x00, 0x13, 0x00, 0x07, 0x00, 0x07, 0x00,
0x00, 0x06, 0x23, 0x40, 0x00, 0xa2, 0x30, 0x04, 0x00, 0x1c, 0x27, 0x8e, 0x72,
0x12, 0xa0, 0x6c, 0x32, 0xd0, 0x53, 0x00, 0xf2, 0x8c, 0x4e, 0xab, 0x19, 0xe9,
0xc3, 0xe4, 0xe9, 0x4a, 0x02, 0x08, 0x07, 0x65, 0xbc, 0x00, 0x04, 0x01, 0x00,
0x21, 0xf9, 0x04, 0x05, 0x02, 0x00, 0x00, 0x00, 0x2c, 0x13, 0x00, 0x13, 0x00,
0x07, 0x00, 0x07, 0x00, 0x00, 0x06, 0x23, 0x40, 0x40, 0xc1, 0x40, 0x24, 0x00,
0x1e, 0x9c, 0x8d, 0xc7, 0x83, 0x02, 0x44, 0x32, 0x96, 0x28, 0x47, 0xf0, 0x8c,
0x5a, 0xa6, 0x55, 0xa9, 0x80, 0xe4, 0xc9, 0x68, 0x32, 0x29, 0x21, 0x05, 0x42,
0x66, 0x00, 0x82, 0x00, 0x21, 0xf9, 0x04, 0x05, 0x02, 0x00, 0x00, 0x00, 0x2c,
0x13, 0x00, 0x13, 0x00, 0x06, 0x00, 0x07, 0x00, 0x00, 0x06, 0x1f, 0xc0, 0xc0,
0xc1, 0x40, 0x1c, 0x50, 0x3c, 0x9a, 0x64, 0x25, 0x52, 0x52, 0x39, 0x4d, 0x93,
0xe6, 0x33, 0xea, 0x54, 0x79, 0x20, 0x9a, 0xd1, 0xa8, 0xd4, 0x31, 0x40, 0x22,
0x60, 0x47, 0x10, 0x00, 0x21, 0xf9, 0x04, 0x05, 0x02, 0x00, 0x00, 0x00, 0x2c,
0x13, 0x00, 0x13, 0x00, 0x06, 0x00, 0x07, 0x00, 0x00, 0x06, 0x1d, 0x40, 0x80,
0x21, 0x41, 0x04, 0x40, 0x36, 0x99, 0x64, 0x68, 0x02, 0xba, 0x5c, 0x3e, 0x1b,
0xa6, 0x13, 0x2a, 0x7d, 0x46, 0x33, 0x96, 0x2c, 0x47, 0x11, 0x99, 0x78, 0x01,
0x41, 0x00, 0x21, 0xf9, 0x04, 0x05, 0x02, 0x00, 0x00, 0x00, 0x2c, 0x13, 0x00,
0x13, 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, 0x06, 0x22, 0x40, 0x00, 0x40, 0x41,
0x44, 0x08, 0x35, 0xa5, 0xd2, 0xa8, 0x03, 0x90, 0x7c, 0x5e, 0xac, 0x97, 0x46,
0xe0, 0x64, 0x45, 0xa7, 0xd5, 0xab, 0xb0, 0x04, 0x52, 0x81, 0x4c, 0x02, 0xa1,
0xf8, 0x01, 0x08, 0x02, 0x00, 0x21, 0xf9, 0x04, 0x05, 0x02, 0x00, 0x00, 0x00,
0x2c, 0x13, 0x00, 0x13, 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, 0x06, 0x1e, 0x40,
0x40, 0x02, 0x40, 0x2c, 0x02, 0x2c, 0xa5, 0x12, 0x47, 0x40, 0x64, 0x39, 0x8d,
0x00, 0x11, 0x2b, 0x23, 0x40, 0x15, 0xa7, 0x82, 0x89, 0x45, 0xc5, 0x35, 0x4a,
0x24, 0xc5, 0x20, 0x00, 0x21, 0xf9, 0x04, 0x05, 0x02, 0x00, 0x00, 0x00, 0x2c,
0x13, 0x00, 0x13, 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, 0x06, 0x1f, 0x40, 0x01,
0x60, 0x48, 0x8c, 0x64, 0x2c, 0xc8, 0x61, 0xe5, 0x22, 0xc2, 0x88, 0x32, 0x82,
0x25, 0xc6, 0x09, 0x95, 0x3a, 0x47, 0xc4, 0x8f, 0xd6, 0x33, 0x9c, 0x48, 0xbe,
0x14, 0x40, 0x10, 0x00, 0x21, 0xf9, 0x04, 0x05, 0x10, 0x00, 0x00, 0x00, 0x2c,
0x15, 0x00, 0x14, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x06, 0x0d, 0x40, 0x80,
0xd0, 0x84, 0x11, 0x1a, 0x8b, 0xc6, 0x24, 0x00, 0x65, 0x0c, 0x02, 0x00, 0x21,
0xf9, 0x04, 0x05, 0x02, 0x00, 0x03, 0x00, 0x2c, 0x24, 0x00, 0x14, 0x00, 0x06,
0x00, 0x06, 0x00, 0x00, 0x02, 0x0a, 0x44, 0x8e, 0xa2, 0xcb, 0xd6, 0xbe, 0xc6,
0x00, 0x72, 0x14, 0x00, 0x21, 0xf9, 0x04, 0x05, 0x02, 0x00, 0x09, 0x00, 0x2c,
0x24, 0x00, 0x14, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x04, 0x10, 0x50, 0xa0,
0x89, 0xa4, 0x39, 0xd8, 0x5e, 0xa3, 0xef, 0xd0, 0x85, 0x00, 0x04, 0x64, 0x90,
0x44, 0x00, 0x21, 0xf9, 0x04, 0x05, 0x02, 0x00, 0x05, 0x00, 0x2c, 0x24, 0x00,
0x13, 0x00, 0x06, 0x00, 0x07, 0x00, 0x00, 0x04, 0x16, 0xb0, 0x80, 0x09, 0xca,
0x48, 0x4a, 0x25, 0x74, 0x96, 0x5f, 0x47, 0xf7, 0x85, 0x1f, 0x88, 0x64, 0x19,
0x12, 0x08, 0x2c, 0x1b, 0x01, 0x00, 0x21, 0xf9, 0x04, 0x05, 0x02, 0x00, 0x00,
0x00, 0x2c, 0x24, 0x00, 0x13, 0x00, 0x06, 0x00, 0x07, 0x00, 0x00, 0x04, 0x19,
0x10, 0x04, 0x20, 0x81, 0x59, 0x78, 0x19, 0xf5, 0xdc, 0x7b, 0x09, 0xf7, 0x3d,
0x8a, 0xf8, 0x29, 0x86, 0xa3, 0x3a, 0x86, 0x80, 0xbc, 0x48, 0x10, 0x01, 0x00,
0x21, 0xf9, 0x04, 0x05, 0x02, 0x00, 0x00, 0x00, 0x2c, 0x24, 0x00, 0x13, 0x00,
0x06, 0x00, 0x07, 0x00, 0x00, 0x06, 0x1f, 0x40, 0x00, 0x20, 0x20, 0x14, 0x3a,
0x8e, 0x8c, 0x44, 0x83, 0x44, 0xa1, 0x90, 0x1a, 0x4b, 0x88, 0x14, 0x4a, 0x92,
0x42, 0x1a, 0x89, 0x87, 0xf6, 0x91, 0x10, 0x14, 0xbe, 0x05, 0x41, 0x10, 0x00,
0x21, 0xf9, 0x04, 0x05, 0x02, 0x00, 0x01, 0x00, 0x2c, 0x24, 0x00, 0x13, 0x00,
0x06, 0x00, 0x07, 0x00, 0x00, 0x05, 0x18, 0x20, 0x20, 0x8c, 0xe3, 0x02, 0x9d,
0xd0, 0xe2, 0x48, 0xac, 0xe4, 0xac, 0xed, 0xdb, 0xba, 0x4c, 0x64, 0x47, 0x0c,
0xa2, 0xec, 0x09, 0x12, 0x02, 0x00, 0x21, 0xf9, 0x04, 0x05, 0x02, 0x00, 0x00,
0x00, 0x2c, 0x24, 0x00, 0x13, 0x00, 0x06, 0x00, 0x07, 0x00, 0x00, 0x06, 0x1f,
0xc0, 0xc0, 0x80, 0x40, 0x0c, 0x38, 0x26, 0x12, 0xc9, 0xc4, 0x01, 0xe9, 0x38,
0x43, 0x90, 0x26, 0x87, 0x03, 0x95, 0x52, 0x23, 0x94, 0x8a, 0xb6, 0x42, 0x31,
0x2c, 0xbe, 0x8b, 0x43, 0x10, 0x00, 0x21, 0xf9, 0x04, 0x05, 0x02, 0x00, 0x00,
0x00, 0x2c, 0x24, 0x00, 0x13, 0x00, 0x06, 0x00, 0x07, 0x00, 0x00, 0x06, 0x1f,
0x40, 0x00, 0x62, 0x88, 0x00, 0x40, 0x52, 0xa1, 0x24, 0x64, 0xe2, 0x69, 0x7a,
0x24, 0x12, 0xe7, 0x33, 0xba, 0xa9, 0x4a, 0x22, 0x9c, 0x2c, 0x27, 0x92, 0x70,
0x38, 0x1e, 0x0e, 0x45, 0x10, 0x00, 0x21, 0xf9, 0x04, 0x05, 0x02, 0x00, 0x00,
0x00, 0x2c, 0x24, 0x00, 0x13, 0x00, 0x06, 0x00, 0x07, 0x00, 0x00, 0x05, 0x1b,
0xa0, 0x00, 0x14, 0x00, 0x20, 0x44, 0x1d, 0xa7, 0x46, 0x95, 0x96, 0x65, 0x5a,
0xd5, 0xbe, 0xf1, 0x0c, 0x57, 0x93, 0xa7, 0x7b, 0x93, 0xf2, 0x50, 0x40, 0x45,
0x08, 0x00, 0x21, 0xf9, 0x04, 0x05, 0x02, 0x00, 0x00, 0x00, 0x2c, 0x24, 0x00,
0x13, 0x00, 0x06, 0x00, 0x07, 0x00, 0x00, 0x06, 0x20, 0x40, 0x40, 0x61, 0x58,
0x00, 0x4c, 0x56, 0x26, 0x13, 0x67, 0x92, 0xca, 0x8c, 0x46, 0x99, 0x56, 0xf3,
0x19, 0x9d, 0x42, 0x53, 0x92, 0x8d, 0x76, 0x23, 0x69, 0x50, 0x28, 0x24, 0x4a,
0x23, 0x08, 0x00, 0x21, 0xf9, 0x04, 0x05, 0x02, 0x00, 0x00, 0x00, 0x2c, 0x24,
0x00, 0x13, 0x00, 0x06, 0x00, 0x07, 0x00, 0x00, 0x06, 0x20, 0x40, 0x80, 0x61,
0x68, 0x20, 0x48, 0x36, 0x48, 0x8f, 0x84, 0x03, 0x6a, 0x82, 0x3a, 0x1c, 0x4b,
0xd3, 0xc2, 0x89, 0x4e, 0x39, 0x95, 0x8c, 0x36, 0x53, 0x59, 0x40, 0x22, 0x11,
0xc8, 0x22, 0x08, 0x00, 0x21, 0xf9, 0x04, 0x05, 0x02, 0x00, 0x00, 0x00, 0x2c,
0x24, 0x00, 0x13, 0x00, 0x06, 0x00, 0x07, 0x00, 0x00, 0x06, 0x20, 0x40, 0x02,
0x20, 0x91, 0x00, 0x10, 0x2a, 0x99, 0x64, 0xa6, 0x62, 0xfa, 0x5c, 0x2e, 0x1f,
0x53, 0xf3, 0x19, 0x9d, 0x42, 0x4d, 0xa1, 0x92, 0xc5, 0x52, 0x3a, 0x39, 0x26,
0xe0, 0x08, 0x23, 0x08, 0x00, 0x21, 0xf9, 0x04, 0x05, 0x02, 0x00, 0x00, 0x00,
0x2c, 0x24, 0x00, 0x13, 0x00, 0x06, 0x00, 0x07, 0x00, 0x00, 0x06, 0x1f, 0xc0,
0x41, 0x42, 0x91, 0x48, 0x00, 0x52, 0xa3, 0xe4, 0xd1, 0xf3, 0x6a, 0x5e, 0x3c,
0x9b, 0x8b, 0x13, 0x2a, 0x7d, 0x3d, 0x39, 0x16, 0x10, 0xc8, 0xd2, 0x71, 0x4c,
0xbe, 0x13, 0x47, 0x10, 0x00, 0x21, 0xf9, 0x04, 0x05, 0x02, 0x00, 0x00, 0x00,
0x2c, 0x24, 0x00, 0x13, 0x00, 0x06, 0x00, 0x07, 0x00, 0x00, 0x06, 0x21, 0x40,
0x04, 0x40, 0xa1, 0x00, 0x20, 0x42, 0x25, 0x8b, 0x65, 0x74, 0xda, 0xb0, 0x44,
0x22, 0xd6, 0xc6, 0x09, 0x95, 0x52, 0xa3, 0x9a, 0x95, 0x4a, 0xf5, 0x51, 0x71,
0x1e, 0x92, 0xb0, 0x04, 0x10, 0x04, 0x00, 0x21, 0xf9, 0x04, 0x05, 0x02, 0x00,
0x00, 0x00, 0x2c, 0x24, 0x00, 0x14, 0x00, 0x06, 0x00, 0x05, 0x00, 0x00, 0x06,
0x16, 0xc0, 0x0e, 0x60, 0x58, 0x0a, 0x69, 0x44, 0x48, 0x11, 0xe0, 0x88, 0xc1,
0x28, 0x35, 0x80, 0xe6, 0xd0, 0x04, 0xf8, 0x0c, 0x57, 0x41, 0x00, 0x21, 0xf9,
0x04, 0x05, 0x0d, 0x00, 0x00, 0x00, 0x2c, 0x25, 0x00, 0x13, 0x00, 0x05, 0x00,
0x06, 0x00, 0x00, 0x06, 0x12, 0x40, 0x80, 0x50, 0x21, 0x2c, 0x76, 0x44, 0x18,
0x4c, 0xb1, 0xa8, 0x41, 0x62, 0x44, 0x9a, 0xcf, 0x32, 0x08, 0x00, 0x3b
};
const lv_img_dsc_t icon_emotion_thinking_45 = {
.header.cf = LV_IMG_CF_RAW_CHROMA_KEYED,
.header.always_zero = 0,
.header.reserved = 0,
.header.w = 45,
.header.h = 45,
.data_size = 2534,
.data = icon_emotion_thinking_45_map,
};

View File

@ -0,0 +1,86 @@
// This file was generated by SquareLine Studio
// SquareLine Studio version: SquareLine Studio 1.6.0
// LVGL version: 8.3.11
// Project name: Lcd_Pro
#include "../ui.h"
#ifndef LV_ATTRIBUTE_MEM_ALIGN
#define LV_ATTRIBUTE_MEM_ALIGN
#endif
// IMAGE DATA: assets/angry.png
const LV_ATTRIBUTE_MEM_ALIGN uint8_t ui_img_angry_png_data[] = {
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x8A,0x16,0xFE,0x49,0x54,0xFE,0x69,0x7F,0xFE,0x69,0xA7,0xFE,0x69,0xCD,0xFE,0x69,0xDE,0xFE,0x69,0xEE,0xFE,0x69,0xFA,0xFE,0x69,0xFA,0xFE,0x69,0xEE,0xFE,0x69,0xDE,0xFE,0x69,0xCD,0xFE,0x69,0xA6,0xFE,0x69,0x7E,0xFE,0x49,0x53,0xFE,0x8A,0x16,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x49,0x35,0xFE,0x69,0x8E,0xFE,0x69,0xD3,0xFE,0x69,0xFE,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFE,0xFE,0x69,0xD3,0xFE,0x69,0x8D,0xFE,0x69,0x34,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x49,0x0E,0xFE,0x69,0x74,0xFE,0x69,0xD6,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xD5,0xFE,0x69,0x74,0xFE,0x29,0x0D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x28,0x12,0xFE,0x69,0x81,0xFE,0x69,0xEE,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xEE,0xFE,0x49,0x80,0xFE,0x89,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,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,0xE0,0x01,0xFE,0x49,0x5E,0xFE,0x69,0xEA,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xED,0xFE,0x69,0x6F,0xFF,0xF0,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x24,0xFE,0x69,0xC5,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xC4,0xFE,0x6A,0x23,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x51,0xFE,0x69,0xEF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xF2,0xFE,0x49,0x58,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,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,0xF0,0x02,0xFE,0x49,0x8F,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x8D,0xFF,0xF0,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xAA,0x06,0xFE,0x69,0xA6,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xA5,0xFE,0x6C,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xAA,0x06,0xFE,0x69,0xB5,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xB4,0xFE,0x6C,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,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,0xE0,0x01,0xFE,0x69,0xA1,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xA6,0xFF,0xF0,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x49,0x8F,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x8B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x55,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x6A,0x23,0xFE,0x69,0xF0,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xF0,0xFE,0x49,0x22,0x00,0x00,0x00,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,0xE0,0x01,0xFE,0x69,0xC5,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xC2,0xFF,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x64,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x5F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x28,0x12,0xFE,0x69,0xEB,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xE9,0xFE,0x6A,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x82,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x49,0x0E,0xFE,0x69,0xEE,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xED,0xFE,0x29,0x0D,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x74,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x72,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0xD3,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xD5,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0xFE,0x49,0x35,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0x31,0x00,0x00,0x00,
0x00,0x00,0x00,0xFE,0x69,0x8E,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x8B,0x00,0x00,0x00,
0x00,0x00,0x00,0xFE,0x69,0xD4,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xCF,0x00,0x00,0x00,
0xFE,0x8A,0x16,0xFE,0x69,0xFE,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xF6,0x08,0xFF,0xF6,0x29,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xF6,0x29,0xFF,0xF6,0x09,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFE,0xFE,0x69,0x14,
0xFE,0x49,0x54,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x29,0xFF,0x8B,0x22,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x40,0xFF,0x7A,0xC1,0xFF,0x93,0x63,0xFF,0xB4,0x45,0xFF,0xD5,0x47,0xFF,0xFE,0x49,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xFF,0xD5,0x47,0xFF,0xB4,0x44,0xFF,0x93,0x63,0xFF,0x7A,0xC1,0xFF,0x6A,0x40,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x8B,0x22,0xFF,0xFE,0x49,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x52,
0xFE,0x49,0x80,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xD5,0x27,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x40,0xFF,0x9B,0x83,0xFF,0xD5,0x26,0xFF,0xFE,0x49,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xFF,0xD5,0x26,0xFF,0x9B,0x83,0xFF,0x6A,0x40,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xD5,0x27,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x7D,
0xFE,0x69,0xA7,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xED,0xE8,0xFF,0x6A,0x60,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x7A,0xC1,0xFF,0xC4,0xA5,0xFF,0xFE,0x49,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xFF,0xC4,0xA5,0xFF,0x7A,0xC1,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x60,0xFF,0xED,0xE8,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xA4,
0xFE,0x69,0xCC,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xED,0xC8,0xFF,0xBC,0x85,0xFF,0xAC,0x24,0xFF,0xA3,0xC3,0xFF,0x8B,0x02,0xFF,0x6A,0x60,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x82,0xE1,0xFF,0xDD,0x67,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xDD,0x67,0xFF,0x82,0xE1,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x60,0xFF,0x8B,0x02,0xFF,0xA3,0xC3,0xFF,0xAC,0x04,0xFF,0xBC,0x85,0xFF,0xED,0xC8,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xCA,
0xFE,0x69,0xE0,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xFF,0xE5,0x87,0xFF,0xBC,0x65,0xFF,0x7A,0xC1,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x20,0xFF,0xBC,0x85,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xBC,0x85,0xFF,0x6A,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x7A,0xC1,0xFF,0xB4,0x65,0xFF,0xE5,0x87,0xFF,0xFE,0x49,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xDE,
0xFE,0x69,0xED,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xED,0xE8,0xFF,0x72,0x60,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xA3,0xC3,0xFF,0xFE,0x49,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xFF,0xA3,0xC3,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x72,0x80,0xFF,0xF5,0xE8,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xEB,
0xFE,0x69,0xF9,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xAC,0x04,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xCD,0x06,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xCD,0x06,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xAC,0x04,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xF8,
0xFE,0x69,0xF9,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xFF,0x72,0x80,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xCD,0x06,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xCD,0x06,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x72,0x81,0xFF,0xFE,0x49,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xF8,
0xFE,0x69,0xED,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xED,0xC8,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x72,0x81,0xFF,0xB4,0x44,0xFF,0xFE,0x49,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xFF,0xB4,0x24,0xFF,0x72,0x80,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xED,0xE8,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xEB,
0xFE,0x69,0xE0,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xE5,0x87,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x9B,0xA3,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x9B,0xA3,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xE5,0x87,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xDE,
0xFE,0x69,0xCC,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xE5,0xA8,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xA3,0xC3,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xA3,0xC3,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xE5,0xA8,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xCA,
0xFE,0x69,0xA6,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xFF,0x6A,0x40,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xBC,0x85,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xBC,0x65,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x40,0xFF,0xFE,0x49,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xA3,
0xFE,0x69,0x7F,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x93,0x62,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xED,0xC8,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xE5,0xA8,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x93,0x62,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x7C,
0xFE,0x49,0x53,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xD5,0x47,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x93,0x63,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x93,0x62,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xDD,0x47,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x51,
0xFE,0x8A,0x16,0xFE,0x69,0xFE,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xAC,0x04,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x7A,0xA1,0xFF,0xF5,0xE8,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xED,0xE8,0xFF,0x72,0xA1,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xAC,0x24,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFD,0xFE,0x69,0x14,
0x00,0x00,0x00,0xFE,0x69,0xD3,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xC4,0xC6,0xFF,0x8B,0x22,0xFF,0x7A,0xC1,0xFF,0xA3,0xE4,0xFF,0xF6,0x08,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xF6,0x08,0xFF,0xA3,0xC3,0xFF,0x7A,0xC1,0xFF,0x8B,0x02,0xFF,0xC4,0xC6,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xCE,0x00,0x00,0x00,
0x00,0x00,0x00,0xFE,0x69,0x8E,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0x8A,0x00,0x00,0x00,
0x00,0x00,0x00,0xFE,0x69,0x34,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0x30,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0xD3,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xD5,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x74,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x72,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x29,0x0D,0xFE,0x69,0xEE,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xFF,0xE5,0x87,0xFF,0xC4,0xA5,0xFF,0xAC,0x24,0xFF,0xA3,0xC3,0xFF,0x9B,0x83,0xFF,0x9B,0x83,0xFF,0xA3,0xC3,0xFF,0xAC,0x24,0xFF,0xC4,0xC5,0xFF,0xE5,0x87,0xFF,0xFE,0x49,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xED,0xFE,0x29,0x0D,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x81,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xE5,0xA8,0xFF,0xA3,0xC3,0xFF,0x72,0x60,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x72,0x60,0xFF,0xA3,0xC3,0xFF,0xED,0xC8,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x7D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x89,0x11,0xFE,0x69,0xEA,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xF5,0xE8,0xFF,0x9B,0xA3,0xFF,0x6A,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x20,0xFF,0xA3,0xC3,0xFF,0xF6,0x08,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xE8,0xFE,0x6A,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x49,0x62,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xE5,0x87,0xFF,0x7A,0xA1,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x72,0xA1,0xFF,0xDD,0x87,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0x5D,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,0xE0,0x01,0xFE,0x69,0xC4,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xDD,0x87,0xFF,0x6A,0x40,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x40,0xFF,0xE5,0x87,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xC1,0xFF,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x6A,0x23,0xFE,0x69,0xF0,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xF6,0x08,0xFF,0x72,0x80,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x72,0xA1,0xFF,0x83,0x02,0xFF,0x8B,0x42,0xFF,0x93,0x83,0xFF,0x93,0x83,0xFF,0x8B,0x42,0xFF,0x83,0x02,0xFF,0x72,0x81,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x72,0x81,0xFF,0xF6,0x08,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xEF,0xFE,0x49,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x49,0x54,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xA3,0xC3,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x8B,0x42,0xFF,0xBC,0x65,0xFF,0xDD,0x87,0xFF,0xFE,0x29,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x29,0xFF,0xDD,0x67,0xFF,0xBC,0x65,0xFF,0x8B,0x22,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xA3,0xC3,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x52,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x8D,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xF6,0x08,0xFF,0x6A,0x40,0xFF,0x62,0x20,0xFF,0x6A,0x40,0xFF,0xAC,0x04,0xFF,0xED,0xE8,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xED,0xE8,0xFF,0xAC,0x04,0xFF,0x6A,0x40,0xFF,0x62,0x20,0xFF,0x6A,0x40,0xFF,0xF6,0x08,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x89,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,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,0xE0,0x01,0xFE,0x69,0x9F,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xDD,0x67,0xFF,0x62,0x20,0xFF,0x93,0x62,0xFF,0xED,0xE8,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xED,0xC8,0xFF,0x93,0x62,0xFF,0x62,0x20,0xFF,0xDD,0x67,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xA5,0xFF,0xF0,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x6C,0x05,0xFE,0x69,0xB5,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xED,0xC8,0xFF,0xFE,0x49,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xED,0xC8,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xB3,0xFE,0x6C,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFD,0xE8,0x04,0xFE,0x69,0x9D,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xA3,0xFE,0x6C,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,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,0xE0,0x01,0xFE,0x69,0x8B,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFE,0xFE,0x69,0x89,0xFF,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x50,0xFE,0x69,0xEE,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xF1,0xFE,0x69,0x56,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x49,0x22,0xFE,0x69,0xC2,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xC1,0xFE,0x49,0x21,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,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,0xE0,0x01,0xFE,0x49,0x5E,0xFE,0x69,0xE9,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xED,0xFE,0x69,0x66,0xFF,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x6A,0x10,0xFE,0x69,0x7E,0xFE,0x69,0xED,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xEC,0xFE,0x69,0x7D,0xFE,0x6A,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xAA,0x0C,0xFE,0x69,0x72,0xFE,0x69,0xD4,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xD3,0xFE,0x49,0x71,0xFE,0xAA,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x49,0x31,0xFE,0x69,0x8B,0xFE,0x69,0xD0,0xFE,0x69,0xFD,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFD,0xFE,0x69,0xCF,0xFE,0x49,0x8A,0xFE,0x49,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x14,0xFE,0x69,0x52,0xFE,0x69,0x7C,0xFE,0x69,0xA5,0xFE,0x49,0xCB,0xFE,0x69,0xDD,0xFE,0x69,0xED,0xFE,0x69,0xF9,0xFE,0x69,0xF9,0xFE,0x69,0xED,0xFE,0x69,0xDD,0xFE,0x49,0xCB,0xFE,0x69,0xA4,0xFE,0x69,0x7C,0xFE,0x69,0x51,0xFE,0x69,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
};
const lv_img_dsc_t ui_img_angry_png = {
.header.always_zero = 0,
.header.w = 64,
.header.h = 64,
.data_size = sizeof(ui_img_angry_png_data),
.header.cf = LV_IMG_CF_TRUE_COLOR_ALPHA,
.data = ui_img_angry_png_data};

View File

@ -0,0 +1,86 @@
// This file was generated by SquareLine Studio
// SquareLine Studio version: SquareLine Studio 1.6.0
// LVGL version: 8.3.11
// Project name: Lcd_Pro
#include "../ui.h"
#ifndef LV_ATTRIBUTE_MEM_ALIGN
#define LV_ATTRIBUTE_MEM_ALIGN
#endif
// IMAGE DATA: assets/crying.png
const LV_ATTRIBUTE_MEM_ALIGN uint8_t ui_img_crying_png_data[] = {
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x8A,0x16,0xFE,0x49,0x54,0xFE,0x69,0x7F,0xFE,0x69,0xA7,0xFE,0x69,0xCD,0xFE,0x69,0xDE,0xFE,0x69,0xEE,0xFE,0x69,0xFA,0xFE,0x69,0xFA,0xFE,0x69,0xEE,0xFE,0x69,0xDE,0xFE,0x69,0xCD,0xFE,0x69,0xA6,0xFE,0x69,0x7E,0xFE,0x49,0x53,0xFE,0x8A,0x16,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x49,0x35,0xFE,0x69,0x8E,0xFE,0x69,0xD3,0xFE,0x69,0xFE,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFE,0xFE,0x69,0xD3,0xFE,0x69,0x8D,0xFE,0x69,0x34,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x49,0x0E,0xFE,0x69,0x74,0xFE,0x69,0xD6,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xD5,0xFE,0x69,0x74,0xFE,0x29,0x0D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x28,0x12,0xFE,0x69,0x81,0xFE,0x69,0xEE,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xEE,0xFE,0x49,0x80,0xFE,0x89,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,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,0xE0,0x01,0xFE,0x49,0x5E,0xFE,0x69,0xEA,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xED,0xFE,0x69,0x6F,0xFF,0xF0,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x24,0xFE,0x69,0xC5,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xC4,0xFE,0x6A,0x23,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x51,0xFE,0x69,0xEF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xF2,0xFE,0x49,0x58,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,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,0xF0,0x02,0xFE,0x49,0x8F,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x8D,0xFF,0xF0,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xAA,0x06,0xFE,0x69,0xA6,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xA5,0xFE,0x6C,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xAA,0x06,0xFE,0x69,0xB5,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xB4,0xFE,0x6C,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,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,0xE0,0x01,0xFE,0x69,0xA1,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xA6,0xFF,0xF0,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x49,0x8F,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x8B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x55,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x6A,0x23,0xFE,0x69,0xF0,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xF0,0xFE,0x49,0x22,0x00,0x00,0x00,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,0xE0,0x01,0xFE,0x69,0xC5,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xF6,0x09,0xFF,0xA3,0xC3,0xFF,0x9B,0x83,0xFF,0xE5,0xA8,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xE5,0xA8,0xFF,0x93,0x83,0xFF,0xA3,0xC3,0xFF,0xF6,0x09,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xC2,0xFF,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x64,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xFF,0x8B,0x22,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x8B,0x22,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x8B,0x02,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x8B,0x42,0xFF,0xFE,0x49,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x5F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x28,0x12,0xFE,0x69,0xEB,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xFF,0x93,0x83,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x8B,0x22,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x8B,0x02,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x9B,0x83,0xFF,0xFE,0x49,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xE9,0xFE,0x6A,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x82,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xFF,0x93,0x63,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x40,0xFF,0xDD,0x87,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xDD,0x67,0xFF,0x6A,0x40,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x93,0x83,0xFF,0xFE,0x49,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x49,0x0E,0xFE,0x69,0xEE,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xF6,0x08,0xFF,0x8B,0x22,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x40,0xFF,0xCD,0x06,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xCC,0xE6,0xFF,0x6A,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x8B,0x22,0xFF,0xF6,0x08,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xED,0xFE,0x29,0x0D,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x74,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xD5,0x27,0xFF,0x72,0xA1,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x20,0xFF,0xCD,0x06,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xCC,0xE6,0xFF,0x6A,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x72,0x81,0xFF,0xD5,0x47,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x72,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0xD3,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xF6,0x09,0xFF,0xA3,0xE4,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x40,0xFF,0xCD,0x06,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xCC,0xE6,0xFF,0x6A,0x40,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xA3,0xE4,0xFF,0xF6,0x09,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xD5,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0xFE,0x49,0x35,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xFF,0xBC,0x85,0xFF,0x72,0x60,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x72,0x81,0xFF,0xE5,0x87,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xDD,0x87,0xFF,0x72,0x81,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x72,0x80,0xFF,0xBC,0xA5,0xFF,0xFE,0x49,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0x31,0x00,0x00,0x00,
0x00,0x00,0x00,0xFE,0x69,0x8E,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x29,0xFF,0xBC,0x85,0xFF,0x7A,0xA1,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x9B,0x83,0xFF,0xF6,0x08,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xF6,0x08,0xFF,0x93,0x83,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x7A,0xA1,0xFF,0xBC,0x65,0xFF,0xF6,0x09,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x8B,0x00,0x00,0x00,
0x00,0x00,0x00,0xFE,0x69,0xD4,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xC4,0xC5,0xFF,0x72,0x60,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x72,0x81,0xFF,0xCC,0xE6,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xC4,0xC6,0xFF,0x72,0x80,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x72,0x60,0xFF,0xC4,0xC6,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xCF,0x00,0x00,0x00,
0xFE,0x8A,0x16,0xFE,0x69,0xFE,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x29,0xFF,0x6A,0x40,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x40,0xFF,0xAC,0x24,0xFF,0xF6,0x29,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xF6,0x29,0xFF,0xAC,0x24,0xFF,0x6A,0x40,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x40,0xFF,0xFE,0x29,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFE,0xFE,0x69,0x14,
0xFE,0x49,0x54,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xFF,0x72,0x60,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x60,0xFF,0xAC,0x04,0xFF,0xED,0xE8,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xED,0xE8,0xFF,0xAC,0x04,0xFF,0x6A,0x60,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x72,0x60,0xFF,0xFE,0x49,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x52,
0xFE,0x49,0x80,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xDD,0x67,0xFF,0xA3,0xC3,0xFF,0xBC,0x85,0xFF,0xF6,0x29,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xF6,0x08,0xFF,0xED,0xC8,0xFF,0xF6,0x09,0xFF,0xF6,0x29,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xF6,0x08,0xFF,0xED,0xC8,0xFF,0xF6,0x09,0xFF,0xFE,0x29,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xF6,0x29,0xFF,0xBC,0x85,0xFF,0xA3,0xC3,0xFF,0xDD,0x87,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x7D,
0xFE,0x69,0xA7,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xED,0xE8,0xFF,0xC4,0xA5,0xFF,0x9B,0xA3,0xFF,0x7A,0xC1,0xFF,0x6A,0x40,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x72,0xA1,0xFF,0x93,0x62,0xFF,0xB4,0x44,0xFF,0xE5,0xA7,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xED,0xC8,0xFF,0xBC,0x85,0xFF,0x9B,0x83,0xFF,0x7A,0xC1,0xFF,0x6A,0x40,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x7A,0xA1,0xFF,0x93,0x83,0xFF,0xBC,0x65,0xFF,0xED,0xC8,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xA4,
0xFE,0x69,0xCC,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xDD,0x47,0xFF,0x93,0x42,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x83,0x02,0xFF,0xD5,0x06,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xD5,0x06,0xFF,0x8B,0x22,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x8B,0x42,0xFF,0xDD,0x47,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xCA,
0xFE,0x69,0xE0,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xED,0xC8,0xFF,0x6A,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xDD,0x67,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xDD,0x47,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x40,0xFF,0xED,0xC8,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xDE,
0xFE,0x69,0xED,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xD5,0x47,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x40,0xFF,0x62,0xE6,0xFF,0x63,0x6B,0xFF,0x63,0xCE,0xFF,0x63,0xF0,0xFF,0x63,0xEF,0xFF,0x94,0x07,0xFF,0x93,0x62,0xFF,0x72,0x80,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xC4,0xC6,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xC4,0xC6,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x40,0xFF,0x8B,0x22,0xFF,0x8B,0xC6,0xFF,0x63,0xCF,0xFF,0x63,0xF0,0xFF,0x63,0xEF,0xFF,0x63,0x8D,0xFF,0x63,0x07,0xFF,0x62,0x61,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xDD,0x47,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xEB,
0xFE,0x69,0xF9,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xFF,0x9B,0x83,0xFF,0x6A,0x60,0xFF,0x93,0x62,0xFF,0x7C,0x91,0xFF,0x5D,0x5C,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0xCE,0x10,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xFF,0xD5,0x26,0xFF,0x9B,0x83,0xFF,0x72,0x60,0xFF,0x93,0x63,0xFF,0xFE,0x29,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x29,0xFF,0x8B,0x42,0xFF,0x6A,0x60,0xFF,0x9B,0x83,0xFF,0xD5,0x26,0xFF,0xFE,0x49,0xFF,0xFE,0x69,0xFF,0xCE,0x10,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x5C,0xFF,0x7C,0x70,0xFF,0x93,0x62,0xFF,0x72,0x60,0xFF,0xA3,0xC3,0xFF,0xFE,0x49,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xF8,
0xFE,0x69,0xF9,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x85,0xB9,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0xCE,0x10,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xCE,0x10,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x85,0xB9,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xF8,
0xFE,0x69,0xED,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x85,0xB9,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0xCE,0x10,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xCE,0x10,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x85,0xB9,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xEB,
0xFE,0x69,0xE0,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x85,0xB9,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0xCE,0x10,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xCE,0x10,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x85,0xB9,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xDE,
0xFE,0x69,0xCC,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x85,0xB9,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0xCE,0x10,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xCE,0x10,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x85,0xB9,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xCA,
0xFE,0x69,0xA6,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x85,0xB9,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0xCE,0x10,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xCE,0x10,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x85,0xB9,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xA3,
0xFE,0x69,0x7F,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x85,0xB9,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0xCE,0x10,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xFF,0xCC,0xE6,0xFF,0xA3,0xE4,0xFF,0xA3,0xE4,0xFF,0xCC,0xE6,0xFF,0xFE,0x49,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xCE,0x10,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x85,0xB9,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x7C,
0xFE,0x49,0x53,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x85,0xB9,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0xCE,0x10,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xED,0xC8,0xFF,0x82,0xE1,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x82,0xE1,0xFF,0xED,0xC8,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xCE,0x10,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x85,0xB9,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x51,
0xFE,0x8A,0x16,0xFE,0x69,0xFE,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x85,0xB9,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0xCE,0x10,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xED,0xE8,0xFF,0x72,0x81,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x72,0x81,0xFF,0xED,0xE8,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xCE,0x10,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x85,0xB9,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFD,0xFE,0x69,0x14,
0x00,0x00,0x00,0xFE,0x69,0xD3,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x85,0xB9,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0xCE,0x10,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xFF,0x8B,0x22,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x8B,0x22,0xFF,0xFE,0x49,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xCE,0x10,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x85,0xB9,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xCE,0x00,0x00,0x00,
0x00,0x00,0x00,0xFE,0x69,0x8E,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x85,0xB9,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0xCE,0x10,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xC4,0xA5,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xC4,0xC6,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xCE,0x10,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x85,0xB9,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0x8A,0x00,0x00,0x00,
0x00,0x00,0x00,0xFE,0x69,0x34,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x85,0xB9,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0xCE,0x10,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xFF,0x72,0xA1,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x7A,0xA1,0xFF,0xFE,0x49,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xCE,0x10,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x85,0xB9,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0x30,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0xD3,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x85,0xB9,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0xCE,0x10,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xD5,0x26,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xD5,0x47,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xCE,0x10,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x85,0xB9,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xD5,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x74,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x85,0xB9,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0xCE,0x10,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xA3,0xC3,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x7A,0x41,0xFF,0x9A,0x65,0xFF,0xA2,0x67,0xFF,0xA2,0x67,0xFF,0x9A,0x65,0xFF,0x72,0x41,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xA3,0xC3,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xCE,0x10,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x85,0xB9,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x72,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x29,0x0D,0xFE,0x69,0xEE,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x85,0xB9,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0xCE,0x10,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x7A,0xE1,0xFF,0x62,0x20,0xFF,0x72,0x41,0xFF,0xC2,0xAA,0xFF,0xE2,0xCE,0xFF,0xE2,0xCE,0xFF,0xE2,0xCE,0xFF,0xE2,0xCE,0xFF,0xE2,0xCE,0xFF,0xE2,0xCD,0xFF,0xC2,0xAA,0xFF,0x72,0x21,0xFF,0x62,0x20,0xFF,0x82,0xE1,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xCE,0x10,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x85,0xB9,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xED,0xFE,0x29,0x0D,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x81,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x85,0xB9,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0xCE,0x10,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xFF,0x6A,0x20,0xFF,0x6A,0x20,0xFF,0xD2,0xAB,0xFF,0xE2,0xCE,0xFF,0xE2,0xCE,0xFF,0xE2,0xCE,0xFF,0xE2,0xCE,0xFF,0xE2,0xCE,0xFF,0xE2,0xCE,0xFF,0xE2,0xCE,0xFF,0xE2,0xCE,0xFF,0xD2,0xAB,0xFF,0x6A,0x20,0xFF,0x6A,0x20,0xFF,0xFE,0x49,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xCE,0x10,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x85,0xB9,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x7D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x89,0x11,0xFE,0x69,0xEA,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x85,0xB9,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0xCE,0x10,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xF6,0x08,0xFF,0x62,0x20,0xFF,0x8A,0x43,0xFF,0xE2,0xCE,0xFF,0xE2,0xCE,0xFF,0xE2,0xCE,0xFF,0xE2,0xCE,0xFF,0xE2,0xCE,0xFF,0xE2,0xCE,0xFF,0xE2,0xCE,0xFF,0xE2,0xCE,0xFF,0xE2,0xCE,0xFF,0xE2,0xCE,0xFF,0x82,0x43,0xFF,0x62,0x20,0xFF,0xF6,0x09,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xCE,0x10,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x85,0xB9,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xE8,0xFE,0x6A,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x49,0x62,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x85,0xB9,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0xCE,0x10,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xF6,0x09,0xFF,0x62,0x20,0xFF,0x82,0x43,0xFF,0xE2,0xCE,0xFF,0xE2,0xCE,0xFF,0xE2,0xCE,0xFF,0xE2,0xCE,0xFF,0xE2,0xCE,0xFF,0xE2,0xCE,0xFF,0xE2,0xCE,0xFF,0xE2,0xCE,0xFF,0xE2,0xCE,0xFF,0xE2,0xCE,0xFF,0x82,0x43,0xFF,0x62,0x20,0xFF,0xF6,0x29,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xCE,0x10,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x85,0xB9,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0x5D,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,0xE0,0x01,0xFE,0x69,0xC4,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x85,0xB9,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0xCE,0x10,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xFF,0x6A,0x40,0xFF,0x6A,0x20,0xFF,0xD2,0xAB,0xFF,0xE2,0xCE,0xFF,0xE2,0xCE,0xFF,0xE2,0xCE,0xFF,0xE2,0xCE,0xFF,0xE2,0xCE,0xFF,0xE2,0xCE,0xFF,0xE2,0xCE,0xFF,0xE2,0xCE,0xFF,0xD2,0xAB,0xFF,0x6A,0x20,0xFF,0x6A,0x40,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xCE,0x10,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x85,0xB9,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xC1,0xFF,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x6A,0x23,0xFE,0x69,0xF0,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x85,0xB9,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0xCE,0x10,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x93,0x83,0xFF,0x62,0x20,0xFF,0x72,0x21,0xFF,0xC2,0xA9,0xFF,0xE2,0xCD,0xFF,0xE2,0xCE,0xFF,0xE2,0xCE,0xFF,0xE2,0xCE,0xFF,0xE2,0xCE,0xFF,0xE2,0xCD,0xFF,0xC2,0xA9,0xFF,0x72,0x21,0xFF,0x62,0x20,0xFF,0x9B,0x83,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xCE,0x10,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x85,0xB9,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xEF,0xFE,0x49,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x49,0x54,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x85,0xB9,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0xCE,0x10,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xE5,0xA8,0xFF,0x6A,0x40,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x72,0x41,0xFF,0x92,0x65,0xFF,0xA2,0x87,0xFF,0xA2,0x87,0xFF,0x92,0x65,0xFF,0x72,0x21,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x40,0xFF,0xE5,0xA8,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xCE,0x10,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x85,0xB9,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x52,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x8D,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x85,0xB9,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0xCE,0x10,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xE5,0x87,0xFF,0x93,0x42,0xFF,0x6A,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x20,0xFF,0x93,0x62,0xFF,0xE5,0xA7,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xCE,0x10,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x85,0xB9,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x89,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,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,0xE0,0x01,0xFE,0x69,0x9F,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x85,0xB9,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0xCE,0x10,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x29,0xFF,0xE5,0x87,0xFF,0xD5,0x47,0xFF,0xD5,0x06,0xFF,0xD5,0x06,0xFF,0xD5,0x47,0xFF,0xE5,0x87,0xFF,0xFE,0x29,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xCE,0x10,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x85,0xB9,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xA5,0xFF,0xF0,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x6C,0x05,0xFE,0x69,0xB5,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x85,0xB9,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0xCE,0x10,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xCE,0x10,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x85,0xB9,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xB3,0xFE,0x6C,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFD,0xE8,0x04,0xFE,0x69,0x9D,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x85,0xB9,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0xCE,0x10,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xCE,0x10,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x85,0xB9,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xA3,0xFE,0x6C,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,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,0xE0,0x01,0xFE,0x69,0x8B,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x85,0xB9,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0xCE,0x10,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x4A,0xFF,0xF6,0x4B,0xFF,0xF6,0x4B,0xFF,0xF6,0x4B,0xFF,0xF6,0x4B,0xFF,0xF6,0x4B,0xFF,0xF6,0x4B,0xFF,0xFE,0x4A,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xCE,0x10,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x85,0xB9,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFE,0xFE,0x69,0x89,0xFF,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5D,0x7D,0x16,0x5D,0x9D,0x2D,0x5D,0x5D,0x46,0x95,0xD6,0x90,0xB5,0xF2,0xF6,0x6D,0x9B,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x6D,0x9B,0xFF,0x6D,0x9B,0xFF,0x6D,0x7C,0xFF,0x6D,0x7C,0xFF,0x65,0x7C,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x65,0x7C,0xFF,0x6D,0x7C,0xFF,0x6D,0x7C,0xFF,0x6D,0x9B,0xFF,0x6D,0x9B,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x6D,0x9B,0xFF,0xB5,0xF2,0xF7,0x9D,0xD6,0x94,0x5D,0x7D,0x45,0x5D,0x9D,0x2D,0x5D,0x7D,0x16,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0x01,0x5D,0x7D,0x26,0x5D,0x7D,0x5A,0x5D,0x7D,0x8C,0x5D,0x7D,0xB0,0x5D,0x7D,0xD2,0x5D,0x7D,0xF4,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xF4,0x5D,0x7D,0xD2,0x5D,0x7D,0xB0,0x5D,0x7D,0x8B,0x5D,0x7D,0x5A,0x5D,0x7D,0x25,0x07,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,
0x5D,0x7D,0x2C,0x5D,0x7D,0x94,0x5D,0x7D,0xEA,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xEA,0x5D,0x7D,0x94,0x5D,0x7D,0x2B,
0x5D,0x7D,0xDD,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xDC,
0x65,0x5D,0x18,0x5D,0x7D,0x76,0x5D,0x7D,0xCD,0x5D,0x7D,0xFB,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFB,0x5D,0x7D,0xCC,0x5D,0x7D,0x75,0x5D,0x9D,0x17,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x65,0x9C,0x0A,0x5D,0x7D,0x3B,0x5D,0x7D,0x6B,0x5D,0x7D,0x91,0x5D,0x7D,0xB3,0x5D,0x7D,0xD6,0x5D,0x7D,0xF7,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xF7,0x5D,0x7D,0xD6,0x5D,0x7D,0xB3,0x5D,0x7D,0x90,0x5D,0x7D,0x6B,0x5D,0x5D,0x3A,0x65,0x9C,0x0A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5D,0x3D,0x0E,0x5D,0x5D,0x27,0x5D,0x5D,0x3D,0x5D,0x7D,0x54,0x5D,0x7D,0x68,0x5D,0x7D,0x78,0x5D,0x7D,0x88,0x5D,0x7D,0x98,0x5D,0x7D,0xA8,0x5D,0x7D,0xB7,0x5D,0x7D,0xBB,0x5D,0x7D,0xC1,0x5D,0x7D,0xCC,0x5D,0x7D,0xCC,0x5D,0x7D,0xD6,0x65,0x7C,0xE8,0x6D,0x7C,0xEE,0x6D,0x9C,0xF5,0x65,0x7C,0xFC,0x65,0x7C,0xFD,0x65,0x7D,0xFE,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x65,0x7D,0xFE,0x65,0x7C,0xFD,0x65,0x7C,0xFC,0x6D,0x9C,0xF5,0x6D,0x7C,0xEE,0x65,0x7C,0xE8,0x65,0x7D,0xD6,0x5D,0x7D,0xCC,0x5D,0x7D,0xCC,0x5D,0x7D,0xC1,0x5D,0x7D,0xBB,0x5D,0x7D,0xB7,0x5D,0x7D,0xA7,0x5D,0x7D,0x98,0x5D,0x7D,0x88,0x5D,0x7D,0x78,0x5D,0x7D,0x68,0x5D,0x7D,0x54,0x5D,0x5D,0x3D,0x5D,0x5D,0x27,0x5D,0x3D,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
};
const lv_img_dsc_t ui_img_crying_png = {
.header.always_zero = 0,
.header.w = 64,
.header.h = 64,
.data_size = sizeof(ui_img_crying_png_data),
.header.cf = LV_IMG_CF_TRUE_COLOR_ALPHA,
.data = ui_img_crying_png_data};

View File

@ -0,0 +1,86 @@
// This file was generated by SquareLine Studio
// SquareLine Studio version: SquareLine Studio 1.6.0
// LVGL version: 8.3.11
// Project name: Lcd_Pro
#include "../ui.h"
#ifndef LV_ATTRIBUTE_MEM_ALIGN
#define LV_ATTRIBUTE_MEM_ALIGN
#endif
// IMAGE DATA: assets/funny.png
const LV_ATTRIBUTE_MEM_ALIGN uint8_t ui_img_funny_png_data[] = {
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x8A,0x16,0xFE,0x49,0x54,0xFE,0x69,0x7F,0xFE,0x69,0xA7,0xFE,0x69,0xCD,0xFE,0x69,0xDE,0xFE,0x69,0xEE,0xFE,0x69,0xFA,0xFE,0x69,0xFA,0xFE,0x69,0xEE,0xFE,0x69,0xDE,0xFE,0x69,0xCD,0xFE,0x69,0xA6,0xFE,0x69,0x7E,0xFE,0x49,0x53,0xFE,0x8A,0x16,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x49,0x35,0xFE,0x69,0x8E,0xFE,0x69,0xD3,0xFE,0x69,0xFE,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFE,0xFE,0x69,0xD3,0xFE,0x69,0x8D,0xFE,0x69,0x34,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x49,0x0E,0xFE,0x69,0x74,0xFE,0x69,0xD6,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xD5,0xFE,0x69,0x74,0xFE,0x29,0x0D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x28,0x12,0xFE,0x69,0x81,0xFE,0x69,0xEE,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xEE,0xFE,0x49,0x80,0xFE,0x89,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,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,0xE0,0x01,0xFE,0x49,0x5E,0xFE,0x69,0xEA,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xED,0xFE,0x69,0x6F,0xFF,0xF0,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x24,0xFE,0x69,0xC5,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xC4,0xFE,0x6A,0x23,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x51,0xFE,0x69,0xEF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xF2,0xFE,0x49,0x58,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,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,0xF0,0x02,0xFE,0x49,0x8F,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x8D,0xFF,0xF0,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xAA,0x06,0xFE,0x69,0xA6,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xA5,0xFE,0x6C,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xAA,0x06,0xFE,0x69,0xB5,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xB4,0xFE,0x6C,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,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,0xE0,0x01,0xFE,0x69,0xA1,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xA6,0xFF,0xF0,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x49,0x8F,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x8B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x55,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x6A,0x23,0xFE,0x69,0xF0,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xF0,0xFE,0x49,0x22,0x00,0x00,0x00,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,0xE0,0x01,0xFE,0x69,0xC5,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xFF,0xCD,0x06,0xFF,0xA3,0xC3,0xFF,0x93,0x62,0xFF,0xD5,0x26,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xD5,0x06,0xFF,0x93,0x42,0xFF,0xA3,0xC3,0xFF,0xCD,0x06,0xFF,0xFE,0x49,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xC2,0xFF,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x64,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xF6,0x08,0xFF,0xAC,0x04,0xFF,0x72,0x60,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x60,0xFF,0xFE,0x29,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x29,0xFF,0x6A,0x40,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x72,0x60,0xFF,0xAC,0x04,0xFF,0xF6,0x08,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x5F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x28,0x12,0xFE,0x69,0xEB,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xFF,0xB4,0x44,0xFF,0x6A,0x60,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x40,0xFF,0xFE,0x29,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x29,0xFF,0x6A,0x40,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x60,0xFF,0xB4,0x44,0xFF,0xFE,0x49,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xE9,0xFE,0x6A,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x82,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xE5,0x87,0xFF,0x82,0xE1,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x83,0x02,0xFF,0xD5,0x26,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xD5,0x26,0xFF,0x83,0x02,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x82,0xE1,0xFF,0xE5,0x87,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x49,0x0E,0xFE,0x69,0xEE,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xCD,0x06,0xFF,0x6A,0x40,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x7A,0xA1,0xFF,0xBC,0x65,0xFF,0xF5,0xE8,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xED,0xE8,0xFF,0xB4,0x45,0xFF,0x72,0x81,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x40,0xFF,0xCD,0x06,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xED,0xFE,0x29,0x0D,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x74,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xC4,0xA5,0xFF,0x6A,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x40,0xFF,0xBC,0x85,0xFF,0xFE,0x49,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x29,0xFF,0xBC,0x65,0xFF,0x6A,0x40,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x20,0xFF,0xC4,0xA5,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x72,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0xD3,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xC4,0xC5,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x8B,0x22,0xFF,0xED,0xC8,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xED,0xC8,0xFF,0x8B,0x02,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xC4,0xC5,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xD5,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0xFE,0x49,0x35,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xDD,0x67,0xFF,0x6A,0x40,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x9B,0xA3,0xFF,0xFE,0x49,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xFF,0x9B,0x83,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x40,0xFF,0xDD,0x67,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0x31,0x00,0x00,0x00,
0x00,0x00,0x00,0xFE,0x69,0x8E,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xF6,0x29,0xFF,0x7A,0xA1,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xA3,0xC3,0xFF,0xFE,0x49,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xFF,0x9B,0xA3,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x7A,0xC1,0xFF,0xFE,0x29,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x8B,0x00,0x00,0x00,
0x00,0x00,0x00,0xFE,0x69,0xD4,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xAC,0x24,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x83,0x02,0xFF,0xFE,0x49,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xFF,0x83,0x02,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xB4,0x24,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xCF,0x00,0x00,0x00,
0xFE,0x8A,0x16,0xFE,0x69,0xFE,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xED,0xE8,0xFF,0x6A,0x40,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x72,0x60,0xFF,0xED,0xE8,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xED,0xC8,0xFF,0x6A,0x60,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x40,0xFF,0xF5,0xE8,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFE,0xFE,0x69,0x14,
0xFE,0x49,0x54,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xAC,0x24,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xB4,0x45,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xFF,0xED,0xE8,0xFF,0xE5,0x87,0xFF,0xF6,0x09,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xF6,0x08,0xFF,0xE5,0x87,0xFF,0xED,0xE8,0xFF,0xFE,0x49,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xB4,0x45,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xAC,0x24,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x52,
0xFE,0x49,0x80,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x7A,0xE1,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x72,0x80,0xFF,0xF6,0x29,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xED,0xC8,0xFF,0xA3,0xE3,0xFF,0x6A,0x60,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x7A,0xC1,0xFF,0xBC,0x85,0xFF,0xFE,0x49,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xFF,0xBC,0x65,0xFF,0x7A,0xC1,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x60,0xFF,0xA3,0xE4,0xFF,0xED,0xC8,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xF6,0x29,0xFF,0x72,0x80,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x82,0xE1,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x7D,
0xFE,0x69,0xA7,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xA3,0xC3,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xBC,0x85,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xC4,0xC6,0xFF,0x6A,0x60,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x82,0xE1,0xFF,0xE5,0xA8,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xE5,0xA8,0xFF,0x7A,0xE1,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x40,0xFF,0xC4,0xC6,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xBC,0x85,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xA3,0xC3,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xA4,
0xFE,0x69,0xCC,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xFF,0xCC,0xE6,0xFF,0xD5,0x26,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xBC,0x85,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x72,0x80,0xFF,0xE5,0xA8,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xE5,0xA8,0xFF,0x72,0x80,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xBC,0xA5,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xD5,0x26,0xFF,0xCC,0xE6,0xFF,0xFE,0x49,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xCA,
0xFE,0x69,0xE0,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xDD,0x67,0xFF,0x6A,0x40,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x7A,0xC1,0xFF,0xF6,0x29,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x29,0xFF,0x7A,0xC1,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x20,0xFF,0xDD,0x67,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xDE,
0xFE,0x69,0xED,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xF6,0x29,0xFF,0x72,0xE4,0xFF,0x62,0x41,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xA3,0xC3,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xA3,0xC3,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x41,0xFF,0x72,0xE4,0xFF,0xF6,0x29,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xEB,
0xFE,0x69,0xF9,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x6A,0xFF,0x8C,0xF1,0xFF,0x5D,0x7D,0xFF,0x5C,0x75,0xFF,0x72,0x81,0xFF,0xA3,0xC3,0xFF,0xC4,0xC6,0xFF,0xD5,0x47,0xFF,0xE5,0xA7,0xFF,0xED,0xC8,0xFF,0xDD,0x87,0xFF,0xD5,0x26,0xFF,0xBC,0x85,0xFF,0x93,0x62,0xFF,0x6A,0x40,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xE5,0xA8,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xE5,0xA8,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x40,0xFF,0x93,0x62,0xFF,0xBC,0x85,0xFF,0xD5,0x26,0xFF,0xDD,0x67,0xFF,0xED,0xC8,0xFF,0xE5,0xA7,0xFF,0xD5,0x47,0xFF,0xC4,0xC6,0xFF,0xA3,0xC3,0xFF,0x72,0xA1,0xFF,0x5C,0xB6,0xFF,0x5D,0x5D,0xFF,0x8C,0xF1,0xFF,0xFE,0x49,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xF8,
0xFE,0x69,0xF9,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xF6,0x4A,0xFF,0x85,0xB8,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0xDE,0x2D,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xF6,0x09,0xFF,0xB4,0x45,0xFF,0x83,0x01,0xFF,0xED,0xC8,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xED,0xC8,0xFF,0x83,0x01,0xFF,0xB4,0x45,0xFF,0xF6,0x09,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xD6,0x0E,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x8D,0xB7,0xFF,0xFE,0x4A,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xF8,
0xFE,0x69,0xED,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xF6,0x4B,0xFF,0x7D,0x99,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x95,0xD6,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x8D,0xB7,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x85,0xB9,0xFF,0xF6,0x4B,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xEB,
0xFE,0x69,0xE0,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xF6,0x4B,0xFF,0x7D,0x9A,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x65,0x7C,0xFF,0xFE,0x4A,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xF6,0x4B,0xFF,0x65,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x7D,0x99,0xFF,0xF6,0x4A,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xDE,
0xFE,0x69,0xCC,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xF6,0x4A,0xFF,0x7D,0x99,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0xCE,0x10,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xC6,0x11,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x85,0xB9,0xFF,0xF6,0x4A,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xCA,
0xFE,0x69,0xA6,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x4A,0xFF,0x85,0xB8,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x9D,0xD6,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x95,0xB7,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x8D,0xB8,0xFF,0xFE,0x4A,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xA3,
0xFE,0x69,0x7F,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x9D,0xD6,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x6D,0x5B,0xFF,0xE5,0x87,0xFF,0xFE,0x49,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xFF,0xDD,0x88,0xFF,0x65,0x7B,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x9D,0xD5,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x7C,
0xFE,0x49,0x53,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xB5,0xF3,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x62,0xA4,0xFF,0x6A,0x20,0xFF,0x7A,0xC1,0xFF,0x93,0x62,0xFF,0xAC,0x04,0xFF,0xC4,0xA5,0xFF,0xD5,0x06,0xFF,0xDD,0x67,0xFF,0xED,0xE8,0xFF,0xFE,0x49,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xFF,0xED,0xE8,0xFF,0xDD,0x67,0xFF,0xD5,0x06,0xFF,0xC4,0xA5,0xFF,0xAC,0x04,0xFF,0x93,0x62,0xFF,0x7A,0xC1,0xFF,0x6A,0x20,0xFF,0x62,0xC6,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0xBD,0xF2,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x51,
0xFE,0x8A,0x16,0xFE,0x69,0xFE,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xD6,0x2E,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x63,0x6B,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x40,0xFF,0x72,0x60,0xFF,0x72,0x80,0xFF,0x72,0x80,0xFF,0x72,0x60,0xFF,0x6A,0x40,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x63,0x8C,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x65,0x7D,0xFF,0xDE,0x2E,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFD,0xFE,0x69,0x14,
0x00,0x00,0x00,0xFE,0x69,0xD3,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xF6,0x4B,0xFF,0x6D,0x9B,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x64,0x11,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x64,0x53,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x6D,0x9B,0xFF,0xF6,0x4B,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xCE,0x00,0x00,0x00,
0x00,0x00,0x00,0xFE,0x69,0x8E,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x8D,0xB7,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x6D,0x7B,0xFF,0x9C,0x0A,0xFF,0x7B,0x25,0xFF,0x6A,0x61,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x61,0xFF,0x7B,0x25,0xFF,0x9C,0x0A,0xFF,0x6D,0x7B,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x95,0xB7,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0x8A,0x00,0x00,0x00,
0x00,0x00,0x00,0xFE,0x69,0x34,0xFE,0x69,0xFF,0xCE,0x10,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x65,0x7D,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0x9D,0xFF,0xE6,0xD9,0xFF,0xCE,0x15,0xFF,0xBD,0x92,0xFF,0xB5,0x30,0xFF,0xAC,0xCE,0xFF,0xA4,0x6C,0xFF,0xA4,0x6C,0xFF,0x9C,0x4B,0xFF,0x9C,0x0A,0xFF,0x9C,0x0A,0xFF,0x9C,0x4B,0xFF,0xA4,0x6C,0xFF,0xA4,0x6C,0xFF,0xAC,0xCE,0xFF,0xB5,0x30,0xFF,0xBD,0x92,0xFF,0xCE,0x15,0xFF,0xE6,0xD9,0xFF,0xF7,0x9D,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0xCE,0x0F,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0x30,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xF6,0x4A,0xD5,0x6D,0x9B,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0xEF,0xBF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE7,0x9F,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x75,0x9A,0xFF,0xFE,0x4A,0xD6,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x9D,0xD5,0xAE,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0xA5,0x54,0xFF,0xFF,0xDF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xFF,0x9D,0x54,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0xA5,0xD5,0xA8,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x5D,0x7D,0xD3,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x63,0x6B,0xFF,0x83,0x25,0xFF,0xD6,0x77,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xD6,0x77,0xFF,0x83,0x25,0xFF,0x63,0x8C,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xCB,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x5D,0x3D,0x0E,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x63,0x8C,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x83,0x25,0xFF,0xBD,0x92,0xFF,0xF7,0x9D,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0x9D,0xFF,0xBD,0x92,0xFF,0x7B,0x25,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x63,0xAE,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFD,0x64,0xFB,0x08,0x00,0x00,0x00,
0x00,0x00,0x00,0x65,0x7D,0x30,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x63,0xAE,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x83,0x25,0xFF,0xA4,0x8D,0xFF,0xC5,0xD4,0xFF,0xDE,0xB8,0xFF,0xEF,0x5C,0xFF,0xF7,0x9D,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0x9D,0xFF,0xEF,0x5C,0xFF,0xDE,0xB8,0xFF,0xC5,0xD4,0xFF,0xA4,0x8C,0xFF,0x83,0x25,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x63,0xEF,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0x25,0x00,0x00,0x00,
0x00,0x00,0x00,0x5D,0x7D,0x2C,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x63,0xAD,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x63,0xCE,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x65,0x7D,0x20,0x00,0x00,0x00,
0x00,0x00,0x00,0x5D,0x9E,0x14,0x5D,0x7D,0xFE,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x63,0x4A,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x63,0x6B,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFB,0x55,0x5D,0x0C,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x5D,0x7D,0xD4,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x62,0xA4,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0xC5,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xC9,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x5D,0x7D,0x77,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x64,0xD7,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x64,0xF8,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0x6C,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x5D,0x3D,0x0E,0x5D,0x7D,0xE8,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0xC5,0xCE,0xFF,0x8B,0x02,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x8B,0x22,0xFF,0xC5,0xCF,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xE3,0x65,0x9C,0x0A,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5D,0x5D,0x46,0x5D,0x7D,0xFD,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x9D,0xD5,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xFF,0xB4,0x45,0xFF,0x6A,0x40,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x40,0xFF,0xB4,0x65,0xFF,0xFE,0x49,0xFF,0xFE,0x69,0xFF,0x95,0xD6,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFB,0x5D,0x7D,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5D,0x7D,0x59,0x5D,0x7D,0xFA,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x95,0xB6,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xED,0xC8,0xFF,0x9B,0xA3,0xFF,0x6A,0x40,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x40,0xFF,0x9B,0xA3,0xFF,0xED,0xE8,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x4A,0xFF,0x95,0xB7,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xF7,0x5D,0x7D,0x51,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5D,0x7D,0x35,0x5D,0x7D,0xCD,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x6D,0x7B,0xFF,0xBD,0xF1,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xED,0xE8,0xFF,0xB4,0x24,0xFF,0x7A,0xC1,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x7A,0xC1,0xFF,0xB4,0x44,0xFF,0xED,0xE8,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xB5,0xF2,0xFF,0x6D,0x7C,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xFF,0x5D,0x7D,0xC7,0x65,0x7D,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x84,0x1F,0x02,0x5D,0x5D,0x40,0x5D,0x7D,0x96,0x5D,0x7D,0xC1,0x5D,0x7D,0xDD,0x75,0x9B,0xE8,0x95,0xB6,0xFF,0xC6,0x11,0xFF,0xFE,0x4A,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xED,0xC8,0xFF,0xC4,0xA5,0xFF,0xA3,0xE4,0xFF,0x8B,0x42,0xFF,0x82,0xE1,0xFF,0x7A,0xA1,0xFF,0x7A,0xA1,0xFF,0x82,0xE1,0xFF,0x93,0x42,0xFF,0xA3,0xE4,0xFF,0xC4,0xA5,0xFF,0xED,0xC8,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xF6,0x4A,0xFF,0xBD,0xF1,0xFF,0x95,0xB6,0xFF,0x75,0x9B,0xE8,0x5D,0x7D,0xDC,0x5D,0x7D,0xC0,0x5D,0x7D,0x94,0x5D,0x7D,0x3C,0x07,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x50,0xFE,0x69,0xEE,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xF1,0xFE,0x69,0x56,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x49,0x22,0xFE,0x69,0xC2,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xC1,0xFE,0x49,0x21,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,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,0xE0,0x01,0xFE,0x49,0x5E,0xFE,0x69,0xE9,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xED,0xFE,0x69,0x66,0xFF,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x6A,0x10,0xFE,0x69,0x7E,0xFE,0x69,0xED,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xEC,0xFE,0x69,0x7D,0xFE,0x6A,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xAA,0x0C,0xFE,0x69,0x72,0xFE,0x69,0xD4,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xD3,0xFE,0x49,0x71,0xFE,0xAA,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x49,0x31,0xFE,0x69,0x8B,0xFE,0x69,0xD0,0xFE,0x69,0xFD,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFD,0xFE,0x69,0xCF,0xFE,0x49,0x8A,0xFE,0x49,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x14,0xFE,0x69,0x52,0xFE,0x69,0x7C,0xFE,0x69,0xA5,0xFE,0x49,0xCB,0xFE,0x69,0xDD,0xFE,0x69,0xED,0xFE,0x69,0xF9,0xFE,0x69,0xF9,0xFE,0x69,0xED,0xFE,0x69,0xDD,0xFE,0x49,0xCB,0xFE,0x69,0xA4,0xFE,0x69,0x7C,0xFE,0x69,0x51,0xFE,0x69,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
};
const lv_img_dsc_t ui_img_funny_png = {
.header.always_zero = 0,
.header.w = 64,
.header.h = 64,
.data_size = sizeof(ui_img_funny_png_data),
.header.cf = LV_IMG_CF_TRUE_COLOR_ALPHA,
.data = ui_img_funny_png_data};

View File

@ -0,0 +1,86 @@
// This file was generated by SquareLine Studio
// SquareLine Studio version: SquareLine Studio 1.6.0
// LVGL version: 8.3.11
// Project name: Lcd_Pro
#include "../ui.h"
#ifndef LV_ATTRIBUTE_MEM_ALIGN
#define LV_ATTRIBUTE_MEM_ALIGN
#endif
// IMAGE DATA: assets/happy.png
const LV_ATTRIBUTE_MEM_ALIGN uint8_t ui_img_happy_png_data[] = {
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x8A,0x16,0xFE,0x49,0x54,0xFE,0x69,0x7F,0xFE,0x69,0xA7,0xFE,0x69,0xCD,0xFE,0x69,0xDE,0xFE,0x69,0xEE,0xFE,0x69,0xFA,0xFE,0x69,0xFA,0xFE,0x69,0xEE,0xFE,0x69,0xDE,0xFE,0x69,0xCD,0xFE,0x69,0xA6,0xFE,0x69,0x7E,0xFE,0x49,0x53,0xFE,0x8A,0x16,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x49,0x35,0xFE,0x69,0x8E,0xFE,0x69,0xD3,0xFE,0x69,0xFE,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFE,0xFE,0x69,0xD3,0xFE,0x69,0x8D,0xFE,0x69,0x34,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x49,0x0E,0xFE,0x69,0x74,0xFE,0x69,0xD6,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xD5,0xFE,0x69,0x74,0xFE,0x29,0x0D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x28,0x12,0xFE,0x69,0x81,0xFE,0x69,0xEE,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xEE,0xFE,0x49,0x80,0xFE,0x89,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,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,0xE0,0x01,0xFE,0x49,0x5E,0xFE,0x69,0xEA,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xED,0xFE,0x69,0x6F,0xFF,0xF0,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x24,0xFE,0x69,0xC5,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xC4,0xFE,0x6A,0x23,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x51,0xFE,0x69,0xEF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xF2,0xFE,0x49,0x58,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,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,0xF0,0x02,0xFE,0x49,0x8F,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x8D,0xFF,0xF0,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xAA,0x06,0xFE,0x69,0xA6,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xA5,0xFE,0x6C,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xAA,0x06,0xFE,0x69,0xB5,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xB4,0xFE,0x6C,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,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,0xE0,0x01,0xFE,0x69,0xA1,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xA6,0xFF,0xF0,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x49,0x8F,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x8B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x55,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x6A,0x23,0xFE,0x69,0xF0,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xF0,0xFE,0x49,0x22,0x00,0x00,0x00,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,0xE0,0x01,0xFE,0x69,0xC5,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xC2,0xFF,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x64,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x5F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x28,0x12,0xFE,0x69,0xEB,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xE9,0xFE,0x6A,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x82,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xF6,0x08,0xFF,0xE5,0x87,0xFF,0xFE,0x29,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x29,0xFF,0xE5,0x87,0xFF,0xF6,0x08,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x49,0x0E,0xFE,0x69,0xEE,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x29,0xFF,0x9B,0xA3,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x72,0x60,0xFF,0xC4,0xA5,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xC4,0xA5,0xFF,0x72,0x60,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x9B,0xA3,0xFF,0xFE,0x29,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xED,0xFE,0x29,0x0D,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x74,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xFF,0x93,0x62,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xC4,0xC6,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xC4,0xC6,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x93,0x62,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x72,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0xD3,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xCD,0x06,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x72,0x60,0xFF,0xF6,0x29,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xF6,0x29,0xFF,0x72,0x60,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xCD,0x06,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xD5,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0xFE,0x49,0x35,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x93,0x42,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xC4,0xC6,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xC4,0xA5,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x93,0x42,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0x31,0x00,0x00,0x00,
0x00,0x00,0x00,0xFE,0x69,0x8E,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xFF,0x6A,0x40,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xA3,0xC3,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x9B,0xA3,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x40,0xFF,0xFE,0x49,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x8B,0x00,0x00,0x00,
0x00,0x00,0x00,0xFE,0x69,0xD4,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xF6,0x08,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x8B,0x42,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x8B,0x22,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xF6,0x09,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xCF,0x00,0x00,0x00,
0xFE,0x8A,0x16,0xFE,0x69,0xFE,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xF6,0x08,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x8B,0x42,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x8B,0x42,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xF6,0x09,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFE,0xFE,0x69,0x14,
0xFE,0x49,0x54,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xFF,0x6A,0x60,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xA3,0xC3,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x9B,0xA3,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x40,0xFF,0xFE,0x49,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x52,
0xFE,0x49,0x80,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x93,0x42,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xC4,0xC6,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xC4,0xC5,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x93,0x62,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x7D,
0xFE,0x69,0xA7,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xCD,0x06,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x72,0x60,0xFF,0xF6,0x29,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xF6,0x29,0xFF,0x72,0x60,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xD5,0x06,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xA4,
0xFE,0x69,0xCC,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x93,0x62,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xCC,0xC6,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xC4,0xC6,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x93,0x63,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xCA,
0xFE,0x69,0xE0,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x29,0xFF,0x9B,0xA3,0xFF,0x6A,0x20,0xFF,0x62,0x20,0xFF,0x72,0x60,0xFF,0xC4,0xC5,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xC4,0xA5,0xFF,0x72,0x60,0xFF,0x62,0x20,0xFF,0x6A,0x20,0xFF,0xA3,0xC3,0xFF,0xFE,0x29,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xDE,
0xFE,0x69,0xED,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xF6,0x08,0xFF,0xE5,0x87,0xFF,0xFE,0x29,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x29,0xFF,0xE5,0x87,0xFF,0xF6,0x08,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xEB,
0xFE,0x69,0xF9,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xF8,
0xFE,0x69,0xF9,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xF8,
0xFE,0x69,0xED,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xEB,
0xFE,0x69,0xE0,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xDE,
0xFE,0x69,0xCC,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xCA,
0xFE,0x69,0xA6,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xA3,
0xFE,0x69,0x7F,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x7C,
0xFE,0x49,0x53,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x51,
0xFE,0x8A,0x16,0xFE,0x69,0xFE,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFD,0xFE,0x69,0x14,
0x00,0x00,0x00,0xFE,0x69,0xD3,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x29,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x29,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xCE,0x00,0x00,0x00,
0x00,0x00,0x00,0xFE,0x69,0x8E,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xE5,0x87,0xFF,0x6A,0x20,0xFF,0xA3,0xC3,0xFF,0xF6,0x29,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xF6,0x09,0xFF,0xA3,0xC3,0xFF,0x6A,0x20,0xFF,0xE5,0x87,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0x8A,0x00,0x00,0x00,
0x00,0x00,0x00,0xFE,0x69,0x34,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xED,0xE8,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x72,0x60,0xFF,0xBC,0x85,0xFF,0xFE,0x29,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x29,0xFF,0xBC,0x65,0xFF,0x72,0x60,0xFF,0x62,0x20,0xFF,0x6A,0x20,0xFF,0xED,0xE8,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0x30,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0xD3,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x9B,0x83,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x60,0xFF,0x9B,0xA3,0xFF,0xCC,0xC6,0xFF,0xED,0xE8,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xED,0xE8,0xFF,0xC4,0xC6,0xFF,0x9B,0xA3,0xFF,0x6A,0x40,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x9B,0x83,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xD5,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x74,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xED,0xC8,0xFF,0x6A,0x60,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x72,0x60,0xFF,0x83,0x02,0xFF,0x9B,0x83,0xFF,0x9B,0xA3,0xFF,0xA3,0xE4,0xFF,0xA3,0xE4,0xFF,0x9B,0xA3,0xFF,0x9B,0x83,0xFF,0x83,0x02,0xFF,0x6A,0x60,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x72,0x60,0xFF,0xED,0xE8,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x72,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x29,0x0D,0xFE,0x69,0xEE,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xD5,0x27,0xFF,0x6A,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x20,0xFF,0xD5,0x26,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xED,0xFE,0x29,0x0D,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x81,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xD5,0x26,0xFF,0x72,0x60,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x60,0xFF,0xD5,0x06,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x7D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x89,0x11,0xFE,0x69,0xEA,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xED,0xC8,0xFF,0x93,0x42,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x93,0x42,0xFF,0xED,0xC8,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xE8,0xFE,0x6A,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x49,0x62,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xDD,0x47,0xFF,0x93,0x62,0xFF,0x6A,0x40,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x40,0xFF,0x93,0x62,0xFF,0xDD,0x67,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0x5D,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,0xE0,0x01,0xFE,0x69,0xC4,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xF6,0x29,0xFF,0xD5,0x26,0xFF,0xB4,0x44,0xFF,0x9B,0xA3,0xFF,0x93,0x42,0xFF,0x8B,0x22,0xFF,0x8B,0x22,0xFF,0x93,0x62,0xFF,0xA3,0xC3,0xFF,0xB4,0x45,0xFF,0xD5,0x26,0xFF,0xF6,0x29,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xC1,0xFF,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x6A,0x23,0xFE,0x69,0xF0,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xEF,0xFE,0x49,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x49,0x54,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x52,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x8D,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x89,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,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,0xE0,0x01,0xFE,0x69,0x9F,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xA5,0xFF,0xF0,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x6C,0x05,0xFE,0x69,0xB5,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xB3,0xFE,0x6C,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFD,0xE8,0x04,0xFE,0x69,0x9D,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xA3,0xFE,0x6C,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,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,0xE0,0x01,0xFE,0x69,0x8B,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFE,0xFE,0x69,0x89,0xFF,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x50,0xFE,0x69,0xEE,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xF1,0xFE,0x69,0x56,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x49,0x22,0xFE,0x69,0xC2,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xC1,0xFE,0x49,0x21,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,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,0xE0,0x01,0xFE,0x49,0x5E,0xFE,0x69,0xE9,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xED,0xFE,0x69,0x66,0xFF,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x6A,0x10,0xFE,0x69,0x7E,0xFE,0x69,0xED,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xEC,0xFE,0x69,0x7D,0xFE,0x6A,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xAA,0x0C,0xFE,0x69,0x72,0xFE,0x69,0xD4,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xD3,0xFE,0x49,0x71,0xFE,0xAA,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x49,0x31,0xFE,0x69,0x8B,0xFE,0x69,0xD0,0xFE,0x69,0xFD,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFD,0xFE,0x69,0xCF,0xFE,0x49,0x8A,0xFE,0x49,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x14,0xFE,0x69,0x52,0xFE,0x69,0x7C,0xFE,0x69,0xA5,0xFE,0x49,0xCB,0xFE,0x69,0xDD,0xFE,0x69,0xED,0xFE,0x69,0xF9,0xFE,0x69,0xF9,0xFE,0x69,0xED,0xFE,0x69,0xDD,0xFE,0x49,0xCB,0xFE,0x69,0xA4,0xFE,0x69,0x7C,0xFE,0x69,0x51,0xFE,0x69,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
};
const lv_img_dsc_t ui_img_happy_png = {
.header.always_zero = 0,
.header.w = 64,
.header.h = 64,
.data_size = sizeof(ui_img_happy_png_data),
.header.cf = LV_IMG_CF_TRUE_COLOR_ALPHA,
.data = ui_img_happy_png_data};

View File

@ -0,0 +1,86 @@
// This file was generated by SquareLine Studio
// SquareLine Studio version: SquareLine Studio 1.6.0
// LVGL version: 8.3.11
// Project name: Lcd_Pro
#include "../ui.h"
#ifndef LV_ATTRIBUTE_MEM_ALIGN
#define LV_ATTRIBUTE_MEM_ALIGN
#endif
// IMAGE DATA: assets/laughing.png
const LV_ATTRIBUTE_MEM_ALIGN uint8_t ui_img_laughing_png_data[] = {
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x8A,0x16,0xFE,0x49,0x54,0xFE,0x69,0x7F,0xFE,0x69,0xA7,0xFE,0x69,0xCD,0xFE,0x69,0xDE,0xFE,0x69,0xEE,0xFE,0x69,0xFA,0xFE,0x69,0xFA,0xFE,0x69,0xEE,0xFE,0x69,0xDE,0xFE,0x69,0xCD,0xFE,0x69,0xA6,0xFE,0x69,0x7E,0xFE,0x49,0x53,0xFE,0x8A,0x16,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x49,0x35,0xFE,0x69,0x8E,0xFE,0x69,0xD3,0xFE,0x69,0xFE,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFE,0xFE,0x69,0xD3,0xFE,0x69,0x8D,0xFE,0x69,0x34,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x49,0x0E,0xFE,0x69,0x74,0xFE,0x69,0xD6,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xD5,0xFE,0x69,0x74,0xFE,0x29,0x0D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x28,0x12,0xFE,0x69,0x81,0xFE,0x69,0xEE,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xEE,0xFE,0x49,0x80,0xFE,0x89,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,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,0xE0,0x01,0xFE,0x49,0x5E,0xFE,0x69,0xEA,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xED,0xFE,0x69,0x6F,0xFF,0xF0,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x24,0xFE,0x69,0xC5,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xC4,0xFE,0x6A,0x23,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x51,0xFE,0x69,0xEF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xF2,0xFE,0x49,0x58,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,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,0xF0,0x02,0xFE,0x49,0x8F,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x8D,0xFF,0xF0,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xAA,0x06,0xFE,0x69,0xA6,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xA5,0xFE,0x6C,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xAA,0x06,0xFE,0x69,0xB5,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xB4,0xFE,0x6C,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,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,0xE0,0x01,0xFE,0x69,0xA1,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xA6,0xFF,0xF0,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x49,0x8F,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x8B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x55,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x6A,0x23,0xFE,0x69,0xF0,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xF0,0xFE,0x49,0x22,0x00,0x00,0x00,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,0xE0,0x01,0xFE,0x69,0xC5,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xC2,0xFF,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x64,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x5F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x28,0x12,0xFE,0x69,0xEB,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xE9,0xFE,0x6A,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x82,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x49,0x0E,0xFE,0x69,0xEE,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xED,0xFE,0x29,0x0D,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x74,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x72,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0xD3,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xD5,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0xFE,0x49,0x35,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xCC,0xE6,0xFF,0x9B,0xA3,0xFF,0xA3,0xC3,0xFF,0xAC,0x24,0xFF,0xC4,0xA5,0xFF,0xDD,0x67,0xFF,0xF6,0x29,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xF6,0x29,0xFF,0xDD,0x47,0xFF,0xC4,0xA5,0xFF,0xAC,0x24,0xFF,0xA3,0xC3,0xFF,0x9B,0xA3,0xFF,0xCC,0xE6,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0x31,0x00,0x00,0x00,
0x00,0x00,0x00,0xFE,0x69,0x8E,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xE5,0xA7,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x82,0xE1,0xFF,0xAC,0x24,0xFF,0xDD,0x67,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xFF,0xDD,0x67,0xFF,0xAC,0x24,0xFF,0x82,0xE1,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xE5,0xA8,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x8B,0x00,0x00,0x00,
0x00,0x00,0x00,0xFE,0x69,0xD4,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xDD,0x47,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x82,0xC1,0xFF,0xBC,0x85,0xFF,0xFE,0x29,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xF6,0x29,0xFF,0xBC,0x85,0xFF,0x7A,0xC1,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xDD,0x67,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xCF,0x00,0x00,0x00,
0xFE,0x8A,0x16,0xFE,0x69,0xFE,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xFF,0xAC,0x04,0xFF,0x7A,0xA1,0xFF,0x6A,0x40,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x72,0x81,0xFF,0xC4,0xC6,0xFF,0xFE,0x49,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xFF,0xC4,0xC6,0xFF,0x72,0x81,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x40,0xFF,0x7A,0xA1,0xFF,0xAC,0x04,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFE,0xFE,0x69,0x14,
0xFE,0x49,0x54,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xF6,0x09,0xFF,0xE5,0x87,0xFF,0xBC,0xA5,0xFF,0x9B,0xA3,0xFF,0x7A,0xA1,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x8B,0x22,0xFF,0xF5,0xE8,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xED,0xE8,0xFF,0x8B,0x22,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x7A,0xA1,0xFF,0x9B,0xA3,0xFF,0xC4,0xA5,0xFF,0xE5,0x87,0xFF,0xF6,0x09,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x52,
0xFE,0x49,0x80,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xE5,0x87,0xFF,0xA3,0xE4,0xFF,0x6A,0x60,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x72,0x81,0xFF,0xE5,0x87,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xE5,0x87,0xFF,0x72,0xA1,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x40,0xFF,0xAB,0xE4,0xFF,0xE5,0x87,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x7D,
0xFE,0x69,0xA7,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x29,0xFF,0xCD,0x06,0xFF,0xAC,0x04,0xFF,0x7A,0xC1,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x40,0xFF,0xE5,0xA8,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xE5,0xA8,0xFF,0x6A,0x40,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x7A,0xE1,0xFF,0xAC,0x04,0xFF,0xCD,0x06,0xFF,0xFE,0x29,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xA4,
0xFE,0x69,0xCC,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xFF,0xD5,0x06,0xFF,0x93,0x63,0xFF,0x6A,0x40,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xC4,0xA5,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xBC,0xA5,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x40,0xFF,0x93,0x83,0xFF,0xD5,0x26,0xFF,0xFE,0x49,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xCA,
0xFE,0x69,0xE0,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x29,0xFF,0xC4,0xA5,0xFF,0x7A,0xC1,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x72,0x80,0xFF,0xED,0xC8,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xED,0xC8,0xFF,0x72,0x80,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x7A,0xC1,0xFF,0xC4,0xA5,0xFF,0xFE,0x29,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xDE,
0xFE,0x69,0xED,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xFF,0xBC,0x85,0xFF,0x72,0x60,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x7A,0xA1,0xFF,0x9B,0x83,0xFF,0xBC,0x65,0xFF,0xC4,0xC6,0xFF,0xD5,0x06,0xFF,0xDD,0x67,0xFF,0xF6,0x29,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x29,0xFF,0xDD,0x67,0xFF,0xD5,0x06,0xFF,0xC4,0xC6,0xFF,0xBC,0x65,0xFF,0x9B,0x83,0xFF,0x7A,0xA1,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x72,0x60,0xFF,0xBC,0x85,0xFF,0xFE,0x49,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xEB,
0xFE,0x69,0xF9,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xD5,0x47,0xFF,0x7A,0xC1,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x8B,0x42,0xFF,0xBC,0x85,0xFF,0xED,0xE8,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xED,0xE8,0xFF,0xBC,0x85,0xFF,0x8B,0x22,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x7A,0xC1,0xFF,0xD5,0x47,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xF8,
0xFE,0x69,0xF9,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xB4,0x44,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x60,0xFF,0xAC,0x04,0xFF,0xED,0xC8,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xED,0xC8,0xFF,0xAC,0x04,0xFF,0x6A,0x60,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xB4,0x44,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xF8,
0xFE,0x69,0xED,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xF6,0x29,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x40,0xFF,0xA3,0xE4,0xFF,0xF6,0x08,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xF6,0x08,0xFF,0xA3,0xE4,0xFF,0x6A,0x40,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x20,0xFF,0xFE,0x29,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xEB,
0xFE,0x69,0xE0,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xFF,0x72,0xA1,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x93,0x63,0xFF,0xED,0xC8,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xED,0xC8,0xFF,0x93,0x63,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x7A,0xA1,0xFF,0xFE,0x49,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xDE,
0xFE,0x69,0xCC,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xED,0xC8,0xFF,0xB4,0x44,0xFF,0xD5,0x06,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xD5,0x06,0xFF,0xB4,0x44,0xFF,0xED,0xC8,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xCA,
0xFE,0x69,0xA6,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xA3,
0xFE,0x69,0x7F,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xED,0xC8,0xFF,0xA3,0xC3,0xFF,0x93,0x63,0xFF,0xA3,0xE4,0xFF,0xC4,0xA5,0xFF,0xE5,0x87,0xFF,0xFE,0x29,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x29,0xFF,0xE5,0x87,0xFF,0xC4,0xA5,0xFF,0xA3,0xE4,0xFF,0x93,0x63,0xFF,0xA3,0xC3,0xFF,0xED,0xC8,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x7C,
0xFE,0x49,0x53,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xF6,0x09,0xFF,0x72,0x80,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x20,0xFF,0x7A,0xC1,0xFF,0x93,0x62,0xFF,0xAC,0x04,0xFF,0xC4,0xA5,0xFF,0xD5,0x06,0xFF,0xDD,0x67,0xFF,0xED,0xE8,0xFF,0xFE,0x49,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xFF,0xED,0xE8,0xFF,0xDD,0x67,0xFF,0xD5,0x06,0xFF,0xC4,0xA5,0xFF,0xAC,0x04,0xFF,0x93,0x62,0xFF,0x7A,0xC1,0xFF,0x6A,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x72,0x81,0xFF,0xF6,0x09,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x51,
0xFE,0x8A,0x16,0xFE,0x69,0xFE,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xC4,0xC5,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x40,0xFF,0x72,0x60,0xFF,0x72,0x80,0xFF,0x72,0x80,0xFF,0x72,0x60,0xFF,0x6A,0x40,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xC4,0xC6,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFD,0xFE,0x69,0x14,
0x00,0x00,0x00,0xFE,0x69,0xD3,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xAC,0x24,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x40,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x40,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xAC,0x24,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xCE,0x00,0x00,0x00,
0x00,0x00,0x00,0xFE,0x69,0x8E,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xB4,0x24,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xBD,0x51,0xFF,0xD6,0x77,0xFF,0xB5,0x30,0xFF,0x9C,0x0A,0xFF,0x7B,0x25,0xFF,0x6A,0x61,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x61,0xFF,0x7B,0x25,0xFF,0x9C,0x0A,0xFF,0xB5,0x30,0xFF,0xD6,0x77,0xFF,0xBD,0x51,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xB4,0x44,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0x8A,0x00,0x00,0x00,
0x00,0x00,0x00,0xFE,0x69,0x34,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xC4,0xA5,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x61,0xFF,0xDE,0x98,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0x9D,0xFF,0xE6,0xD9,0xFF,0xCE,0x15,0xFF,0xBD,0x92,0xFF,0xB5,0x30,0xFF,0xAC,0xCE,0xFF,0xA4,0x6C,0xFF,0xA4,0x6C,0xFF,0x9C,0x4B,0xFF,0x9C,0x0A,0xFF,0x9C,0x0A,0xFF,0x9C,0x4B,0xFF,0xA4,0x6C,0xFF,0xA4,0x6C,0xFF,0xAC,0xCE,0xFF,0xB5,0x30,0xFF,0xBD,0x92,0xFF,0xCE,0x15,0xFF,0xE6,0xD9,0xFF,0xF7,0x9D,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDE,0x98,0xFF,0x6A,0x41,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xC4,0xA5,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0x30,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0xD3,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xE5,0x87,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x72,0x82,0xFF,0xD6,0x77,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xD6,0x57,0xFF,0x6A,0x61,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xE5,0x87,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xD5,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x74,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xFF,0x72,0xA1,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x40,0xFF,0xBD,0x51,0xFF,0xFF,0xDF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xFF,0xBD,0x51,0xFF,0x6A,0x40,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x72,0xA1,0xFF,0xFE,0x49,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x72,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x29,0x0D,0xFE,0x69,0xEE,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xB4,0x44,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x83,0x25,0xFF,0xD6,0x77,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xD6,0x77,0xFF,0x83,0x25,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xB4,0x44,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xED,0xFE,0x29,0x0D,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x81,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xF6,0x08,0xFF,0x6A,0x60,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x83,0x25,0xFF,0xBD,0x92,0xFF,0xF7,0x9D,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0x9D,0xFF,0xBD,0x92,0xFF,0x7B,0x25,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x60,0xFF,0xF6,0x08,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x7D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x89,0x11,0xFE,0x69,0xEA,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xBC,0x65,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x83,0x25,0xFF,0xA4,0x8D,0xFF,0xC5,0xD4,0xFF,0xDE,0xB8,0xFF,0xEF,0x5C,0xFF,0xF7,0x9D,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0x9D,0xFF,0xEF,0x5C,0xFF,0xDE,0xB8,0xFF,0xC5,0xD4,0xFF,0xA4,0x8C,0xFF,0x83,0x25,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xBC,0x85,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xE8,0xFE,0x6A,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x49,0x62,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xFF,0x8B,0x22,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x8B,0x22,0xFF,0xFE,0x49,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0x5D,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,0xE0,0x01,0xFE,0x69,0xC4,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xED,0xE8,0xFF,0x72,0x81,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x72,0x81,0xFF,0xED,0xE8,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xC1,0xFF,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x6A,0x23,0xFE,0x69,0xF0,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xE5,0x87,0xFF,0x72,0x60,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x72,0x80,0xFF,0xE5,0x87,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xEF,0xFE,0x49,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x49,0x54,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xE5,0x87,0xFF,0x72,0x81,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x72,0xA1,0xFF,0xE5,0x87,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x52,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x8D,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xED,0xE8,0xFF,0x8B,0x22,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x8B,0x22,0xFF,0xF5,0xE8,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x89,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,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,0xE0,0x01,0xFE,0x69,0x9F,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xFF,0xB4,0x45,0xFF,0x6A,0x40,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x40,0xFF,0xB4,0x65,0xFF,0xFE,0x49,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xA5,0xFF,0xF0,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x6C,0x05,0xFE,0x69,0xB5,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xED,0xC8,0xFF,0x9B,0xA3,0xFF,0x6A,0x40,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x40,0xFF,0xA3,0xC3,0xFF,0xED,0xE8,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xB3,0xFE,0x6C,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFD,0xE8,0x04,0xFE,0x69,0x9D,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xED,0xE8,0xFF,0xB4,0x44,0xFF,0x7A,0xC1,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x7A,0xC1,0xFF,0xB4,0x44,0xFF,0xED,0xE8,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xA3,0xFE,0x6C,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,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,0xE0,0x01,0xFE,0x69,0x8B,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xED,0xC8,0xFF,0xC4,0xC5,0xFF,0xA3,0xE4,0xFF,0x93,0x42,0xFF,0x82,0xE1,0xFF,0x7A,0xA1,0xFF,0x7A,0xA1,0xFF,0x82,0xE1,0xFF,0x93,0x42,0xFF,0xA3,0xE4,0xFF,0xC4,0xC5,0xFF,0xED,0xC8,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFE,0xFE,0x69,0x89,0xFF,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x50,0xFE,0x69,0xEE,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xF1,0xFE,0x69,0x56,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x49,0x22,0xFE,0x69,0xC2,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xC1,0xFE,0x49,0x21,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,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,0xE0,0x01,0xFE,0x49,0x5E,0xFE,0x69,0xE9,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xED,0xFE,0x69,0x66,0xFF,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x6A,0x10,0xFE,0x69,0x7E,0xFE,0x69,0xED,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xEC,0xFE,0x69,0x7D,0xFE,0x6A,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xAA,0x0C,0xFE,0x69,0x72,0xFE,0x69,0xD4,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xD3,0xFE,0x49,0x71,0xFE,0xAA,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x49,0x31,0xFE,0x69,0x8B,0xFE,0x69,0xD0,0xFE,0x69,0xFD,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFD,0xFE,0x69,0xCF,0xFE,0x49,0x8A,0xFE,0x49,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x14,0xFE,0x69,0x52,0xFE,0x69,0x7C,0xFE,0x69,0xA5,0xFE,0x49,0xCB,0xFE,0x69,0xDD,0xFE,0x69,0xED,0xFE,0x69,0xF9,0xFE,0x69,0xF9,0xFE,0x69,0xED,0xFE,0x69,0xDD,0xFE,0x49,0xCB,0xFE,0x69,0xA4,0xFE,0x69,0x7C,0xFE,0x69,0x51,0xFE,0x69,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
};
const lv_img_dsc_t ui_img_laughing_png = {
.header.always_zero = 0,
.header.w = 64,
.header.h = 64,
.data_size = sizeof(ui_img_laughing_png_data),
.header.cf = LV_IMG_CF_TRUE_COLOR_ALPHA,
.data = ui_img_laughing_png_data};

View File

@ -0,0 +1,86 @@
// This file was generated by SquareLine Studio
// SquareLine Studio version: SquareLine Studio 1.6.0
// LVGL version: 8.3.11
// Project name: Lcd_Pro
#include "../ui.h"
#ifndef LV_ATTRIBUTE_MEM_ALIGN
#define LV_ATTRIBUTE_MEM_ALIGN
#endif
// IMAGE DATA: assets/neutral.png
const LV_ATTRIBUTE_MEM_ALIGN uint8_t ui_img_neutral_png_data[] = {
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x8A,0x16,0xFE,0x49,0x54,0xFE,0x69,0x7F,0xFE,0x69,0xA7,0xFE,0x69,0xCD,0xFE,0x69,0xDE,0xFE,0x69,0xEE,0xFE,0x69,0xFA,0xFE,0x69,0xFA,0xFE,0x69,0xEE,0xFE,0x69,0xDE,0xFE,0x69,0xCD,0xFE,0x69,0xA6,0xFE,0x69,0x7E,0xFE,0x49,0x53,0xFE,0x8A,0x16,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x49,0x35,0xFE,0x69,0x8E,0xFE,0x69,0xD3,0xFE,0x69,0xFE,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFE,0xFE,0x69,0xD3,0xFE,0x69,0x8D,0xFE,0x69,0x34,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x49,0x0E,0xFE,0x69,0x74,0xFE,0x69,0xD6,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xD5,0xFE,0x69,0x74,0xFE,0x29,0x0D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x28,0x12,0xFE,0x69,0x81,0xFE,0x69,0xEE,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xEE,0xFE,0x49,0x80,0xFE,0x89,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,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,0xE0,0x01,0xFE,0x49,0x5E,0xFE,0x69,0xEA,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xED,0xFE,0x69,0x6F,0xFF,0xF0,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x24,0xFE,0x69,0xC5,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xC4,0xFE,0x6A,0x23,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x51,0xFE,0x69,0xEF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xF2,0xFE,0x49,0x58,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,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,0xF0,0x02,0xFE,0x49,0x8F,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x8D,0xFF,0xF0,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xAA,0x06,0xFE,0x69,0xA6,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xA5,0xFE,0x6C,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xAA,0x06,0xFE,0x69,0xB5,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xB4,0xFE,0x6C,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,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,0xE0,0x01,0xFE,0x69,0xA1,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xA6,0xFF,0xF0,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x49,0x8F,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x8B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x55,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x6A,0x23,0xFE,0x69,0xF0,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xF0,0xFE,0x49,0x22,0x00,0x00,0x00,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,0xE0,0x01,0xFE,0x69,0xC5,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xC2,0xFF,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x64,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x5F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x28,0x12,0xFE,0x69,0xEB,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xE9,0xFE,0x6A,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x82,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x49,0x0E,0xFE,0x69,0xEE,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xED,0xFE,0x29,0x0D,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x74,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x72,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0xD3,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xD5,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0xFE,0x49,0x35,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0x31,0x00,0x00,0x00,
0x00,0x00,0x00,0xFE,0x69,0x8E,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x8B,0x00,0x00,0x00,
0x00,0x00,0x00,0xFE,0x69,0xD4,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xDD,0x47,0xFF,0x93,0x62,0xFF,0x7A,0xC1,0xFF,0x93,0x83,0xFF,0xE5,0x87,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xE5,0x87,0xFF,0x93,0x83,0xFF,0x7A,0xC1,0xFF,0x93,0x42,0xFF,0xDD,0x67,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xCF,0x00,0x00,0x00,
0xFE,0x8A,0x16,0xFE,0x69,0xFE,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xCC,0xE6,0xFF,0x6A,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x40,0xFF,0xDD,0x67,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xDD,0x47,0xFF,0x6A,0x40,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x20,0xFF,0xCD,0x06,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFE,0xFE,0x69,0x14,
0xFE,0x49,0x54,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xF5,0xE8,0xFF,0x6A,0x60,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x7A,0xA1,0xFF,0xFE,0x29,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x29,0xFF,0x72,0xA1,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x60,0xFF,0xF6,0x08,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x52,
0xFE,0x49,0x80,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xB4,0x44,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xC4,0xC6,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xC4,0xC5,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xB4,0x44,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x7D,
0xFE,0x69,0xA7,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x83,0x02,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x9B,0x83,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x93,0x83,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x8B,0x02,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xA4,
0xFE,0x69,0xCC,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x6A,0x60,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x82,0xE1,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x7A,0xE1,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x72,0x60,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xCA,
0xFE,0x69,0xE0,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x6A,0x40,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x7A,0xA1,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x7A,0xA1,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x40,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xDE,
0xFE,0x69,0xED,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x72,0x80,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x83,0x02,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x83,0x02,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x72,0x81,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xEB,
0xFE,0x69,0xF9,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x93,0x62,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xA3,0xE4,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xA3,0xC3,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x93,0x62,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xF8,
0xFE,0x69,0xF9,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xC4,0xC6,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xDD,0x47,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xDD,0x47,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xCC,0xE6,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xF8,
0xFE,0x69,0xED,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xFF,0x82,0xE1,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x93,0x62,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x93,0x62,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x82,0xE1,0xFF,0xFE,0x49,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xEB,
0xFE,0x69,0xE0,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xED,0xC8,0xFF,0x7A,0xC1,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x83,0x02,0xFF,0xF6,0x09,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xF6,0x08,0xFF,0x83,0x02,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x7A,0xC1,0xFF,0xED,0xE8,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xDE,
0xFE,0x69,0xCC,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x29,0xFF,0xC4,0xC6,0xFF,0xB4,0x24,0xFF,0xCC,0xE6,0xFF,0xFE,0x49,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xFF,0xCC,0xE6,0xFF,0xB4,0x24,0xFF,0xC4,0xC6,0xFF,0xFE,0x29,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xCA,
0xFE,0x69,0xA6,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xA3,
0xFE,0x69,0x7F,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x7C,
0xFE,0x49,0x53,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x51,
0xFE,0x8A,0x16,0xFE,0x69,0xFE,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFD,0xFE,0x69,0x14,
0x00,0x00,0x00,0xFE,0x69,0xD3,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xCE,0x00,0x00,0x00,
0x00,0x00,0x00,0xFE,0x69,0x8E,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0x8A,0x00,0x00,0x00,
0x00,0x00,0x00,0xFE,0x69,0x34,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0x30,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0xD3,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xD5,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x74,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x72,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x29,0x0D,0xFE,0x69,0xEE,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xED,0xFE,0x29,0x0D,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x81,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x7D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x89,0x11,0xFE,0x69,0xEA,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xE8,0xFE,0x6A,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x49,0x62,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0x5D,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,0xE0,0x01,0xFE,0x69,0xC4,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xC1,0xFF,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x6A,0x23,0xFE,0x69,0xF0,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xEF,0xFE,0x49,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x49,0x54,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x52,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x8D,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x89,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,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,0xE0,0x01,0xFE,0x69,0x9F,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xA5,0xFF,0xF0,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x6C,0x05,0xFE,0x69,0xB5,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xB3,0xFE,0x6C,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFD,0xE8,0x04,0xFE,0x69,0x9D,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xA3,0xFE,0x6C,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,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,0xE0,0x01,0xFE,0x69,0x8B,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFE,0xFE,0x69,0x89,0xFF,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x50,0xFE,0x69,0xEE,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xF1,0xFE,0x69,0x56,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x49,0x22,0xFE,0x69,0xC2,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xC1,0xFE,0x49,0x21,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,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,0xE0,0x01,0xFE,0x49,0x5E,0xFE,0x69,0xE9,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xED,0xFE,0x69,0x66,0xFF,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x6A,0x10,0xFE,0x69,0x7E,0xFE,0x69,0xED,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xEC,0xFE,0x69,0x7D,0xFE,0x6A,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xAA,0x0C,0xFE,0x69,0x72,0xFE,0x69,0xD4,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xD3,0xFE,0x49,0x71,0xFE,0xAA,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x49,0x31,0xFE,0x69,0x8B,0xFE,0x69,0xD0,0xFE,0x69,0xFD,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFD,0xFE,0x69,0xCF,0xFE,0x49,0x8A,0xFE,0x49,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x14,0xFE,0x69,0x52,0xFE,0x69,0x7C,0xFE,0x69,0xA5,0xFE,0x49,0xCB,0xFE,0x69,0xDD,0xFE,0x69,0xED,0xFE,0x69,0xF9,0xFE,0x69,0xF9,0xFE,0x69,0xED,0xFE,0x69,0xDD,0xFE,0x49,0xCB,0xFE,0x69,0xA4,0xFE,0x69,0x7C,0xFE,0x69,0x51,0xFE,0x69,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
};
const lv_img_dsc_t ui_img_neutral_png = {
.header.always_zero = 0,
.header.w = 64,
.header.h = 64,
.data_size = sizeof(ui_img_neutral_png_data),
.header.cf = LV_IMG_CF_TRUE_COLOR_ALPHA,
.data = ui_img_neutral_png_data};

View File

@ -0,0 +1,86 @@
// This file was generated by SquareLine Studio
// SquareLine Studio version: SquareLine Studio 1.6.0
// LVGL version: 8.3.11
// Project name: Lcd_Pro
#include "../ui.h"
#ifndef LV_ATTRIBUTE_MEM_ALIGN
#define LV_ATTRIBUTE_MEM_ALIGN
#endif
// IMAGE DATA: assets/sad.png
const LV_ATTRIBUTE_MEM_ALIGN uint8_t ui_img_sad_png_data[] = {
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x8A,0x16,0xFE,0x49,0x54,0xFE,0x69,0x7F,0xFE,0x69,0xA7,0xFE,0x69,0xCD,0xFE,0x69,0xDE,0xFE,0x69,0xEE,0xFE,0x69,0xFA,0xFE,0x69,0xFA,0xFE,0x69,0xEE,0xFE,0x69,0xDE,0xFE,0x69,0xCD,0xFE,0x69,0xA6,0xFE,0x69,0x7E,0xFE,0x49,0x53,0xFE,0x8A,0x16,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x49,0x35,0xFE,0x69,0x8E,0xFE,0x69,0xD3,0xFE,0x69,0xFE,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFE,0xFE,0x69,0xD3,0xFE,0x69,0x8D,0xFE,0x69,0x34,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x49,0x0E,0xFE,0x69,0x74,0xFE,0x69,0xD6,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xD5,0xFE,0x69,0x74,0xFE,0x29,0x0D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x28,0x12,0xFE,0x69,0x81,0xFE,0x69,0xEE,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xEE,0xFE,0x49,0x80,0xFE,0x89,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,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,0xE0,0x01,0xFE,0x49,0x5E,0xFE,0x69,0xEA,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xED,0xFE,0x69,0x6F,0xFF,0xF0,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x24,0xFE,0x69,0xC5,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xC4,0xFE,0x6A,0x23,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x51,0xFE,0x69,0xEF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xF2,0xFE,0x49,0x58,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,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,0xF0,0x02,0xFE,0x49,0x8F,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x8D,0xFF,0xF0,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xAA,0x06,0xFE,0x69,0xA6,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xA5,0xFE,0x6C,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xAA,0x06,0xFE,0x69,0xB5,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xB4,0xFE,0x6C,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,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,0xE0,0x01,0xFE,0x69,0xA1,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xA6,0xFF,0xF0,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x49,0x8F,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x8B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x55,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x6A,0x23,0xFE,0x69,0xF0,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xF0,0xFE,0x49,0x22,0x00,0x00,0x00,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,0xE0,0x01,0xFE,0x69,0xC5,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xF6,0x09,0xFF,0xA3,0xC3,0xFF,0x93,0x83,0xFF,0xE5,0xA8,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xE5,0xA8,0xFF,0x93,0x83,0xFF,0xA3,0xC3,0xFF,0xF6,0x09,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xC2,0xFF,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x64,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x29,0xFF,0x8B,0x02,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x8B,0x22,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x8B,0x02,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x8B,0x22,0xFF,0xFE,0x49,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x5F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x28,0x12,0xFE,0x69,0xEB,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xFF,0x9B,0x83,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x8B,0x22,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x8B,0x22,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x9B,0x83,0xFF,0xFE,0x49,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xE9,0xFE,0x6A,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x82,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x29,0xFF,0x9B,0x83,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x60,0xFF,0xE5,0x87,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xE5,0x87,0xFF,0x6A,0x60,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x9B,0x83,0xFF,0xFE,0x29,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x49,0x0E,0xFE,0x69,0xEE,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xED,0xC8,0xFF,0x83,0x02,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x20,0xFF,0xD5,0x26,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xD5,0x26,0xFF,0x6A,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x83,0x02,0xFF,0xED,0xC8,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xED,0xFE,0x29,0x0D,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x74,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x29,0xFF,0xB4,0x44,0xFF,0x6A,0x40,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x20,0xFF,0xC4,0xC6,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xC4,0xC5,0xFF,0x6A,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x40,0xFF,0xB4,0x45,0xFF,0xFE,0x29,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x72,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0xD3,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xFF,0xE5,0x87,0xFF,0xAC,0x04,0xFF,0x72,0x60,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x60,0xFF,0xD5,0x26,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xD5,0x26,0xFF,0x6A,0x60,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x72,0x60,0xFF,0xAC,0x24,0xFF,0xE5,0x87,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xD5,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0xFE,0x49,0x35,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xDD,0x87,0xFF,0xA3,0xC3,0xFF,0x8B,0x22,0xFF,0x72,0x60,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x82,0xE1,0xFF,0xE5,0xA8,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xE5,0xA8,0xFF,0x82,0xE1,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x72,0x60,0xFF,0x8B,0x22,0xFF,0xA3,0xC3,0xFF,0xDD,0x87,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0x31,0x00,0x00,0x00,
0x00,0x00,0x00,0xFE,0x69,0x8E,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xFF,0x72,0x60,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x60,0xFF,0xBC,0x85,0xFF,0xFE,0x49,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xFF,0xBC,0x85,0xFF,0x6A,0x60,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x72,0x80,0xFF,0xFE,0x49,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x8B,0x00,0x00,0x00,
0x00,0x00,0x00,0xFE,0x69,0xD4,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x29,0xFF,0x6A,0x40,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x7A,0xA1,0xFF,0xBC,0x65,0xFF,0xF6,0x29,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xF6,0x09,0xFF,0xBC,0x65,0xFF,0x7A,0xA1,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x40,0xFF,0xFE,0x29,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xCF,0x00,0x00,0x00,
0xFE,0x8A,0x16,0xFE,0x69,0xFE,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xC4,0xC6,0xFF,0x7A,0xE1,0xFF,0x82,0xE1,0xFF,0x93,0x83,0xFF,0xB4,0x65,0xFF,0xE5,0x87,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xFF,0xE5,0x87,0xFF,0xB4,0x45,0xFF,0x93,0x83,0xFF,0x82,0xE1,0xFF,0x7A,0xE1,0xFF,0xC4,0xC6,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFE,0xFE,0x69,0x14,
0xFE,0x49,0x54,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x52,
0xFE,0x49,0x80,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x7D,
0xFE,0x69,0xA7,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xA4,
0xFE,0x69,0xCC,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xCA,
0xFE,0x69,0xE0,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xDE,
0xFE,0x69,0xED,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xEB,
0xFE,0x69,0xF9,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xA3,0xE4,0xFF,0x93,0x63,0xFF,0xDD,0x67,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xED,0xC8,0xFF,0xA3,0xE3,0xFF,0x8B,0x42,0xFF,0xFE,0x49,0xFF,0xFE,0x49,0xFF,0x8B,0x22,0xFF,0xA3,0xE4,0xFF,0xED,0xC8,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xDD,0x67,0xFF,0x93,0x62,0xFF,0xA3,0xE4,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xF8,
0xFE,0x69,0xF9,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x93,0x62,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x82,0xE1,0xFF,0xAC,0x04,0xFF,0xCC,0xE6,0xFF,0xDD,0x47,0xFF,0xE5,0xA8,0xFF,0xED,0xC8,0xFF,0xDD,0x67,0xFF,0xCD,0x06,0xFF,0xB4,0x44,0xFF,0x8B,0x02,0xFF,0x6A,0x20,0xFF,0x62,0x20,0xFF,0x72,0x80,0xFF,0xFE,0x49,0xFF,0xFE,0x49,0xFF,0x72,0x80,0xFF,0x62,0x20,0xFF,0x6A,0x20,0xFF,0x8B,0x22,0xFF,0xB4,0x44,0xFF,0xCD,0x06,0xFF,0xDD,0x67,0xFF,0xED,0xC8,0xFF,0xE5,0xA8,0xFF,0xDD,0x47,0xFF,0xCC,0xE6,0xFF,0xAC,0x04,0xFF,0x7A,0xC1,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x93,0x62,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xF8,
0xFE,0x69,0xED,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xE5,0x87,0xFF,0x6A,0x40,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xC4,0xC6,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xC4,0xC5,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x40,0xFF,0xE5,0xA7,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xEB,
0xFE,0x69,0xE0,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xBC,0x85,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x9B,0x83,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x9B,0xA3,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xBC,0x85,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xDE,
0xFE,0x69,0xCC,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xFF,0x9B,0xA3,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x83,0x02,0xFF,0xF6,0x29,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xF6,0x29,0xFF,0x82,0xE1,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0xA3,0xC3,0xFF,0xFE,0x49,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xCA,
0xFE,0x69,0xA6,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xFF,0xAC,0x04,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x93,0x63,0xFF,0xF6,0x29,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xF6,0x29,0xFF,0x93,0x62,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x20,0xFF,0xAC,0x24,0xFF,0xFE,0x49,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xA3,
0xFE,0x69,0x7F,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xDD,0x67,0xFF,0x9B,0x83,0xFF,0x6A,0x40,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x8B,0x22,0xFF,0xCD,0x06,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xCC,0xE6,0xFF,0x8B,0x22,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x6A,0x40,0xFF,0x9B,0x83,0xFF,0xDD,0x67,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x7C,
0xFE,0x49,0x53,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xFF,0xED,0xC8,0xFF,0xE5,0xA8,0xFF,0xFE,0x29,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x29,0xFF,0xE5,0xA8,0xFF,0xED,0xC8,0xFF,0xFE,0x49,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x51,
0xFE,0x8A,0x16,0xFE,0x69,0xFE,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFD,0xFE,0x69,0x14,
0x00,0x00,0x00,0xFE,0x69,0xD3,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xCE,0x00,0x00,0x00,
0x00,0x00,0x00,0xFE,0x69,0x8E,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0x8A,0x00,0x00,0x00,
0x00,0x00,0x00,0xFE,0x69,0x34,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0x30,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0xD3,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xD5,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x74,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x72,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x29,0x0D,0xFE,0x69,0xEE,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xED,0xFE,0x29,0x0D,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x81,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xE5,0xA8,0xFF,0x93,0x63,0xFF,0x83,0x01,0xFF,0x83,0x01,0xFF,0x83,0x01,0xFF,0x83,0x01,0xFF,0x83,0x01,0xFF,0x83,0x01,0xFF,0x83,0x01,0xFF,0x83,0x01,0xFF,0x83,0x01,0xFF,0x83,0x01,0xFF,0x83,0x01,0xFF,0x83,0x01,0xFF,0x83,0x01,0xFF,0x83,0x01,0xFF,0x93,0x63,0xFF,0xE5,0xA8,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x7D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x89,0x11,0xFE,0x69,0xEA,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x8B,0x22,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x8B,0x22,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xE8,0xFE,0x6A,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x49,0x62,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0x8B,0x22,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x62,0x20,0xFF,0x8B,0x22,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0x5D,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,0xE0,0x01,0xFE,0x69,0xC4,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xE5,0xA8,0xFF,0x93,0x63,0xFF,0x83,0x01,0xFF,0x83,0x01,0xFF,0x83,0x01,0xFF,0x83,0x01,0xFF,0x83,0x01,0xFF,0x83,0x01,0xFF,0x83,0x01,0xFF,0x83,0x01,0xFF,0x83,0x01,0xFF,0x83,0x01,0xFF,0x83,0x01,0xFF,0x83,0x01,0xFF,0x83,0x01,0xFF,0x83,0x01,0xFF,0x93,0x63,0xFF,0xE5,0xA8,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xC1,0xFF,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x6A,0x23,0xFE,0x69,0xF0,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xEF,0xFE,0x49,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x49,0x54,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x52,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x8D,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0x89,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,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,0xE0,0x01,0xFE,0x69,0x9F,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xA5,0xFF,0xF0,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x6C,0x05,0xFE,0x69,0xB5,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xB3,0xFE,0x6C,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFD,0xE8,0x04,0xFE,0x69,0x9D,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xA3,0xFE,0x6C,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,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,0xE0,0x01,0xFE,0x69,0x8B,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFE,0xFE,0x69,0x89,0xFF,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x50,0xFE,0x69,0xEE,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xF1,0xFE,0x69,0x56,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x49,0x22,0xFE,0x69,0xC2,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x49,0xC1,0xFE,0x49,0x21,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,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,0xE0,0x01,0xFE,0x49,0x5E,0xFE,0x69,0xE9,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xED,0xFE,0x69,0x66,0xFF,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x6A,0x10,0xFE,0x69,0x7E,0xFE,0x69,0xED,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xEC,0xFE,0x69,0x7D,0xFE,0x6A,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xAA,0x0C,0xFE,0x69,0x72,0xFE,0x69,0xD4,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xD3,0xFE,0x49,0x71,0xFE,0xAA,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x49,0x31,0xFE,0x69,0x8B,0xFE,0x69,0xD0,0xFE,0x69,0xFD,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFF,0xFE,0x69,0xFD,0xFE,0x69,0xCF,0xFE,0x49,0x8A,0xFE,0x49,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x69,0x14,0xFE,0x69,0x52,0xFE,0x69,0x7C,0xFE,0x69,0xA5,0xFE,0x49,0xCB,0xFE,0x69,0xDD,0xFE,0x69,0xED,0xFE,0x69,0xF9,0xFE,0x69,0xF9,0xFE,0x69,0xED,0xFE,0x69,0xDD,0xFE,0x49,0xCB,0xFE,0x69,0xA4,0xFE,0x69,0x7C,0xFE,0x69,0x51,0xFE,0x69,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
};
const lv_img_dsc_t ui_img_sad_png = {
.header.always_zero = 0,
.header.w = 64,
.header.h = 64,
.data_size = sizeof(ui_img_sad_png_data),
.header.cf = LV_IMG_CF_TRUE_COLOR_ALPHA,
.data = ui_img_sad_png_data};

View File

@ -9,7 +9,7 @@
#include "esp_log.h" // 用于日志输出
extern void init_spiffs_image_list(void);
extern void update_ui_ImgBle(const char *img_name);
extern bool update_ui_ImgBle(const char *img_name);
extern void free_spiffs_image_list(void);
extern const char* get_next_image(void);
extern const char* get_prev_image(void);
@ -124,16 +124,22 @@ lv_indev_wait_release(lv_indev_get_act());
}
if ( event_code == LV_EVENT_GESTURE && lv_indev_get_gesture_dir(lv_indev_get_act()) == LV_DIR_LEFT ) {
lv_indev_wait_release(lv_indev_get_act());
const char *next_img = get_next_image();
if(next_img) {
update_ui_ImgBle(next_img);
// 解码失败时自动跳过,最多尝试全部图片避免死循环
for(int try = 0; try < 10; try++) {
const char *next_img = get_next_image();
if(!next_img) break;
if(update_ui_ImgBle(next_img)) break;
ESP_LOGW("ScreenImg", "跳过无效图片,继续下一张");
}
}
if ( event_code == LV_EVENT_GESTURE && lv_indev_get_gesture_dir(lv_indev_get_act()) == LV_DIR_RIGHT ) {
lv_indev_wait_release(lv_indev_get_act());
const char *prev_img = get_prev_image();
if(prev_img) {
update_ui_ImgBle(prev_img);
// 解码失败时自动跳过,最多尝试全部图片避免死循环
for(int try = 0; try < 10; try++) {
const char *prev_img = get_prev_image();
if(!prev_img) break;
if(update_ui_ImgBle(prev_img)) break;
ESP_LOGW("ScreenImg", "跳过无效图片,继续上一张");
}
}
}

View File

@ -21,7 +21,7 @@ extern lv_obj_t *ui_ImageDel;
extern lv_obj_t *ui_ImageReturn;
extern void init_spiffs_image_list(void);
extern void update_ui_ImgBle(const char *img_name);
extern bool update_ui_ImgBle(const char *img_name);
extern void free_spiffs_image_list(void);
extern const char* get_next_image(void);
extern const char* get_prev_image(void);

View File

@ -35,6 +35,13 @@ LV_IMG_DECLARE( ui_img_s10_png); // assets/s10.png
LV_IMG_DECLARE( ui_img_s1_png); // assets/s1.png
LV_IMG_DECLARE( ui_img_s13_png); // assets/s13.png
LV_IMG_DECLARE( ui_img_s14_png); // assets/s14.png
LV_IMG_DECLARE( ui_img_neutral_png); // emoji: 中性
LV_IMG_DECLARE( ui_img_happy_png); // emoji: 开心
LV_IMG_DECLARE( ui_img_sad_png); // emoji: 伤心
LV_IMG_DECLARE( ui_img_angry_png); // emoji: 生气
LV_IMG_DECLARE( ui_img_crying_png); // emoji: 哭泣
LV_IMG_DECLARE( ui_img_funny_png); // emoji: 滑稽
LV_IMG_DECLARE( ui_img_laughing_png); // emoji: 大笑
// UI INIT
void ui_init(void);

View File

@ -0,0 +1 @@
defb83669293cbf86d0fa86b475ba5517aceed04ed70db435388c151ab37b5d7

View File

@ -0,0 +1,40 @@
## 1.3.1
- Fixed the format of Kconfig file
## 1.3.0
- Added option to get image size without decoding it
## 1.2.1
- Fixed decoding of non-conforming 0xFFFF marker
## 1.2.0
- Added option to for passing user defined working buffer
## 1.1.0
- Added support for decoding images without Huffman tables
- Fixed undefined configuration options from Kconfig
## 1.0.5~3
- Added option to swap output color bytes regardless of JD_FORMAT
## 1.0.4
- Added ROM implementation support for ESP32-C6
## 1.0.2
- Fixed compiler warnings
## 1.0.1
- Fixed: exclude ESP32-C2 from list of ROM implementations
## 1.0.0
- Initial version

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,14 @@
set(sources "jpeg_decoder.c")
set(includes "include")
# Compile only when cannot use ROM code
if(NOT CONFIG_JD_USE_ROM)
list(APPEND sources "tjpgd/tjpgd.c")
list(APPEND includes "tjpgd")
endif()
if(CONFIG_JD_DEFAULT_HUFFMAN)
list(APPEND sources "jpeg_default_huffman_table.c")
endif()
idf_component_register(SRCS ${sources} INCLUDE_DIRS ${includes})

View File

@ -0,0 +1,80 @@
menu "JPEG Decoder"
config JD_USE_ROM
bool "Use TinyJPG Decoder from ROM"
depends on ESP_ROM_HAS_JPEG_DECODE
default y
help
By default, Espressif SoCs use TJpg decoder implemented in ROM code.
If this feature is disabled, new configuration of TJpg decoder can be used.
Refer to REAME.md for more details.
config JD_SZBUF
int "Size of stream input buffer"
depends on !JD_USE_ROM
default 512
config JD_FORMAT
int
depends on !JD_USE_ROM
default 0 if JD_FORMAT_RGB888
default 1 if JD_FORMAT_RGB565
choice
prompt "Output pixel format"
depends on !JD_USE_ROM
default JD_FORMAT_RGB888
help
Output format is selected at runtime.
config JD_FORMAT_RGB888
bool "Support RGB565 and RGB888 output (16-bit/pix and 24-bit/pix)"
config JD_FORMAT_RGB565
bool "Support RGB565 output (16-bit/pix)"
endchoice
config JD_USE_SCALE
bool "Enable descaling"
depends on !JD_USE_ROM
default y
help
If scaling is enabled, size of output image can be lowered during decoding.
config JD_TBLCLIP
bool "Use table conversion for saturation arithmetic"
depends on !JD_USE_ROM
default y
help
Use table conversion for saturation arithmetic. A bit faster, but increases 1 KB of code size.
config JD_FASTDECODE
int
depends on !JD_USE_ROM
default 0 if JD_FASTDECODE_BASIC
default 1 if JD_FASTDECODE_32BIT
default 2 if JD_FASTDECODE_TABLE
choice
prompt "Optimization level"
depends on !JD_USE_ROM
default JD_FASTDECODE_32BIT
config JD_FASTDECODE_BASIC
bool "Basic optimization. Suitable for 8/16-bit MCUs"
config JD_FASTDECODE_32BIT
bool "+ 32-bit barrel shifter. Suitable for 32-bit MCUs"
config JD_FASTDECODE_TABLE
bool "+ Table conversion for huffman decoding (wants 6 << HUFF_BIT bytes of RAM)"
endchoice
config JD_DEFAULT_HUFFMAN
bool "Support images without Huffman table"
depends on !JD_USE_ROM
default n
help
Enable this option to support decoding JPEG images that lack an embedded Huffman table.
When enabled, a default Huffman table is used during decoding, allowing the JPEG decoder to handle
images without explicitly provided Huffman tables.
Note: Enabling this option increases ROM usage due to the inclusion of default Huffman tables.
endmenu

View File

@ -0,0 +1,112 @@
# JPEG Decoder: TJpgDec - Tiny JPEG Decompressor
[![Component Registry](https://components.espressif.com/components/espressif/esp_jpeg/badge.svg)](https://components.espressif.com/components/espressif/esp_jpeg)
![maintenance-status](https://img.shields.io/badge/maintenance-actively--developed-brightgreen.svg)
TJpgDec is a lightweight JPEG image decompressor optimized for embedded systems with minimal memory consumption.
On some microcontrollers, TJpgDec is available in ROM and will be used by default, though this can be disabled in menuconfig if desired[^1].
[^1]: **_NOTE:_** When the ROM decoder is used, the configuration can't be changed. The configuration is fixed.
## Features
**Compilation configuration:**
- Stream input buffer size (default: 512 bytes)
- Output pixel format (default: RGB888; options: RGB888/RGB565)
- Enable/disable output descaling (default: enabled)
- Use table-based saturation for arithmetic operations (default: enabled)
- Use default Huffman tables: Useful from decoding frames from cameras, that do not provide Huffman tables (default: disabled to save ROM)
- Three optimization levels (default: 32-bit MCUs) for different CPU types:
- 8/16-bit MCUs
- 32-bit MCUs
- Table-based Huffman decoding
**Runtime configuration:**
- Pixel format options: RGB888, RGB565
- Selectable scaling ratios: 1/1, 1/2, 1/4, or 1/8 (chosen at decompression)
- Option to swap the first and last bytes of color values
## TJpgDec in ROM
On certain microcontrollers, TJpgDec is available in ROM and used by default. This can be disabled in menuconfig if you prefer to use the library code provided in this component.
### List of MCUs, which have TJpgDec in ROM
- ESP32
- ESP32-S3
- ESP32-C3
- ESP32-C6
- ESP32-C5
- ESP32-C61
### Fixed compilation configuration of the ROM code
The ROM version uses the following fixed settings:
- Stream input buffer: 512 bytes
- Output pixel format: RGB888
- Output descaling: enabled
- Saturation table: enabled
- Optimization level: Basic (JD_FASTDECODE = 0)
### Pros and cons using ROM code
**Advantages:**
- Saves approximately 5 KB of flash memory with the same configuration
**Disadvantages:**
- Compilation configuration cannot be changed
- Certain configurations may provide faster performance
## Speed comparison
The table below shows example decoding times for a JPEG image using various configurations:
* Image size: 320 x 180 px
* Output format: RGB565
* CPU: ESP32-S3
* CPU frequency: 240 MHz
* SPI mode: DIO
* Internal RAM used
* Measured in 1000 retries
| ROM used | JD_SZBUF | JD_FORMAT | JD_USE_SCALE | JD_TBLCLIP | JD_FASTDECODE | RAM buffer | Flash size | Approx. time |
| :------: | :------: | :-------: | :----------: | :--------: | :-----------: | :--------: | :--------: | :----------: |
| YES | 512 | RGB888 | 1 | 1 | 0 | 3.1 kB | 0 kB | 52 ms |
| NO | 512 | RGB888 | 1 | 1 | 0 | 3.1 kB | 5 kB | 50 ms |
| NO | 512 | RGB888 | 1 | 0 | 0 | 3.1 kB | 4 kB | 68 ms |
| NO | 512 | RGB888 | 1 | 1 | 1 | 3.1 kB | 5 kB | 50 ms |
| NO | 512 | RGB888 | 1 | 0 | 1 | 3.1 kB | 4 kB | 62 ms |
| NO | 512 | RGB888 | 1 | 1 | 2 | 65.5 kB | 5.5 kB | 46 ms |
| NO | 512 | RGB888 | 1 | 0 | 2 | 65.5 kB | 4.5 kB | 59 ms |
| NO | 512 | RGB565 | 1 | 1 | 0 | 5 kB | 5 kB | 60 ms |
| NO | 512 | RGB565 | 1 | 1 | 1 | 5 kB | 5 kB | 59 ms |
| NO | 512 | RGB565 | 1 | 1 | 2 | 65.5 kB | 5.5 kB | 56 ms |
## Add to project
Packages from this repository are uploaded to [Espressif's component service](https://components.espressif.com/).
You can add them to your project via `idf.py add-dependancy`, e.g.
```
idf.py add-dependency esp_jpeg==1.0.0
```
Alternatively, you can create `idf_component.yml`. More is in [Espressif's documentation](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/tools/idf-component-manager.html).
## Example use
Here is example of usage. This calling is **blocking**.
```
esp_jpeg_image_cfg_t jpeg_cfg = {
.indata = (uint8_t *)jpeg_img_buf,
.indata_size = jpeg_img_buf_size,
.outbuf = out_img_buf,
.outbuf_size = out_img_buf_size,
.out_format = JPEG_IMAGE_OUT_FORMAT_RGB565,
.out_scale = JPEG_IMAGE_SCALE_0,
.flags = {
.swap_color_bytes = 1,
}
};
esp_jpeg_image_output_t outimg;
esp_jpeg_decode(&jpeg_cfg, &outimg);
```

Some files were not shown because too many files have changed in this diff Show More