diff --git a/bsp/hpmicro/hpm6750evk2/board/linker_scripts/flash_rtt.ld b/bsp/hpmicro/hpm6750evk2/board/linker_scripts/flash_rtt.ld
index a95394ba71..5317b8a6f8 100644
--- a/bsp/hpmicro/hpm6750evk2/board/linker_scripts/flash_rtt.ld
+++ b/bsp/hpmicro/hpm6750evk2/board/linker_scripts/flash_rtt.ld
@@ -111,12 +111,6 @@ SECTIONS
KEEP (*(.fini))
. = ALIGN(8);
- /* section information for usbh class */
- . = ALIGN(8);
- __usbh_class_info_start__ = .;
- KEEP(*(.usbh_class_info))
- __usbh_class_info_end__ = .;
-
/*********************************************
*
* RT-Thread related sections - Start
diff --git a/components/drivers/usb/cherryusb/Kconfig b/components/drivers/usb/cherryusb/Kconfig
index fdd5bbc7e8..3e9ce5f1d9 100644
--- a/components/drivers/usb/cherryusb/Kconfig
+++ b/components/drivers/usb/cherryusb/Kconfig
@@ -36,12 +36,16 @@ if RT_USING_CHERRYUSB
bool "dwc2_at"
config RT_CHERRYUSB_DEVICE_DWC2_GD
bool "dwc2_gd"
+ config RT_CHERRYUSB_DEVICE_DWC2_HC
+ bool "dwc2_hc"
config RT_CHERRYUSB_DEVICE_DWC2_CUSTOM
bool "dwc2_custom"
- config RT_CHERRYUSB_DEVICE_MUSB_STANDARD
- bool "musb_standard"
+ config RT_CHERRYUSB_DEVICE_MUSB_ES
+ bool "musb_es"
config RT_CHERRYUSB_DEVICE_MUSB_SUNXI
bool "musb_sunxi"
+ config RT_CHERRYUSB_DEVICE_MUSB_BK
+ bool "musb_bk"
config RT_CHERRYUSB_DEVICE_MUSB_CUSTOM
bool "musb_custom"
config RT_CHERRYUSB_DEVICE_BL
@@ -170,10 +174,12 @@ if RT_USING_CHERRYUSB
bool "dwc2_esp"
config RT_CHERRYUSB_HOST_DWC2_CUSTOM
bool "dwc2_custom"
- config RT_CHERRYUSB_HOST_MUSB_STANDARD
- bool "musb_standard"
+ config RT_CHERRYUSB_HOST_MUSB_ES
+ bool "musb_es"
config RT_CHERRYUSB_HOST_MUSB_SUNXI
bool "musb_sunxi"
+ config RT_CHERRYUSB_HOST_MUSB_BK
+ bool "musb_bk"
config RT_CHERRYUSB_HOST_MUSB_CUSTOM
bool "musb_custom"
config RT_CHERRYUSB_HOST_PUSB2
@@ -242,7 +248,7 @@ if RT_USING_CHERRYUSB
prompt "Enable usb asix driver"
select RT_USING_LWIP
select RT_USING_LWIP212
- select CONFIG_USBHOST_PLATFORM_CDC_ASIX
+ select CONFIG_USBHOST_PLATFORM_ASIX
default n
config RT_CHERRYUSB_HOST_RTL8152
@@ -250,7 +256,7 @@ if RT_USING_CHERRYUSB
prompt "Enable usb rtl8152 driver"
select RT_USING_LWIP
select RT_USING_LWIP212
- select CONFIG_USBHOST_PLATFORM_CDC_RTL8152
+ select CONFIG_USBHOST_PLATFORM_RTL8152
default n
config RT_CHERRYUSB_HOST_FTDI
@@ -285,7 +291,7 @@ if RT_USING_CHERRYUSB
config CONFIG_USBHOST_PLATFORM_ASIX
bool
- config CONFIG_USBHOST_PLATFORM_RTL152
+ config CONFIG_USBHOST_PLATFORM_RTL8152
bool
config CHERRYUSB_HOST_TEMPLATE
diff --git a/components/drivers/usb/cherryusb/Kconfig.cherryusb b/components/drivers/usb/cherryusb/Kconfig.cherryusb
index 1f667e733a..4d44a7506d 100644
--- a/components/drivers/usb/cherryusb/Kconfig.cherryusb
+++ b/components/drivers/usb/cherryusb/Kconfig.cherryusb
@@ -36,12 +36,16 @@ if CHERRYUSB
bool "dwc2_at"
config CHERRYUSB_DEVICE_DWC2_GD
bool "dwc2_gd"
+ config CHERRYUSB_DEVICE_DWC2_HC
+ bool "dwc2_hc"
config CHERRYUSB_DEVICE_DWC2_CUSTOM
bool "dwc2_custom"
- config CHERRYUSB_DEVICE_MUSB_STANDARD
- bool "musb_standard"
+ config CHERRYUSB_DEVICE_MUSB_ES
+ bool "musb_es"
config CHERRYUSB_DEVICE_MUSB_SUNXI
bool "musb_sunxi"
+ config CHERRYUSB_DEVICE_MUSB_BK
+ bool "musb_bk"
config CHERRYUSB_DEVICE_MUSB_CUSTOM
bool "musb_custom"
config CHERRYUSB_DEVICE_BL
@@ -168,12 +172,16 @@ if CHERRYUSB
bool "dwc2_st"
config CHERRYUSB_HOST_DWC2_ESP
bool "dwc2_esp"
+ config CHERRYUSB_HOST_DWC2_HC
+ bool "dwc2_hc"
config CHERRYUSB_HOST_DWC2_CUSTOM
bool "dwc2_custom"
- config CHERRYUSB_HOST_MUSB_STANDARD
- bool "musb_standard"
+ config CHERRYUSB_HOST_MUSB_ES
+ bool "musb_es"
config CHERRYUSB_HOST_MUSB_SUNXI
bool "musb_sunxi"
+ config CHERRYUSB_HOST_MUSB_BK
+ bool "musb_bk"
config CHERRYUSB_HOST_MUSB_CUSTOM
bool "musb_custom"
config CHERRYUSB_HOST_PUSB2
@@ -274,7 +282,7 @@ if CHERRYUSB
config USBHOST_PLATFORM_ASIX
bool
- config USBHOST_PLATFORM_RTL152
+ config USBHOST_PLATFORM_RTL8152
bool
config CHERRYUSB_HOST_TEMPLATE
@@ -295,7 +303,7 @@ if CHERRYUSB
depends on CHERRYUSB_HOST_HID
config TEST_USBH_MSC
int
- prompt "demo for test msc, do not enable because it has used dfs instead"
+ prompt "demo for test msc"
default 0
depends on CHERRYUSB_HOST_MSC
endif
diff --git a/components/drivers/usb/cherryusb/README.md b/components/drivers/usb/cherryusb/README.md
index 77daee4b14..d79df88751 100644
--- a/components/drivers/usb/cherryusb/README.md
+++ b/components/drivers/usb/cherryusb/README.md
@@ -94,8 +94,8 @@ CherryUSB Host Stack has the following functions:
- Support Communication Device Class (CDC_ACM, CDC_ECM)
- Support Human Interface Device (HID)
- Support Mass Storage Class (MSC)
-- Support USB Video CLASS (commercial charge)
-- Support USB Audio CLASS (commercial charge)
+- Support USB Video CLASS (UVC1.0、UVC1.5)
+- Support USB Audio CLASS (UAC1.0)
- Support Remote NDIS (RNDIS)
- Support USB Bluetooth class (support nimble and zephyr bluetooth stack, support **CLASS:0xE0** or vendor class like cdc acm)
- Support Vendor class
@@ -115,7 +115,7 @@ CherryUSB Host Stack resource usage (GCC 10.2 with -O2):
|usbh_hid.c | ~1000 | 128 | 4 + sizeof(struct usbh_hid) * x | 0 |
|usbh_video.c | ~3700 | 128 | 4 + sizeof(struct usbh_video) * x | 0 |
|usbh_audio.c | ~3100 | 128 | 4 + sizeof(struct usbh_audio) * x | 0 |
-|usbh_rndis.c | ~3900 | 4096 + 2 * 2048 | sizeof(struct usbh_rndis) * 1 | 0 |
+|usbh_rndis.c | ~3900 | 4096 + 2 * 2048(default)| sizeof(struct usbh_rndis) * 1 | 0 |
|usbh_cdc_ecm.c | ~2500 | 2 * 1514 | sizeof(struct usbh_cdc_ecm) * 1 | 0 |
|usbh_bluetooth.c | ~2300 | 2 * 2048(default) | sizeof(struct usbh_bluetooth) * 1 | 0 |
@@ -148,7 +148,7 @@ Only standard and commercial USB IP are listed.
| OHCI(intel) | none | OHCI | × |
| EHCI(intel) | none | EHCI | √ |
| XHCI(intel) | none | XHCI | √ |
-| UHCI(intel) | none | UHCI | × |
+| UHCI(intel) | none | UHCI | × |
| DWC2(synopsys) | DWC2 | DWC2 | √ |
| MUSB(mentor) | MUSB | MUSB | √ |
| FOTG210(faraday)| FOTG210 | EHCI | √ |
@@ -173,17 +173,22 @@ USB basic concepts and how the CherryUSB Device stack is implemented, see [Cherr
| Manufacturer | CHIP or Series | USB IP| Repo Url | Support version | Support status |
|:--------------------:|:------------------:|:-----:|:--------:|:------------------:|:-------------:|
|Bouffalolab | BL702/BL616/BL808 | bouffalolab/ehci|[bouffalo_sdk](https://github.com/CherryUSB/bouffalo_sdk)|<= latest | Long-term |
-|ST | STM32F1x | fsdev |[stm32_repo](https://github.com/CherryUSB/cherryusb_stm32)|<= latest | Long-term |
-|ST | STM32F4/STM32H7 | dwc2 |[stm32_repo](https://github.com/CherryUSB/cherryusb_stm32)|<= latest | Long-term |
-|HPMicro | HPM6750 | hpm/ehci |[hpm_sdk](https://github.com/CherryUSB/hpm_sdk)|<= latest | Long-term |
-|Essemi | ES32F36xx | musb |[es32f369_repo](https://github.com/CherryUSB/cherryusb_es32)|<= latest | Long-term |
-|Phytium | e2000 | pusb2/xhci |[phytium_repo](https://gitee.com/phytium_embedded/phytium-free-rtos-sdk)|v0.10.2 | Long-term |
-|artinchip | d12x/d13x/d21x | aic/ehci/ohci |[luban-lite](https://gitee.com/artinchip/luban-lite)|<= latest | Long-term |
-|Espressif | esp32s2/esp32s3 | dwc2 |[esp32_repo](https://github.com/CherryUSB/cherryusb_esp32)|<= latest | the same with ST |
-|AllwinnerTech | F1C100S/F1C200S | musb |[cherryusb_rtt_f1c100s](https://github.com/CherryUSB/cherryusb_rtt_f1c100s)|<= latest | the same with Essemi |
-|WCH | CH32V307/ch58x | ch32_usbfs/ch32_usbhs/ch58x |[wch_repo](https://github.com/CherryUSB/cherryusb_wch)|<= v0.10.2 | TBD |
-|Nordicsemi | Nrf52840 | nrf5x |[nrf5x_repo](https://github.com/CherryUSB/cherryusb_nrf5x)|<= v0.10.2 | No more updated |
-|Raspberry pi | rp2040 | rp2040 |[pico-examples](https://github.com/CherryUSB/pico-examples)|<= v0.10.2 | No more updated |
+|ST | STM32F1x | fsdev |[stm32_repo](https://github.com/CherryUSB/cherryusb_stm32)|<= latest | Long-term |
+|ST | STM32F4/STM32H7 | dwc2 |[stm32_repo](https://github.com/CherryUSB/cherryusb_stm32)|<= latest | Long-term |
+|HPMicro | HPM6750 | hpm/ehci |[hpm_sdk](https://github.com/CherryUSB/hpm_sdk)|<= latest | Long-term |
+|Essemi | ES32F36xx | musb |[es32f369_repo](https://github.com/CherryUSB/cherryusb_es32)|<= latest | Long-term |
+|Phytium | e2000 | pusb2/xhci |[phytium_repo](https://gitee.com/phytium_embedded/phytium-free-rtos-sdk)|v0.10.2 | Long-term |
+|Artinchip | d12x/d13x/d21x | aic/ehci/ohci |[luban-lite](https://gitee.com/artinchip/luban-lite)|<= latest | Long-term |
+|Espressif | esp32s2/esp32s3 | dwc2 |[esp32_repo](https://github.com/CherryUSB/cherryusb_esp32)|<= latest | the same with ST |
+|AllwinnerTech | F1C100S/F1C200S | musb |[cherryusb_rtt_f1c100s](https://github.com/CherryUSB/cherryusb_rtt_f1c100s)|<= latest | the same with Essemi |
+|Bekencorp | bk7256/bk7258 | musb |[bk_idk](https://github.com/CherryUSB/bk_idk)| v0.7.0 | the same with Essemi |
+|Sophgo | cv18xx | dwc2 |[cvi_alios_open](https://github.com/CherryUSB/cvi_alios_open)| v0.7.0 | the same with ST |
+|WCH | CH32V307/ch58x | ch32_usbfs/ch32_usbhs/ch58x |[wch_repo](https://github.com/CherryUSB/cherryusb_wch)|<= v0.10.2 | TBD |
+|Raspberry pi | rp2040 | rp2040 |[pico-examples](https://github.com/CherryUSB/pico-examples)|<= v0.10.2 | No more updated |
+
+## Commercial Support
+
+Refer to https://cherryusb.readthedocs.io/zh-cn/latest/support/index.html.
## Contact
@@ -193,4 +198,4 @@ CherryUSB discord: https://discord.com/invite/wFfvrSAey8.
Thanks to the following companies for their support (in no particular order).
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/components/drivers/usb/cherryusb/README_zh.md b/components/drivers/usb/cherryusb/README_zh.md
index a59649e0bb..0aee5a75f7 100644
--- a/components/drivers/usb/cherryusb/README_zh.md
+++ b/components/drivers/usb/cherryusb/README_zh.md
@@ -94,8 +94,8 @@ CherryUSB Host 协议栈当前实现以下功能:
- 支持 Communication Device Class (CDC_ACM, CDC_ECM)
- 支持 Human Interface Device (HID)
- 支持 Mass Storage Class (MSC)
-- Support USB Video CLASS(商业收费)
-- Support USB Audio CLASS(商业收费)
+- Support USB Video CLASS (UVC1.0、UVC1.5)
+- Support USB Audio CLASS (UAC1.0)
- 支持 Remote NDIS (RNDIS)
- 支持 USB Bluetooth (支持 nimble and zephyr bluetooth 协议栈,支持 **CLASS: 0xE0** 或者厂家自定义类,类似于 cdc acm 功能)
- 支持 Vendor 类 class
@@ -115,7 +115,7 @@ CherryUSB Host 协议栈资源占用说明(GCC 10.2 with -O2):
|usbh_hid.c | ~1000 | 128 | 4 + sizeof(struct usbh_hid) * x | 0 |
|usbh_video.c | ~3700 | 128 | 4 + sizeof(struct usbh_video) * x | 0 |
|usbh_audio.c | ~3100 | 128 | 4 + sizeof(struct usbh_audio) * x | 0 |
-|usbh_rndis.c | ~3900 | 4096 + 2 * 2048 | sizeof(struct usbh_rndis) * 1 | 0 |
+|usbh_rndis.c | ~3900 | 4096 + 2 * 2048(default)| sizeof(struct usbh_rndis) * 1 | 0 |
|usbh_cdc_ecm.c | ~2500 | 2 * 1514 | sizeof(struct usbh_cdc_ecm) * 1 | 0 |
|usbh_bluetooth.c | ~2300 | 2 * 2048(default) | sizeof(struct usbh_bluetooth) * 1 | 0 |
@@ -148,7 +148,7 @@ x 受以下宏影响:
| OHCI(intel) | none | OHCI | × |
| EHCI(intel) | none | EHCI | √ |
| XHCI(intel) | none | XHCI | √ |
-| UHCI(intel) | none | UHCI | × |
+| UHCI(intel) | none | UHCI | × |
| DWC2(synopsys) | DWC2 | DWC2 | √ |
| MUSB(mentor) | MUSB | MUSB | √ |
| FOTG210(faraday)| FOTG210 | EHCI | √ |
@@ -174,19 +174,24 @@ CherryUSB 快速入门、USB 基本概念,API 手册,Class 基本概念和
| Manufacturer | CHIP or Series | USB IP| Repo Url | Support version | Support status |
|:--------------------:|:------------------:|:-----:|:--------:|:------------------:|:-------------:|
|Bouffalolab | BL702/BL616/BL808 | bouffalolab/ehci|[bouffalo_sdk](https://github.com/CherryUSB/bouffalo_sdk)|<= latest | Long-term |
-|ST | STM32F1x | fsdev |[stm32_repo](https://github.com/CherryUSB/cherryusb_stm32)|<= latest | Long-term |
-|ST | STM32F4/STM32H7 | dwc2 |[stm32_repo](https://github.com/CherryUSB/cherryusb_stm32)|<= latest | Long-term |
-|HPMicro | HPM6750 | hpm/ehci |[hpm_sdk](https://github.com/CherryUSB/hpm_sdk)|<= latest | Long-term |
-|Essemi | ES32F36xx | musb |[es32f369_repo](https://github.com/CherryUSB/cherryusb_es32)|<= latest | Long-term |
-|Phytium | e2000 | pusb2/xhci |[phytium_repo](https://gitee.com/phytium_embedded/phytium-free-rtos-sdk)|v0.10.2 | Long-term |
-|artinchip | d12x/d13x/d21x | aic/ehci/ohci |[luban-lite](https://gitee.com/artinchip/luban-lite)|<= latest | Long-term |
-|Espressif | esp32s2/esp32s3 | dwc2 |[esp32_repo](https://github.com/CherryUSB/cherryusb_esp32)|<= latest | the same with ST |
-|AllwinnerTech | F1C100S/F1C200S | musb |[cherryusb_rtt_f1c100s](https://github.com/CherryUSB/cherryusb_rtt_f1c100s)|<= latest | the same with Essemi |
-|WCH | CH32V307/ch58x | ch32_usbfs/ch32_usbhs/ch58x |[wch_repo](https://github.com/CherryUSB/cherryusb_wch)|<= v0.10.2 | TBD |
-|Nordicsemi | Nrf52840 | nrf5x |[nrf5x_repo](https://github.com/CherryUSB/cherryusb_nrf5x)|<= v0.10.2 | No more updated |
-|Raspberry pi | rp2040 | rp2040 |[pico-examples](https://github.com/CherryUSB/pico-examples)|<= v0.10.2 | No more updated |
+|ST | STM32F1x | fsdev |[stm32_repo](https://github.com/CherryUSB/cherryusb_stm32)|<= latest | Long-term |
+|ST | STM32F4/STM32H7 | dwc2 |[stm32_repo](https://github.com/CherryUSB/cherryusb_stm32)|<= latest | Long-term |
+|HPMicro | HPM6750 | hpm/ehci |[hpm_sdk](https://github.com/CherryUSB/hpm_sdk)|<= latest | Long-term |
+|Essemi | ES32F36xx | musb |[es32f369_repo](https://github.com/CherryUSB/cherryusb_es32)|<= latest | Long-term |
+|Phytium | e2000 | pusb2/xhci |[phytium_repo](https://gitee.com/phytium_embedded/phytium-free-rtos-sdk)|v0.10.2 | Long-term |
+|Artinchip | d12x/d13x/d21x | aic/ehci/ohci |[luban-lite](https://gitee.com/artinchip/luban-lite)|<= latest | Long-term |
+|Espressif | esp32s2/esp32s3 | dwc2 |[esp32_repo](https://github.com/CherryUSB/cherryusb_esp32)|<= latest | the same with ST |
+|AllwinnerTech | F1C100S/F1C200S | musb |[cherryusb_rtt_f1c100s](https://github.com/CherryUSB/cherryusb_rtt_f1c100s)|<= latest | the same with Essemi |
+|Bekencorp | bk7256/bk7258 | musb |[bk_idk](https://github.com/CherryUSB/bk_idk)| v0.7.0 | the same with Essemi |
+|Sophgo | cv18xx | dwc2 |[cvi_alios_open](https://github.com/CherryUSB/cvi_alios_open)| v0.7.0 | the same with ST |
+|WCH | CH32V307/ch58x | ch32_usbfs/ch32_usbhs/ch58x |[wch_repo](https://github.com/CherryUSB/cherryusb_wch)|<= v0.10.2 | TBD |
+|Raspberry pi | rp2040 | rp2040 |[pico-examples](https://github.com/CherryUSB/pico-examples)|<= v0.10.2 | No more updated |
-## Contact
+## 商业支持
+
+参考 https://cherryusb.readthedocs.io/zh-cn/latest/support/index.html。
+
+## 联系
CherryUSB QQ 群:642693751
CherryUSB 微信群:与我联系后邀请加入
@@ -195,4 +200,4 @@ CherryUSB 微信群:与我联系后邀请加入
感谢以下企业支持(顺序不分先后)。
-
+
diff --git a/components/drivers/usb/cherryusb/SConscript b/components/drivers/usb/cherryusb/SConscript
index 1bdb16d503..ee4dc91116 100644
--- a/components/drivers/usb/cherryusb/SConscript
+++ b/components/drivers/usb/cherryusb/SConscript
@@ -40,13 +40,20 @@ if GetDepend(['RT_CHERRYUSB_DEVICE']):
if GetDepend(['RT_CHERRYUSB_DEVICE_DWC2_GD']):
src += Glob('port/dwc2/usb_dc_dwc2.c')
src += Glob('port/dwc2/usb_glue_gd.c')
+ if GetDepend(['RT_CHERRYUSB_DEVICE_DWC2_HC']):
+ src += Glob('port/dwc2/usb_dc_dwc2.c')
+ src += Glob('port/dwc2/usb_glue_hc.c')
if GetDepend(['RT_CHERRYUSB_DEVICE_DWC2_CUSTOM']):
src += Glob('port/dwc2/usb_dc_dwc2.c')
- if GetDepend(['RT_CHERRYUSB_DEVICE_MUSB_STANDARD']):
+ if GetDepend(['RT_CHERRYUSB_DEVICE_MUSB_ES']):
src += Glob('port/musb/usb_dc_musb.c')
+ src += Glob('port/musb/usb_glue_es.c')
if GetDepend(['RT_CHERRYUSB_DEVICE_MUSB_SUNXI']):
src += Glob('port/musb/usb_dc_musb.c')
src += Glob('port/musb/usb_glue_sunxi.c')
+ if GetDepend(['RT_CHERRYUSB_DEVICE_MUSB_BK']):
+ src += Glob('port/musb/usb_dc_musb.c')
+ src += Glob('port/musb/usb_glue_bk.c')
if GetDepend(['RT_CHERRYUSB_DEVICE_MUSB_CUSTOM']):
src += Glob('port/musb/usb_dc_musb.c')
if GetDepend(['RT_CHERRYUSB_DEVICE_BL']):
@@ -151,9 +158,15 @@ if GetDepend(['RT_CHERRYUSB_HOST']):
src += Glob('port/dwc2/usb_hc_dwc2.c')
if GetDepend(['RT_CHERRYUSB_HOST_MUSB_STANDARD']):
src += Glob('port/musb/usb_hc_musb.c')
+ if GetDepend(['RT_CHERRYUSB_HOST_MUSB_ES']):
+ src += Glob('port/musb/usb_hc_musb.c')
+ src += Glob('port/musb/usb_glue_es.c')
if GetDepend(['RT_CHERRYUSB_HOST_MUSB_SUNXI']):
src += Glob('port/musb/usb_hc_musb.c')
src += Glob('port/musb/usb_glue_sunxi.c')
+ if GetDepend(['RT_CHERRYUSB_HOST_MUSB_BK']):
+ src += Glob('port/musb/usb_hc_musb.c')
+ src += Glob('port/musb/usb_glue_bk.c')
if GetDepend(['RT_CHERRYUSB_HOST_MUSB_CUSTOM']):
src += Glob('port/musb/usb_hc_musb.c')
@@ -197,8 +210,8 @@ if GetDepend(['RT_CHERRYUSB_HOST']):
if GetDepend('RT_CHERRYUSB_HOST_CDC_ECM') \
or GetDepend('RT_CHERRYUSB_HOST_CDC_RNDIS') \
or GetDepend('RT_CHERRYUSB_HOST_CDC_NCM') \
- or GetDepend('RT_CHERRYUSB_HOST_CDC_ASIX') \
- or GetDepend('RT_CHERRYUSB_HOST_CDC_RTL8152'):
+ or GetDepend('RT_CHERRYUSB_HOST_ASIX') \
+ or GetDepend('RT_CHERRYUSB_HOST_RTL8152'):
src += Glob('platform/rtthread/usbh_lwip.c')
src += Glob('platform/rtthread/usb_msh.c')
diff --git a/components/drivers/usb/cherryusb/VERSION b/components/drivers/usb/cherryusb/VERSION
index f976d5d979..8a0bfa806e 100644
--- a/components/drivers/usb/cherryusb/VERSION
+++ b/components/drivers/usb/cherryusb/VERSION
@@ -1,5 +1,5 @@
VERSION_MAJOR = 1
VERSION_MINOR = 3
-PATCHLEVEL = 0
+PATCHLEVEL = 1
VERSION_TWEAK = 0
EXTRAVERSION = 0
diff --git a/components/drivers/usb/cherryusb/cherryusb.cmake b/components/drivers/usb/cherryusb/cherryusb.cmake
index 6a78e9dc47..d8451d219d 100644
--- a/components/drivers/usb/cherryusb/cherryusb.cmake
+++ b/components/drivers/usb/cherryusb/cherryusb.cmake
@@ -71,26 +71,39 @@ if(CONFIG_CHERRYUSB_DEVICE)
endif()
if(DEFINED CONFIG_CHERRYUSB_DEVICE_DCD)
- if("${CONFIG_CHERRYUSB_DEVICE_DCD}" STREQUAL "dwc2_st")
+ if("${CONFIG_CHERRYUSB_DEVICE_DCD}" STREQUAL "fsdev")
+ list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/fsdev/usb_dc_fsdev.c)
+ elseif("${CONFIG_CHERRYUSB_DEVICE_DCD}" STREQUAL "dwc2_st")
list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_dc_dwc2.c)
list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_glue_st.c)
elseif("${CONFIG_CHERRYUSB_DEVICE_DCD}" STREQUAL "dwc2_esp")
list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_dc_dwc2.c)
list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_glue_esp.c)
- elseif("${CONFIG_CHERRYUSB_DEVICE_DCD}" STREQUAL "dwc2_aic")
- list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_dc_dwc2.c)
- list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_glue_aic.c)
elseif("${CONFIG_CHERRYUSB_DEVICE_DCD}" STREQUAL "dwc2_at")
list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_dc_dwc2.c)
list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_glue_at.c)
- elseif("${CONFIG_CHERRYUSB_DEVICE_DCD}" STREQUAL "fsdev")
- list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/fsdev/usb_dc_fsdev.c)
+ elseif("${CONFIG_CHERRYUSB_DEVICE_DCD}" STREQUAL "dwc2_gd")
+ list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_dc_dwc2.c)
+ list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_glue_gd.c)
+ elseif("${CONFIG_CHERRYUSB_DEVICE_DCD}" STREQUAL "dwc2_hc")
+ list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_dc_dwc2.c)
+ list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_glue_hc.c)
+ elseif("${CONFIG_CHERRYUSB_DEVICE_DCD}" STREQUAL "musb_es")
+ list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/musb/usb_dc_musb.c)
+ list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/musb/usb_glue_es.c)
+ elseif("${CONFIG_CHERRYUSB_DEVICE_DCD}" STREQUAL "musb_sunxi")
+ list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/musb/usb_dc_musb.c)
+ list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/musb/usb_glue_sunxi.c)
+ elseif("${CONFIG_CHERRYUSB_DEVICE_DCD}" STREQUAL "musb_bk")
+ list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/musb/usb_dc_musb.c)
+ list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/musb/usb_glue_bk.c)
elseif("${CONFIG_CHERRYUSB_DEVICE_DCD}" STREQUAL "hpm")
list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/hpm/usb_dc_hpm.c)
elseif("${CONFIG_CHERRYUSB_DEVICE_DCD}" STREQUAL "bl")
list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/bouffalolab/usb_dc_bl.c)
- elseif("${CONFIG_CHERRYUSB_DEVICE_DCD}" STREQUAL "musb")
- list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/musb/usb_dc_musb.c)
+ elseif("${CONFIG_CHERRYUSB_DEVICE_DCD}" STREQUAL "aic")
+ list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/aic/usb_dc_aic.c)
+ list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/aic/usb_dc_aic_ll.c)
endif()
endif()
@@ -223,8 +236,18 @@ if(CONFIG_CHERRYUSB_HOST)
elseif("${CONFIG_CHERRYUSB_HOST_HCD}" STREQUAL "dwc2_esp")
list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_hc_dwc2.c)
list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_glue_esp.c)
- elseif("${CONFIG_CHERRYUSB_HOST_HCD}" STREQUAL "musb")
+ elseif("${CONFIG_CHERRYUSB_HOST_HCD}" STREQUAL "dwc2_hc")
+ list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_hc_dwc2.c)
+ list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_glue_hc.c)
+ elseif("${CONFIG_CHERRYUSB_HOST_HCD}" STREQUAL "musb_es")
list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/musb/usb_hc_musb.c)
+ list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/musb/usb_glue_es.c)
+ elseif("${CONFIG_CHERRYUSB_HOST_HCD}" STREQUAL "musb_sunxi")
+ list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/musb/usb_hc_musb.c)
+ list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/musb/usb_glue_sunxi.c)
+ elseif("${CONFIG_CHERRYUSB_HOST_HCD}" STREQUAL "musb_bk")
+ list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/musb/usb_hc_musb.c)
+ list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/musb/usb_glue_bk.c)
endif()
endif()
diff --git a/components/drivers/usb/cherryusb/cherryusb_config_template.h b/components/drivers/usb/cherryusb/cherryusb_config_template.h
index cba9fc4dbf..493f8a4e93 100644
--- a/components/drivers/usb/cherryusb/cherryusb_config_template.h
+++ b/components/drivers/usb/cherryusb/cherryusb_config_template.h
@@ -6,8 +6,8 @@
#ifndef CHERRYUSB_CONFIG_H
#define CHERRYUSB_CONFIG_H
-#define CHERRYUSB_VERSION 0x010300
-#define CHERRYUSB_VERSION_STR "v1.3.0"
+#define CHERRYUSB_VERSION 0x010301
+#define CHERRYUSB_VERSION_STR "v1.3.1"
/* ================ USB common Configuration ================ */
@@ -168,6 +168,17 @@
#define CONFIG_USBHOST_CDC_NCM_ETH_MAX_TX_SIZE (2048)
#endif
+/* This parameter affects usb performance, and depends on (TCP_WND)tcp eceive windows size,
+ * you can change to 2K ~ 16K and must be larger than TCP RX windows size in order to avoid being overflow.
+ */
+#ifndef CONFIG_USBHOST_ASIX_ETH_MAX_RX_SIZE
+#define CONFIG_USBHOST_ASIX_ETH_MAX_RX_SIZE (2048)
+#endif
+/* Because lwip do not support multi pbuf at a time, so increasing this variable has no performance improvement */
+#ifndef CONFIG_USBHOST_ASIX_ETH_MAX_TX_SIZE
+#define CONFIG_USBHOST_ASIX_ETH_MAX_TX_SIZE (2048)
+#endif
+
/* This parameter affects usb performance, and depends on (TCP_WND)tcp eceive windows size,
* you can change to 2K ~ 16K and must be larger than TCP RX windows size in order to avoid being overflow.
*/
@@ -203,7 +214,11 @@
//#define CONFIG_USBDEV_FSDEV_PMA_ACCESS 2 // maybe 1 or 2, many chips may have a difference
/* ---------------- DWC2 Configuration ---------------- */
+/* (5 * number of control endpoints + 8) + ((largest USB packet used / 4) + 1 for
+ * status information) + (2 * number of OUT endpoints) + 1 for Global NAK
+ */
// #define CONFIG_USB_DWC2_RXALL_FIFO_SIZE (1024 / 4)
+/* IN Endpoints Max packet Size / 4 */
// #define CONFIG_USB_DWC2_TX0_FIFO_SIZE (64 / 4)
// #define CONFIG_USB_DWC2_TX1_FIFO_SIZE (512 / 4)
// #define CONFIG_USB_DWC2_TX2_FIFO_SIZE (64 / 4)
diff --git a/components/drivers/usb/cherryusb/class/audio/usbh_audio.c b/components/drivers/usb/cherryusb/class/audio/usbh_audio.c
index 8687e9a4a6..223c340b87 100644
--- a/components/drivers/usb/cherryusb/class/audio/usbh_audio.c
+++ b/components/drivers/usb/cherryusb/class/audio/usbh_audio.c
@@ -57,7 +57,7 @@ static void usbh_audio_class_free(struct usbh_audio *audio_class)
int usbh_audio_open(struct usbh_audio *audio_class, const char *name, uint32_t samp_freq)
{
- struct usb_setup_packet *setup = audio_class->hport->setup;
+ struct usb_setup_packet *setup;
struct usb_endpoint_descriptor *ep_desc;
uint8_t mult;
uint16_t mps;
@@ -65,6 +65,11 @@ int usbh_audio_open(struct usbh_audio *audio_class, const char *name, uint32_t s
uint8_t intf = 0xff;
uint8_t altsetting = 1;
+ if (!audio_class || !audio_class->hport) {
+ return -USB_ERR_INVAL;
+ }
+ setup = audio_class->hport->setup;
+
if (audio_class->is_opened) {
return 0;
}
@@ -129,12 +134,17 @@ freq_found:
int usbh_audio_close(struct usbh_audio *audio_class, const char *name)
{
- struct usb_setup_packet *setup = audio_class->hport->setup;
+ struct usb_setup_packet *setup;
struct usb_endpoint_descriptor *ep_desc;
int ret;
uint8_t intf = 0xff;
uint8_t altsetting = 1;
+ if (!audio_class || !audio_class->hport) {
+ return -USB_ERR_INVAL;
+ }
+ setup = audio_class->hport->setup;
+
for (size_t i = 0; i < audio_class->module_num; i++) {
if (strcmp(name, audio_class->module[i].name) == 0) {
intf = audio_class->module[i].data_intf;
@@ -172,12 +182,17 @@ int usbh_audio_close(struct usbh_audio *audio_class, const char *name)
int usbh_audio_set_volume(struct usbh_audio *audio_class, const char *name, uint8_t ch, uint8_t volume)
{
- struct usb_setup_packet *setup = audio_class->hport->setup;
+ struct usb_setup_packet *setup;
int ret;
uint8_t intf = 0xff;
uint8_t feature_id = 0xff;
uint16_t volume_hex;
+ if (!audio_class || !audio_class->hport) {
+ return -USB_ERR_INVAL;
+ }
+ setup = audio_class->hport->setup;
+
for (size_t i = 0; i < audio_class->module_num; i++) {
if (strcmp(name, audio_class->module[i].name) == 0) {
intf = audio_class->ctrl_intf;
@@ -205,11 +220,16 @@ int usbh_audio_set_volume(struct usbh_audio *audio_class, const char *name, uint
int usbh_audio_set_mute(struct usbh_audio *audio_class, const char *name, uint8_t ch, bool mute)
{
- struct usb_setup_packet *setup = audio_class->hport->setup;
+ struct usb_setup_packet *setup;
int ret;
uint8_t intf = 0xff;
uint8_t feature_id = 0xff;
+ if (!audio_class || !audio_class->hport) {
+ return -USB_ERR_INVAL;
+ }
+ setup = audio_class->hport->setup;
+
for (size_t i = 0; i < audio_class->module_num; i++) {
if (strcmp(name, audio_class->module[i].name) == 0) {
intf = audio_class->ctrl_intf;
@@ -367,9 +387,9 @@ static int usbh_audio_ctrl_connect(struct usbh_hubport *hport, uint8_t intf)
audio_class->module[format_offset].altsetting[cur_alt_setting].sampfreq_num = desc->bSamFreqType;
for (uint8_t j = 0; j < desc->bSamFreqType; j++) {
- audio_class->module[format_offset].altsetting[cur_alt_setting].sampfreq[j] = (uint32_t)(p[10 + j] << 16) |
- (uint32_t)(p[9 + j] << 8) |
- (uint32_t)(p[8 + j] << 0);
+ audio_class->module[format_offset].altsetting[cur_alt_setting].sampfreq[j] = (uint32_t)(p[10 + j * 3] << 16) |
+ (uint32_t)(p[9 + j * 3] << 8) |
+ (uint32_t)(p[8 + j * 3] << 0);
}
if (cur_alt_setting == (hport->config.intf[intf + 1].altsetting_num - 1)) {
format_offset++;
diff --git a/components/drivers/usb/cherryusb/class/cdc/usb_cdc.h b/components/drivers/usb/cherryusb/class/cdc/usb_cdc.h
index b8a544f3f3..2bf0a17a51 100644
--- a/components/drivers/usb/cherryusb/class/cdc/usb_cdc.h
+++ b/components/drivers/usb/cherryusb/class/cdc/usb_cdc.h
@@ -588,7 +588,7 @@ eth_statistics, wMaxSegmentSize, wNumberMCFilters, bNumberPowerFilters, str_idx)
CDC_FUNC_DESC_ETHERNET_NETWORKING, /* Ethernet Networking functional descriptor subtype */\
str_idx, /* Device's MAC string index */\
DBVAL_BE(eth_statistics), /* Ethernet statistics (bitmap) */\
- WBVAL(wMaxPacketSize),/* wMaxSegmentSize: Ethernet Maximum Segment size, typically 1514 bytes */\
+ WBVAL(wMaxSegmentSize),/* wMaxSegmentSize: Ethernet Maximum Segment size, typically 1514 bytes */\
WBVAL(wNumberMCFilters), /* wNumberMCFilters: the number of multicast filters */\
bNumberPowerFilters, /* bNumberPowerFilters: the number of wakeup power filters */\
0x07, /* bLength */ \
diff --git a/components/drivers/usb/cherryusb/class/cdc/usbd_cdc_ecm.c b/components/drivers/usb/cherryusb/class/cdc/usbd_cdc_ecm.c
index 1fca9cadce..b0c1217d75 100644
--- a/components/drivers/usb/cherryusb/class/cdc/usbd_cdc_ecm.c
+++ b/components/drivers/usb/cherryusb/class/cdc/usbd_cdc_ecm.c
@@ -167,7 +167,7 @@ void usbd_cdc_ecm_start_read_next(void)
{
g_cdc_ecm_rx_data_length = 0;
g_cdc_ecm_rx_data_buffer = NULL;
- usbd_ep_start_read(0, cdc_ecm_ep_data[CDC_ECM_OUT_EP_IDX].ep_addr, g_cdc_ecm_rx_buffer, usbd_get_ep_mps(busid, cdc_ecm_ep_data[CDC_ECM_OUT_EP_IDX].ep_addr));
+ usbd_ep_start_read(0, cdc_ecm_ep_data[CDC_ECM_OUT_EP_IDX].ep_addr, g_cdc_ecm_rx_buffer, usbd_get_ep_mps(0, cdc_ecm_ep_data[CDC_ECM_OUT_EP_IDX].ep_addr));
}
#ifdef CONFIG_USBDEV_CDC_ECM_USING_LWIP
@@ -183,7 +183,7 @@ struct pbuf *usbd_cdc_ecm_eth_rx(void)
usbd_cdc_ecm_start_read_next();
return NULL;
}
- memcpy(p->payload, (uint8_t *)g_cdc_ecm_rx_buffer, g_cdc_ecm_rx_data_length);
+ usb_memcpy(p->payload, (uint8_t *)g_cdc_ecm_rx_buffer, g_cdc_ecm_rx_data_length);
p->len = g_cdc_ecm_rx_data_length;
USB_LOG_DBG("rxlen:%d\r\n", g_cdc_ecm_rx_data_length);
@@ -206,13 +206,11 @@ int usbd_cdc_ecm_eth_tx(struct pbuf *p)
buffer = g_cdc_ecm_tx_buffer;
for (q = p; q != NULL; q = q->next) {
- memcpy(buffer, q->payload, q->len);
+ usb_memcpy(buffer, q->payload, q->len);
buffer += q->len;
}
- g_cdc_ecm_tx_data_length = p->tot_len;
-
- return usbd_cdc_ecm_start_write(g_cdc_ecm_tx_buffer, g_cdc_ecm_tx_data_length);
+ return usbd_cdc_ecm_start_write(g_cdc_ecm_tx_buffer, p->tot_len);
}
#endif
@@ -244,4 +242,4 @@ void usbd_cdc_ecm_set_connect_speed(uint32_t speed[2])
__WEAK void usbd_cdc_ecm_data_recv_done(uint8_t *buf, uint32_t len)
{
-}
\ No newline at end of file
+}
diff --git a/components/drivers/usb/cherryusb/class/cdc/usbh_cdc_acm.c b/components/drivers/usb/cherryusb/class/cdc/usbh_cdc_acm.c
index 05184af81c..c2c953ae8e 100644
--- a/components/drivers/usb/cherryusb/class/cdc/usbh_cdc_acm.c
+++ b/components/drivers/usb/cherryusb/class/cdc/usbh_cdc_acm.c
@@ -44,7 +44,12 @@ static void usbh_cdc_acm_class_free(struct usbh_cdc_acm *cdc_acm_class)
int usbh_cdc_acm_set_line_coding(struct usbh_cdc_acm *cdc_acm_class, struct cdc_line_coding *line_coding)
{
- struct usb_setup_packet *setup = cdc_acm_class->hport->setup;
+ struct usb_setup_packet *setup;
+
+ if (!cdc_acm_class || !cdc_acm_class->hport) {
+ return -USB_ERR_INVAL;
+ }
+ setup = cdc_acm_class->hport->setup;
setup->bmRequestType = USB_REQUEST_DIR_OUT | USB_REQUEST_CLASS | USB_REQUEST_RECIPIENT_INTERFACE;
setup->bRequest = CDC_REQUEST_SET_LINE_CODING;
@@ -59,9 +64,14 @@ int usbh_cdc_acm_set_line_coding(struct usbh_cdc_acm *cdc_acm_class, struct cdc_
int usbh_cdc_acm_get_line_coding(struct usbh_cdc_acm *cdc_acm_class, struct cdc_line_coding *line_coding)
{
- struct usb_setup_packet *setup = cdc_acm_class->hport->setup;
+ struct usb_setup_packet *setup;
int ret;
+ if (!cdc_acm_class || !cdc_acm_class->hport) {
+ return -USB_ERR_INVAL;
+ }
+ setup = cdc_acm_class->hport->setup;
+
setup->bmRequestType = USB_REQUEST_DIR_IN | USB_REQUEST_CLASS | USB_REQUEST_RECIPIENT_INTERFACE;
setup->bRequest = CDC_REQUEST_GET_LINE_CODING;
setup->wValue = 0;
@@ -78,7 +88,12 @@ int usbh_cdc_acm_get_line_coding(struct usbh_cdc_acm *cdc_acm_class, struct cdc_
int usbh_cdc_acm_set_line_state(struct usbh_cdc_acm *cdc_acm_class, bool dtr, bool rts)
{
- struct usb_setup_packet *setup = cdc_acm_class->hport->setup;
+ struct usb_setup_packet *setup;
+
+ if (!cdc_acm_class || !cdc_acm_class->hport) {
+ return -USB_ERR_INVAL;
+ }
+ setup = cdc_acm_class->hport->setup;
setup->bmRequestType = USB_REQUEST_DIR_OUT | USB_REQUEST_CLASS | USB_REQUEST_RECIPIENT_INTERFACE;
setup->bRequest = CDC_REQUEST_SET_CONTROL_LINE_STATE;
diff --git a/components/drivers/usb/cherryusb/class/cdc/usbh_cdc_ecm.c b/components/drivers/usb/cherryusb/class/cdc/usbh_cdc_ecm.c
index 5e3ae7bc71..ad05d5164c 100644
--- a/components/drivers/usb/cherryusb/class/cdc/usbh_cdc_ecm.c
+++ b/components/drivers/usb/cherryusb/class/cdc/usbh_cdc_ecm.c
@@ -32,7 +32,12 @@ static struct usbh_cdc_ecm g_cdc_ecm_class;
static int usbh_cdc_ecm_set_eth_packet_filter(struct usbh_cdc_ecm *cdc_ecm_class, uint16_t filter_value)
{
- struct usb_setup_packet *setup = cdc_ecm_class->hport->setup;
+ struct usb_setup_packet *setup;
+
+ if (!cdc_ecm_class || !cdc_ecm_class->hport) {
+ return -USB_ERR_INVAL;
+ }
+ setup = cdc_ecm_class->hport->setup;
setup->bmRequestType = USB_REQUEST_DIR_OUT | USB_REQUEST_CLASS | USB_REQUEST_RECIPIENT_INTERFACE;
setup->bRequest = CDC_REQUEST_SET_ETHERNET_PACKET_FILTER;
@@ -188,7 +193,7 @@ get_mac:
}
USB_LOG_INFO("Set CDC ECM packet filter:%04x\r\n", CONFIG_USBHOST_CDC_ECM_PKT_FILTER);
- memcpy(hport->config.intf[intf].devname, DEV_FORMAT, CONFIG_USBHOST_DEV_NAMELEN);
+ strncpy(hport->config.intf[intf].devname, DEV_FORMAT, CONFIG_USBHOST_DEV_NAMELEN);
USB_LOG_INFO("Register CDC ECM Class:%s\r\n", hport->config.intf[intf].devname);
@@ -246,30 +251,33 @@ find_class:
usb_osal_msleep(100);
goto find_class;
}
+ usb_osal_msleep(128);
}
g_cdc_ecm_rx_length = 0;
while (1) {
- usbh_bulk_urb_fill(&g_cdc_ecm_class.bulkin_urb, g_cdc_ecm_class.hport, g_cdc_ecm_class.bulkin, &g_cdc_ecm_rx_buffer[g_cdc_ecm_rx_length], CONFIG_USBHOST_CDC_ECM_ETH_MAX_SIZE, USB_OSAL_WAITING_FOREVER, NULL, NULL);
+ usbh_bulk_urb_fill(&g_cdc_ecm_class.bulkin_urb, g_cdc_ecm_class.hport, g_cdc_ecm_class.bulkin, g_cdc_ecm_rx_buffer, CONFIG_USBHOST_CDC_ECM_ETH_MAX_SIZE, USB_OSAL_WAITING_FOREVER, NULL, NULL);
ret = usbh_submit_urb(&g_cdc_ecm_class.bulkin_urb);
if (ret < 0) {
goto find_class;
}
- g_cdc_ecm_rx_length += g_cdc_ecm_class.bulkin_urb.actual_length;
+ g_cdc_ecm_rx_length = g_cdc_ecm_class.bulkin_urb.actual_length;
- if (g_cdc_ecm_rx_length % USB_GET_MAXPACKETSIZE(g_cdc_ecm_class.bulkin->wMaxPacketSize)) {
+ /* A transfer is complete because last packet is a short packet.
+ * Short packet is not zero, match g_cdc_ecm_rx_length % USB_GET_MAXPACKETSIZE(g_cdc_ecm_class.bulkin->wMaxPacketSize).
+ * Short packet is zero, check if g_cdc_ecm_class.bulkin_urb.actual_length < transfer_size, for example transfer is complete with size is 512 < 1514.
+ * This case is always true
+ */
+ if (g_cdc_ecm_rx_length % USB_GET_MAXPACKETSIZE(g_cdc_ecm_class.bulkin->wMaxPacketSize) ||
+ (g_cdc_ecm_class.bulkin_urb.actual_length < CONFIG_USBHOST_CDC_ECM_ETH_MAX_SIZE)) {
USB_LOG_DBG("rxlen:%d\r\n", g_cdc_ecm_rx_length);
usbh_cdc_ecm_eth_input(g_cdc_ecm_rx_buffer, g_cdc_ecm_rx_length);
g_cdc_ecm_rx_length = 0;
} else {
- /* read continue util read short packet */
- if (g_cdc_ecm_rx_length > CONFIG_USBHOST_CDC_ECM_ETH_MAX_SIZE) {
- USB_LOG_ERR("Rx packet is overflow\r\n");
- g_cdc_ecm_rx_length = 0;
- }
+ /* There's no way to run here. */
}
}
// clang-format off
@@ -279,16 +287,17 @@ delete:
// clang-format on
}
-int usbh_cdc_ecm_eth_output(uint8_t *buf, uint32_t buflen)
+uint8_t *usbh_cdc_ecm_get_eth_txbuf(void)
{
- uint8_t *buffer = g_cdc_ecm_tx_buffer;
+ return g_cdc_ecm_tx_buffer;
+}
+int usbh_cdc_ecm_eth_output(uint32_t buflen)
+{
if (g_cdc_ecm_class.connect_status == false) {
return -USB_ERR_NOTCONN;
}
- memcpy(buffer, buf, buflen);
-
USB_LOG_DBG("txlen:%d\r\n", buflen);
usbh_bulk_urb_fill(&g_cdc_ecm_class.bulkout_urb, g_cdc_ecm_class.hport, g_cdc_ecm_class.bulkout, g_cdc_ecm_tx_buffer, buflen, USB_OSAL_WAITING_FOREVER, NULL, NULL);
diff --git a/components/drivers/usb/cherryusb/class/cdc/usbh_cdc_ecm.h b/components/drivers/usb/cherryusb/class/cdc/usbh_cdc_ecm.h
index d965ac88a5..6e8dbc7f95 100644
--- a/components/drivers/usb/cherryusb/class/cdc/usbh_cdc_ecm.h
+++ b/components/drivers/usb/cherryusb/class/cdc/usbh_cdc_ecm.h
@@ -38,7 +38,8 @@ int usbh_cdc_ecm_get_connect_status(struct usbh_cdc_ecm *cdc_ecm_class);
void usbh_cdc_ecm_run(struct usbh_cdc_ecm *cdc_ecm_class);
void usbh_cdc_ecm_stop(struct usbh_cdc_ecm *cdc_ecm_class);
-int usbh_cdc_ecm_eth_output(uint8_t *buf, uint32_t buflen);
+uint8_t *usbh_cdc_ecm_get_eth_txbuf(void);
+int usbh_cdc_ecm_eth_output(uint32_t buflen);
void usbh_cdc_ecm_eth_input(uint8_t *buf, uint32_t buflen);
void usbh_cdc_ecm_rx_thread(void *argument);
diff --git a/components/drivers/usb/cherryusb/class/cdc/usbh_cdc_ncm.c b/components/drivers/usb/cherryusb/class/cdc/usbh_cdc_ncm.c
index 4f13f791ea..99e8871e96 100644
--- a/components/drivers/usb/cherryusb/class/cdc/usbh_cdc_ncm.c
+++ b/components/drivers/usb/cherryusb/class/cdc/usbh_cdc_ncm.c
@@ -33,9 +33,14 @@ static struct usbh_cdc_ncm g_cdc_ncm_class;
static int usbh_cdc_ncm_get_ntb_parameters(struct usbh_cdc_ncm *cdc_ncm_class, struct cdc_ncm_ntb_parameters *param)
{
- struct usb_setup_packet *setup = cdc_ncm_class->hport->setup;
+ struct usb_setup_packet *setup;
int ret;
+ if (!cdc_ncm_class || !cdc_ncm_class->hport) {
+ return -USB_ERR_INVAL;
+ }
+ setup = cdc_ncm_class->hport->setup;
+
setup->bmRequestType = USB_REQUEST_DIR_IN | USB_REQUEST_CLASS | USB_REQUEST_RECIPIENT_INTERFACE;
setup->bRequest = CDC_REQUEST_GET_NTB_PARAMETERS;
setup->wValue = 0;
@@ -206,7 +211,7 @@ get_mac:
}
}
- memcpy(hport->config.intf[intf].devname, DEV_FORMAT, CONFIG_USBHOST_DEV_NAMELEN);
+ strncpy(hport->config.intf[intf].devname, DEV_FORMAT, CONFIG_USBHOST_DEV_NAMELEN);
USB_LOG_INFO("Register CDC NCM Class:%s\r\n", hport->config.intf[intf].devname);
@@ -248,6 +253,11 @@ void usbh_cdc_ncm_rx_thread(void *argument)
{
uint32_t g_cdc_ncm_rx_length;
int ret;
+#if CONFIG_USBHOST_CDC_NCM_ETH_MAX_RX_SIZE <= (16 * 1024)
+ uint32_t transfer_size = CONFIG_USBHOST_CDC_NCM_ETH_MAX_RX_SIZE;
+#else
+ uint32_t transfer_size = (16 * 1024);
+#endif
USB_LOG_INFO("Create cdc ncm rx thread\r\n");
// clang-format off
@@ -268,7 +278,7 @@ find_class:
g_cdc_ncm_rx_length = 0;
while (1) {
- usbh_bulk_urb_fill(&g_cdc_ncm_class.bulkin_urb, g_cdc_ncm_class.hport, g_cdc_ncm_class.bulkin, &g_cdc_ncm_rx_buffer[g_cdc_ncm_rx_length], (CONFIG_USBHOST_CDC_NCM_ETH_MAX_RX_SIZE > (16 * 1024)) ? (16 * 1024) : CONFIG_USBHOST_CDC_NCM_ETH_MAX_RX_SIZE, USB_OSAL_WAITING_FOREVER, NULL, NULL);
+ usbh_bulk_urb_fill(&g_cdc_ncm_class.bulkin_urb, g_cdc_ncm_class.hport, g_cdc_ncm_class.bulkin, &g_cdc_ncm_rx_buffer[g_cdc_ncm_rx_length], transfer_size, USB_OSAL_WAITING_FOREVER, NULL, NULL);
ret = usbh_submit_urb(&g_cdc_ncm_class.bulkin_urb);
if (ret < 0) {
goto find_class;
@@ -276,7 +286,12 @@ find_class:
g_cdc_ncm_rx_length += g_cdc_ncm_class.bulkin_urb.actual_length;
- if (g_cdc_ncm_rx_length % USB_GET_MAXPACKETSIZE(g_cdc_ncm_class.bulkin->wMaxPacketSize)) {
+ /* A transfer is complete because last packet is a short packet.
+ * Short packet is not zero, match g_cdc_ncm_rx_length % USB_GET_MAXPACKETSIZE(g_cdc_ncm_class.bulkin->wMaxPacketSize).
+ * Short packet is zero, check if g_cdc_ncm_class.bulkin_urb.actual_length < transfer_size, for example transfer is complete with size is 1024 < 2048.
+ */
+ if ((g_cdc_ncm_rx_length % USB_GET_MAXPACKETSIZE(g_cdc_ncm_class.bulkin->wMaxPacketSize)) ||
+ (g_cdc_ncm_class.bulkin_urb.actual_length < transfer_size)) {
USB_LOG_DBG("rxlen:%d\r\n", g_cdc_ncm_rx_length);
struct cdc_ncm_nth16 *nth16 = (struct cdc_ncm_nth16 *)&g_cdc_ncm_rx_buffer[0];
@@ -309,11 +324,15 @@ find_class:
}
g_cdc_ncm_rx_length = 0;
-
} else {
- if (g_cdc_ncm_rx_length > CONFIG_USBHOST_CDC_NCM_ETH_MAX_RX_SIZE) {
- USB_LOG_ERR("Rx packet is overflow\r\n");
- g_cdc_ncm_rx_length = 0;
+#if CONFIG_USBHOST_CDC_NCM_ETH_MAX_RX_SIZE <= (16 * 1024)
+ if (g_cdc_ncm_rx_length == CONFIG_USBHOST_CDC_NCM_ETH_MAX_RX_SIZE) {
+#else
+ if ((g_cdc_ncm_rx_length + (16 * 1024)) > CONFIG_USBHOST_CDC_NCM_ETH_MAX_RX_SIZE) {
+#endif
+ USB_LOG_ERR("Rx packet is overflow, please ruduce tcp window size or increase CONFIG_USBHOST_CDC_NCM_ETH_MAX_RX_SIZE\r\n");
+ while (1) {
+ }
}
}
}
@@ -324,9 +343,13 @@ delete:
// clang-format on
}
-int usbh_cdc_ncm_eth_output(uint8_t *buf, uint32_t buflen)
+uint8_t *usbh_cdc_ncm_get_eth_txbuf(void)
+{
+ return &g_cdc_ncm_tx_buffer[16];
+}
+
+int usbh_cdc_ncm_eth_output(uint32_t buflen)
{
- uint8_t *buffer;
struct cdc_ncm_ndp16_datagram *ndp16_datagram;
if (g_cdc_ncm_class.connect_status == false) {
@@ -355,9 +378,6 @@ int usbh_cdc_ncm_eth_output(uint8_t *buf, uint32_t buflen)
ndp16_datagram->wDatagramIndex = 0;
ndp16_datagram->wDatagramLength = 0;
- buffer = &g_cdc_ncm_tx_buffer[16];
- memcpy(buffer, buf, buflen);
-
USB_LOG_DBG("txlen:%d\r\n", nth16->wBlockLength);
usbh_bulk_urb_fill(&g_cdc_ncm_class.bulkout_urb, g_cdc_ncm_class.hport, g_cdc_ncm_class.bulkout, g_cdc_ncm_tx_buffer, nth16->wBlockLength, USB_OSAL_WAITING_FOREVER, NULL, NULL);
diff --git a/components/drivers/usb/cherryusb/class/cdc/usbh_cdc_ncm.h b/components/drivers/usb/cherryusb/class/cdc/usbh_cdc_ncm.h
index 5f069401fa..e9b3e8e055 100644
--- a/components/drivers/usb/cherryusb/class/cdc/usbh_cdc_ncm.h
+++ b/components/drivers/usb/cherryusb/class/cdc/usbh_cdc_ncm.h
@@ -42,7 +42,8 @@ int usbh_cdc_ncm_get_connect_status(struct usbh_cdc_ncm *cdc_ncm_class);
void usbh_cdc_ncm_run(struct usbh_cdc_ncm *cdc_ncm_class);
void usbh_cdc_ncm_stop(struct usbh_cdc_ncm *cdc_ncm_class);
-int usbh_cdc_ncm_eth_output(uint8_t *buf, uint32_t buflen);
+uint8_t *usbh_cdc_ncm_get_eth_txbuf(void);
+int usbh_cdc_ncm_eth_output(uint32_t buflen);
void usbh_cdc_ncm_eth_input(uint8_t *buf, uint32_t buflen);
void usbh_cdc_ncm_rx_thread(void *argument);
diff --git a/components/drivers/usb/cherryusb/class/hid/usbh_hid.c b/components/drivers/usb/cherryusb/class/hid/usbh_hid.c
index f3b2546f22..1761ba6f58 100644
--- a/components/drivers/usb/cherryusb/class/hid/usbh_hid.c
+++ b/components/drivers/usb/cherryusb/class/hid/usbh_hid.c
@@ -44,9 +44,14 @@ static void usbh_hid_class_free(struct usbh_hid *hid_class)
static int usbh_hid_get_report_descriptor(struct usbh_hid *hid_class, uint8_t *buffer)
{
- struct usb_setup_packet *setup = hid_class->hport->setup;
+ struct usb_setup_packet *setup;
int ret;
+ if (!hid_class || !hid_class->hport) {
+ return -USB_ERR_INVAL;
+ }
+ setup = hid_class->hport->setup;
+
setup->bmRequestType = USB_REQUEST_DIR_IN | USB_REQUEST_STANDARD | USB_REQUEST_RECIPIENT_INTERFACE;
setup->bRequest = USB_REQUEST_GET_DESCRIPTOR;
setup->wValue = HID_DESCRIPTOR_TYPE_HID_REPORT << 8;
@@ -63,7 +68,12 @@ static int usbh_hid_get_report_descriptor(struct usbh_hid *hid_class, uint8_t *b
int usbh_hid_set_idle(struct usbh_hid *hid_class, uint8_t report_id, uint8_t duration)
{
- struct usb_setup_packet *setup = hid_class->hport->setup;
+ struct usb_setup_packet *setup;
+
+ if (!hid_class || !hid_class->hport) {
+ return -USB_ERR_INVAL;
+ }
+ setup = hid_class->hport->setup;
setup->bmRequestType = USB_REQUEST_DIR_OUT | USB_REQUEST_CLASS | USB_REQUEST_RECIPIENT_INTERFACE;
setup->bRequest = HID_REQUEST_SET_IDLE;
@@ -76,9 +86,14 @@ int usbh_hid_set_idle(struct usbh_hid *hid_class, uint8_t report_id, uint8_t dur
int usbh_hid_get_idle(struct usbh_hid *hid_class, uint8_t *buffer)
{
- struct usb_setup_packet *setup = hid_class->hport->setup;
+ struct usb_setup_packet *setup;
int ret;
+ if (!hid_class || !hid_class->hport) {
+ return -USB_ERR_INVAL;
+ }
+ setup = hid_class->hport->setup;
+
setup->bmRequestType = USB_REQUEST_DIR_IN | USB_REQUEST_CLASS | USB_REQUEST_RECIPIENT_INTERFACE;
setup->bRequest = HID_REQUEST_GET_IDLE;
setup->wValue = 0;
@@ -95,7 +110,12 @@ int usbh_hid_get_idle(struct usbh_hid *hid_class, uint8_t *buffer)
int usbh_hid_set_protocol(struct usbh_hid *hid_class, uint8_t protocol)
{
- struct usb_setup_packet *setup = hid_class->hport->setup;
+ struct usb_setup_packet *setup;
+
+ if (!hid_class || !hid_class->hport) {
+ return -USB_ERR_INVAL;
+ }
+ setup = hid_class->hport->setup;
setup->bmRequestType = USB_REQUEST_DIR_OUT | USB_REQUEST_CLASS | USB_REQUEST_RECIPIENT_INTERFACE;
setup->bRequest = HID_REQUEST_SET_PROTOCOL;
@@ -108,7 +128,12 @@ int usbh_hid_set_protocol(struct usbh_hid *hid_class, uint8_t protocol)
int usbh_hid_set_report(struct usbh_hid *hid_class, uint8_t report_type, uint8_t report_id, uint8_t *buffer, uint32_t buflen)
{
- struct usb_setup_packet *setup = hid_class->hport->setup;
+ struct usb_setup_packet *setup;
+
+ if (!hid_class || !hid_class->hport) {
+ return -USB_ERR_INVAL;
+ }
+ setup = hid_class->hport->setup;
setup->bmRequestType = USB_REQUEST_DIR_OUT | USB_REQUEST_CLASS | USB_REQUEST_RECIPIENT_INTERFACE;
setup->bRequest = HID_REQUEST_SET_REPORT;
@@ -121,7 +146,12 @@ int usbh_hid_set_report(struct usbh_hid *hid_class, uint8_t report_type, uint8_t
int usbh_hid_get_report(struct usbh_hid *hid_class, uint8_t report_type, uint8_t report_id, uint8_t *buffer, uint32_t buflen)
{
- struct usb_setup_packet *setup = hid_class->hport->setup;
+ struct usb_setup_packet *setup;
+
+ if (!hid_class || !hid_class->hport) {
+ return -USB_ERR_INVAL;
+ }
+ setup = hid_class->hport->setup;
setup->bmRequestType = USB_REQUEST_DIR_IN | USB_REQUEST_CLASS | USB_REQUEST_RECIPIENT_INTERFACE;
setup->bRequest = HID_REQUEST_GET_REPORT;
diff --git a/components/drivers/usb/cherryusb/class/hub/usbh_hub.c b/components/drivers/usb/cherryusb/class/hub/usbh_hub.c
index 6755b8594c..1745d8c0b3 100644
--- a/components/drivers/usb/cherryusb/class/hub/usbh_hub.c
+++ b/components/drivers/usb/cherryusb/class/hub/usbh_hub.c
@@ -27,13 +27,6 @@ extern void usbh_hubport_release(struct usbh_hubport *hport);
static const char *speed_table[] = { "error-speed", "low-speed", "full-speed", "high-speed", "wireless-speed", "super-speed", "superplus-speed" };
-#ifdef CONFIG_USBHOST_XHCI
-struct usbh_hubport *usbh_get_roothub_port(unsigned int port)
-{
- return &roothub.child[port - 1];
-}
-#endif
-
#if CONFIG_USBHOST_MAX_EXTHUBS > 0
static struct usbh_hub g_hub_class[CONFIG_USBHOST_MAX_EXTHUBS];
static uint32_t g_devinuse = 0;
@@ -373,8 +366,6 @@ static int usbh_hub_connect(struct usbh_hubport *hport, uint8_t intf)
hub->connected = true;
snprintf(hport->config.intf[intf].devname, CONFIG_USBHOST_DEV_NAMELEN, DEV_FORMAT, hub->index);
- usb_slist_add_tail(&hub->bus->hub_list, &hub->list);
-
USB_LOG_INFO("Register HUB Class:%s\r\n", hport->config.intf[intf].devname);
hub->int_buffer = g_hub_intbuf[hub->bus->busid][hub->index - 1];
@@ -412,7 +403,6 @@ static int usbh_hub_disconnect(struct usbh_hubport *hport, uint8_t intf)
if (hport->config.intf[intf].devname[0] != '\0') {
USB_LOG_INFO("Unregister HUB Class:%s\r\n", hport->config.intf[intf].devname);
- usb_slist_remove(&hub->bus->hub_list, &hub->list);
}
usbh_hub_class_free(hub);
@@ -421,18 +411,6 @@ static int usbh_hub_disconnect(struct usbh_hubport *hport, uint8_t intf)
}
#endif
-static void usbh_hubport_enumerate_thread(void *argument)
-{
- struct usbh_hubport *child = (struct usbh_hubport *)argument;
-
- if (usbh_enumerate(child) < 0) {
- /** release child sources */
- usbh_hubport_release(child);
- USB_LOG_ERR("Port %u enumerate fail\r\n", child->port);
- }
- usb_osal_thread_delete(NULL);
-}
-
static void usbh_hub_events(struct usbh_hub *hub)
{
struct usbh_hubport *child;
@@ -444,13 +422,16 @@ static void usbh_hub_events(struct usbh_hub *hub)
uint16_t feat;
uint8_t speed;
int ret;
+ size_t flags;
if (!hub->connected) {
return;
}
+ flags = usb_osal_enter_critical_section();
portchange_index = hub->int_buffer[0];
hub->int_buffer[0] &= ~portchange_index;
+ usb_osal_leave_critical_section(flags);
for (uint8_t port = 0; port < hub->hub_desc.bNbrPorts; port++) {
USB_LOG_DBG("Port change:0x%02x\r\n", portchange_index);
@@ -562,25 +543,9 @@ static void usbh_hub_events(struct usbh_hub *hub)
speed = USB_SPEED_HIGH;
} else if (portstatus & HUB_PORT_STATUS_LOW_SPEED) {
speed = USB_SPEED_LOW;
- }
-#ifdef CONFIG_USBHOST_XHCI
- else {
- extern uint8_t usbh_get_port_speed(struct usbh_hub * hub, const uint8_t port);
-
- /* USB3.0 speed cannot get from portstatus, checkout port speed instead */
- uint8_t super_speed = usbh_get_port_speed(hub, port + 1);
- if (super_speed > USB_SPEED_HIGH) {
- /* assert that when using USB 3.0 ports, attached device must also be USB 3.0 speed */
- speed = super_speed;
- } else {
- speed = USB_SPEED_FULL;
- }
- }
-#else
- else {
+ } else {
speed = USB_SPEED_FULL;
}
-#endif
child = &hub->child[port];
/** release child sources first */
@@ -596,8 +561,11 @@ static void usbh_hub_events(struct usbh_hub *hub)
USB_LOG_INFO("New %s device on Bus %u, Hub %u, Port %u connected\r\n", speed_table[speed], hub->bus->busid, hub->index, port + 1);
- /* create disposable thread to enumerate device on current hport, do not block hub thread */
- usb_osal_thread_create("usbh_enum", CONFIG_USBHOST_PSC_STACKSIZE, CONFIG_USBHOST_PSC_PRIO + 1, usbh_hubport_enumerate_thread, (void *)child);
+ if (usbh_enumerate(child) < 0) {
+ /** release child sources */
+ usbh_hubport_release(child);
+ USB_LOG_ERR("Port %u enumerate fail\r\n", child->port);
+ }
} else {
child = &hub->child[port];
/** release child sources */
@@ -648,6 +616,17 @@ void usbh_hub_thread_wakeup(struct usbh_hub *hub)
int usbh_hub_initialize(struct usbh_bus *bus)
{
char thread_name[32] = { 0 };
+ struct usbh_hub *hub;
+
+ hub = &bus->hcd.roothub;
+ hub->connected = true;
+ hub->index = 1;
+ hub->is_roothub = true;
+ hub->parent = NULL;
+ hub->hub_addr = 1;
+ hub->hub_desc.bNbrPorts = CONFIG_USBHOST_MAX_RHPORTS;
+ hub->int_buffer = bus->hcd.roothub_intbuf;
+ hub->bus = bus;
bus->hub_mq = usb_osal_mq_create(7);
if (bus->hub_mq == NULL) {
@@ -666,21 +645,17 @@ int usbh_hub_initialize(struct usbh_bus *bus)
int usbh_hub_deinitialize(struct usbh_bus *bus)
{
- usb_slist_t *hub_list;
struct usbh_hubport *hport;
+ struct usbh_hub *hub;
size_t flags;
flags = usb_osal_enter_critical_section();
- usb_slist_for_each(hub_list, &bus->hub_list)
- {
- struct usbh_hub *hub = usb_slist_entry(hub_list, struct usbh_hub, list);
+ hub = &bus->hcd.roothub;
+ for (uint8_t port = 0; port < hub->hub_desc.bNbrPorts; port++) {
+ hport = &hub->child[port];
- for (uint8_t port = 0; port < hub->hub_desc.bNbrPorts; port++) {
- hport = &hub->child[port];
-
- usbh_hubport_release(hport);
- }
+ usbh_hubport_release(hport);
}
usb_hc_deinit(bus);
diff --git a/components/drivers/usb/cherryusb/class/msc/usbh_msc.c b/components/drivers/usb/cherryusb/class/msc/usbh_msc.c
index 71e8e53370..42e12d9cb5 100644
--- a/components/drivers/usb/cherryusb/class/msc/usbh_msc.c
+++ b/components/drivers/usb/cherryusb/class/msc/usbh_msc.c
@@ -13,6 +13,8 @@
#define DEV_FORMAT "/dev/sd%c"
+#define MSC_INQUIRY_TIMEOUT 500
+
USB_NOCACHE_RAM_SECTION USB_MEM_ALIGNX uint8_t g_msc_buf[64];
static struct usbh_msc g_msc_class[CONFIG_USBHOST_MAX_MSC_CLASS];
@@ -46,7 +48,12 @@ static void usbh_msc_class_free(struct usbh_msc *msc_class)
static int usbh_msc_get_maxlun(struct usbh_msc *msc_class, uint8_t *buffer)
{
- struct usb_setup_packet *setup = msc_class->hport->setup;
+ struct usb_setup_packet *setup;
+
+ if (!msc_class || !msc_class->hport) {
+ return -USB_ERR_INVAL;
+ }
+ setup = msc_class->hport->setup;
setup->bmRequestType = USB_REQUEST_DIR_IN | USB_REQUEST_CLASS | USB_REQUEST_RECIPIENT_INTERFACE;
setup->bRequest = MSC_REQUEST_GET_MAX_LUN;
@@ -113,14 +120,14 @@ static inline int usbh_msc_bulk_out_transfer(struct usbh_msc *msc_class, uint8_t
return ret;
}
-static int usbh_bulk_cbw_csw_xfer(struct usbh_msc *msc_class, struct CBW *cbw, struct CSW *csw, uint8_t *buffer)
+static int usbh_bulk_cbw_csw_xfer(struct usbh_msc *msc_class, struct CBW *cbw, struct CSW *csw, uint8_t *buffer, uint32_t timeout)
{
int nbytes;
usbh_msc_cbw_dump(cbw);
/* Send the CBW */
- nbytes = usbh_msc_bulk_out_transfer(msc_class, (uint8_t *)cbw, USB_SIZEOF_MSC_CBW, CONFIG_USBHOST_MSC_TIMEOUT);
+ nbytes = usbh_msc_bulk_out_transfer(msc_class, (uint8_t *)cbw, USB_SIZEOF_MSC_CBW, timeout);
if (nbytes < 0) {
USB_LOG_ERR("cbw transfer error\r\n");
goto __err_exit;
@@ -128,16 +135,16 @@ static int usbh_bulk_cbw_csw_xfer(struct usbh_msc *msc_class, struct CBW *cbw, s
if (cbw->dDataLength != 0) {
if (cbw->CB[0] == SCSI_CMD_WRITE10) {
- nbytes = usbh_msc_bulk_out_transfer(msc_class, buffer, cbw->dDataLength, CONFIG_USBHOST_MSC_TIMEOUT);
+ nbytes = usbh_msc_bulk_out_transfer(msc_class, buffer, cbw->dDataLength, timeout);
} else if (cbw->CB[0] == SCSI_CMD_READCAPACITY10) {
- nbytes = usbh_msc_bulk_in_transfer(msc_class, buffer, cbw->dDataLength, CONFIG_USBHOST_MSC_TIMEOUT);
+ nbytes = usbh_msc_bulk_in_transfer(msc_class, buffer, cbw->dDataLength, timeout);
if (nbytes >= 0) {
/* Save the capacity information */
msc_class->blocknum = GET_BE32(&buffer[0]) + 1;
msc_class->blocksize = GET_BE32(&buffer[4]);
}
} else {
- nbytes = usbh_msc_bulk_in_transfer(msc_class, buffer, cbw->dDataLength, CONFIG_USBHOST_MSC_TIMEOUT);
+ nbytes = usbh_msc_bulk_in_transfer(msc_class, buffer, cbw->dDataLength, timeout);
}
if (nbytes < 0) {
@@ -148,7 +155,7 @@ static int usbh_bulk_cbw_csw_xfer(struct usbh_msc *msc_class, struct CBW *cbw, s
/* Receive the CSW */
memset(csw, 0, USB_SIZEOF_MSC_CSW);
- nbytes = usbh_msc_bulk_in_transfer(msc_class, (uint8_t *)csw, USB_SIZEOF_MSC_CSW, CONFIG_USBHOST_MSC_TIMEOUT);
+ nbytes = usbh_msc_bulk_in_transfer(msc_class, (uint8_t *)csw, USB_SIZEOF_MSC_CSW, timeout);
if (nbytes < 0) {
USB_LOG_ERR("csw transfer error\r\n");
goto __err_exit;
@@ -182,7 +189,7 @@ static inline int usbh_msc_scsi_testunitready(struct usbh_msc *msc_class)
cbw->bCBLength = SCSICMD_TESTUNITREADY_SIZEOF;
cbw->CB[0] = SCSI_CMD_TESTUNITREADY;
- return usbh_bulk_cbw_csw_xfer(msc_class, cbw, (struct CSW *)g_msc_buf, NULL);
+ return usbh_bulk_cbw_csw_xfer(msc_class, cbw, (struct CSW *)g_msc_buf, NULL, MSC_INQUIRY_TIMEOUT);
}
static inline int usbh_msc_scsi_requestsense(struct usbh_msc *msc_class)
@@ -200,7 +207,7 @@ static inline int usbh_msc_scsi_requestsense(struct usbh_msc *msc_class)
cbw->CB[0] = SCSI_CMD_REQUESTSENSE;
cbw->CB[4] = SCSIRESP_FIXEDSENSEDATA_SIZEOF;
- return usbh_bulk_cbw_csw_xfer(msc_class, cbw, (struct CSW *)g_msc_buf, g_msc_buf);
+ return usbh_bulk_cbw_csw_xfer(msc_class, cbw, (struct CSW *)g_msc_buf, g_msc_buf, MSC_INQUIRY_TIMEOUT);
}
static inline int usbh_msc_scsi_inquiry(struct usbh_msc *msc_class)
@@ -218,7 +225,7 @@ static inline int usbh_msc_scsi_inquiry(struct usbh_msc *msc_class)
cbw->CB[0] = SCSI_CMD_INQUIRY;
cbw->CB[4] = SCSIRESP_INQUIRY_SIZEOF;
- return usbh_bulk_cbw_csw_xfer(msc_class, cbw, (struct CSW *)g_msc_buf, g_msc_buf);
+ return usbh_bulk_cbw_csw_xfer(msc_class, cbw, (struct CSW *)g_msc_buf, g_msc_buf, MSC_INQUIRY_TIMEOUT);
}
static inline int usbh_msc_scsi_readcapacity10(struct usbh_msc *msc_class)
@@ -235,7 +242,7 @@ static inline int usbh_msc_scsi_readcapacity10(struct usbh_msc *msc_class)
cbw->bCBLength = SCSICMD_READCAPACITY10_SIZEOF;
cbw->CB[0] = SCSI_CMD_READCAPACITY10;
- return usbh_bulk_cbw_csw_xfer(msc_class, cbw, (struct CSW *)g_msc_buf, g_msc_buf);
+ return usbh_bulk_cbw_csw_xfer(msc_class, cbw, (struct CSW *)g_msc_buf, g_msc_buf, MSC_INQUIRY_TIMEOUT);
}
static inline void usbh_msc_modeswitch(struct usbh_msc *msc_class, const uint8_t *message)
@@ -247,7 +254,7 @@ static inline void usbh_msc_modeswitch(struct usbh_msc *msc_class, const uint8_t
memcpy(g_msc_buf, message, 31);
- usbh_bulk_cbw_csw_xfer(msc_class, cbw, (struct CSW *)g_msc_buf, NULL);
+ usbh_bulk_cbw_csw_xfer(msc_class, cbw, (struct CSW *)g_msc_buf, NULL, MSC_INQUIRY_TIMEOUT);
}
static int usbh_msc_connect(struct usbh_hubport *hport, uint8_t intf)
@@ -380,7 +387,7 @@ int usbh_msc_scsi_write10(struct usbh_msc *msc_class, uint32_t start_sector, con
SET_BE32(&cbw->CB[2], start_sector);
SET_BE16(&cbw->CB[7], nsectors);
- return usbh_bulk_cbw_csw_xfer(msc_class, cbw, (struct CSW *)g_msc_buf, (uint8_t *)buffer);
+ return usbh_bulk_cbw_csw_xfer(msc_class, cbw, (struct CSW *)g_msc_buf, (uint8_t *)buffer, CONFIG_USBHOST_MSC_TIMEOUT);
}
int usbh_msc_scsi_read10(struct usbh_msc *msc_class, uint32_t start_sector, const uint8_t *buffer, uint32_t nsectors)
@@ -400,7 +407,7 @@ int usbh_msc_scsi_read10(struct usbh_msc *msc_class, uint32_t start_sector, cons
SET_BE32(&cbw->CB[2], start_sector);
SET_BE16(&cbw->CB[7], nsectors);
- return usbh_bulk_cbw_csw_xfer(msc_class, cbw, (struct CSW *)g_msc_buf, (uint8_t *)buffer);
+ return usbh_bulk_cbw_csw_xfer(msc_class, cbw, (struct CSW *)g_msc_buf, (uint8_t *)buffer, CONFIG_USBHOST_MSC_TIMEOUT);
}
void usbh_msc_modeswitch_enable(struct usbh_msc_modeswitch_config *config)
diff --git a/components/drivers/usb/cherryusb/class/vendor/net/usbh_asix.c b/components/drivers/usb/cherryusb/class/vendor/net/usbh_asix.c
index 62d78ec377..9d3e973f22 100644
--- a/components/drivers/usb/cherryusb/class/vendor/net/usbh_asix.c
+++ b/components/drivers/usb/cherryusb/class/vendor/net/usbh_asix.c
@@ -14,10 +14,9 @@
#define DEV_FORMAT "/dev/asix"
static struct usbh_asix g_asix_class;
-#define CONFIG_USBHOST_ASIX_ETH_MAX_SIZE (1514U + 8)
-static USB_NOCACHE_RAM_SECTION USB_MEM_ALIGNX uint8_t g_asix_rx_buffer[CONFIG_USBHOST_ASIX_ETH_MAX_SIZE];
-static USB_NOCACHE_RAM_SECTION USB_MEM_ALIGNX uint8_t g_asix_tx_buffer[CONFIG_USBHOST_ASIX_ETH_MAX_SIZE];
+static USB_NOCACHE_RAM_SECTION USB_MEM_ALIGNX uint8_t g_asix_rx_buffer[CONFIG_USBHOST_ASIX_ETH_MAX_TX_SIZE];
+static USB_NOCACHE_RAM_SECTION USB_MEM_ALIGNX uint8_t g_asix_tx_buffer[CONFIG_USBHOST_ASIX_ETH_MAX_RX_SIZE];
static USB_NOCACHE_RAM_SECTION USB_MEM_ALIGNX uint8_t g_asix_inttx_buffer[16];
USB_NOCACHE_RAM_SECTION USB_MEM_ALIGNX uint8_t g_asix_buf[32];
@@ -56,9 +55,14 @@ static int usbh_asix_read_cmd(struct usbh_asix *asix_class,
void *data,
uint16_t size)
{
- struct usb_setup_packet *setup = asix_class->hport->setup;
+ struct usb_setup_packet *setup;
int ret;
+ if (!asix_class || !asix_class->hport) {
+ return -USB_ERR_INVAL;
+ }
+ setup = asix_class->hport->setup;
+
setup->bmRequestType = USB_REQUEST_DIR_IN | USB_REQUEST_VENDOR | USB_REQUEST_RECIPIENT_DEVICE;
setup->bRequest = cmd;
setup->wValue = value;
@@ -81,7 +85,12 @@ static int usbh_asix_write_cmd(struct usbh_asix *asix_class,
void *data,
uint16_t size)
{
- struct usb_setup_packet *setup = asix_class->hport->setup;
+ struct usb_setup_packet *setup;
+
+ if (!asix_class || !asix_class->hport) {
+ return -USB_ERR_INVAL;
+ }
+ setup = asix_class->hport->setup;
setup->bmRequestType = USB_REQUEST_DIR_OUT | USB_REQUEST_VENDOR | USB_REQUEST_RECIPIENT_DEVICE;
setup->bRequest = cmd;
@@ -263,6 +272,15 @@ static int usbh_asix_write_gpio(struct usbh_asix *asix_class, uint16_t value, in
static void usbh_asix_set_multicast(struct usbh_asix *asix_class)
{
uint16_t rx_ctl = AX_DEFAULT_RX_CTL | AX_RX_CTL_AM;
+#if CONFIG_USBHOST_ASIX_ETH_MAX_RX_SIZE == 4096
+ rx_ctl |= AX_RX_CTL_MFB_4096;
+#elif CONFIG_USBHOST_ASIX_ETH_MAX_RX_SIZE == 8192
+ rx_ctl |= AX_RX_CTL_MFB_8192;
+#elif CONFIG_USBHOST_ASIX_ETH_MAX_RX_SIZE == 16384
+ rx_ctl |= AX_RX_CTL_MFB_16384;
+#else
+ rx_ctl |= AX_RX_CTL_MFB_2048;
+#endif
const uint8_t multi_filter[] = { 0x00, 0x00, 0x20, 0x80, 0x00, 0x00, 0x00, 0x40 };
usbh_asix_write_cmd(asix_class, AX_CMD_WRITE_MULTI_FILTER, 0, 0, (uint8_t *)multi_filter, AX_MCAST_FILTER_SIZE);
@@ -589,7 +607,7 @@ static int usbh_asix_connect(struct usbh_hubport *hport, uint8_t intf)
USB_LOG_INFO("Init %s done\r\n", asix_class->name);
- memcpy(hport->config.intf[intf].devname, DEV_FORMAT, CONFIG_USBHOST_DEV_NAMELEN);
+ strncpy(hport->config.intf[intf].devname, DEV_FORMAT, CONFIG_USBHOST_DEV_NAMELEN);
USB_LOG_INFO("Register ASIX Class:%s\r\n", hport->config.intf[intf].devname);
usbh_asix_run(asix_class);
@@ -655,6 +673,12 @@ void usbh_asix_rx_thread(void *argument)
int ret;
uint16_t len;
uint16_t len_crc;
+ uint32_t data_offset;
+#if CONFIG_USBHOST_ASIX_ETH_MAX_RX_SIZE <= (16 * 1024)
+ uint32_t transfer_size = CONFIG_USBHOST_ASIX_ETH_MAX_RX_SIZE;
+#else
+ uint32_t transfer_size = (16 * 1024);
+#endif
USB_LOG_INFO("Create asix rx thread\r\n");
// clang-format off
@@ -671,11 +695,12 @@ find_class:
usb_osal_msleep(100);
goto find_class;
}
+ usb_osal_msleep(128);
}
g_asix_rx_length = 0;
while (1) {
- usbh_bulk_urb_fill(&g_asix_class.bulkin_urb, g_asix_class.hport, g_asix_class.bulkin, &g_asix_rx_buffer[g_asix_rx_length], CONFIG_USBHOST_ASIX_ETH_MAX_SIZE, USB_OSAL_WAITING_FOREVER, NULL, NULL);
+ usbh_bulk_urb_fill(&g_asix_class.bulkin_urb, g_asix_class.hport, g_asix_class.bulkin, &g_asix_rx_buffer[g_asix_rx_length], transfer_size, USB_OSAL_WAITING_FOREVER, NULL, NULL);
ret = usbh_submit_urb(&g_asix_class.bulkin_urb);
if (ret < 0) {
goto find_class;
@@ -683,24 +708,43 @@ find_class:
g_asix_rx_length += g_asix_class.bulkin_urb.actual_length;
- if (g_asix_rx_length % USB_GET_MAXPACKETSIZE(g_asix_class.bulkin->wMaxPacketSize)) {
- len = ((uint16_t)g_asix_rx_buffer[0] | ((uint16_t)(g_asix_rx_buffer[1]) << 8)) & 0x7ff;
- len_crc = g_asix_rx_buffer[2] | ((uint16_t)(g_asix_rx_buffer[3]) << 8);
-
- if (len != (~len_crc & 0x7ff)) {
- USB_LOG_ERR("asix rx header error\r\n");
- continue;
- }
-
+ /* A transfer is complete because last packet is a short packet.
+ * Short packet is not zero, match g_asix_rx_length % USB_GET_MAXPACKETSIZE(g_asix_class.bulkin->wMaxPacketSize).
+ * Short packet is zero, check if g_asix_class.bulkin_urb.actual_length < transfer_size, for example transfer is complete with size is 1024 < 2048.
+ */
+ if (g_asix_rx_length % USB_GET_MAXPACKETSIZE(g_asix_class.bulkin->wMaxPacketSize) ||
+ (g_asix_class.bulkin_urb.actual_length < transfer_size)) {
USB_LOG_DBG("rxlen:%d\r\n", g_asix_rx_length);
- uint8_t *buf = (uint8_t *)&g_asix_rx_buffer[4];
- usbh_asix_eth_input(buf, len);
- g_asix_rx_length = 0;
+ data_offset = 0;
+ while (g_asix_rx_length > 0) {
+ len = ((uint16_t)g_asix_rx_buffer[data_offset + 0] | ((uint16_t)(g_asix_rx_buffer[data_offset + 1]) << 8)) & 0x7ff;
+ len_crc = g_asix_rx_buffer[data_offset + 2] | ((uint16_t)(g_asix_rx_buffer[data_offset + 3]) << 8);
+
+ if (len != (~len_crc & 0x7ff)) {
+ USB_LOG_ERR("rx header error\r\n");
+ g_asix_rx_length = 0;
+ continue;
+ }
+
+ uint8_t *buf = (uint8_t *)&g_asix_rx_buffer[data_offset + 4];
+ usbh_asix_eth_input(buf, len);
+ g_asix_rx_length -= (len + 4);
+ data_offset += (len + 4);
+
+ if (g_asix_rx_length < 4) {
+ g_asix_rx_length = 0;
+ }
+ }
} else {
- if (g_asix_rx_length > CONFIG_USBHOST_ASIX_ETH_MAX_SIZE) {
- USB_LOG_ERR("Rx packet is overflow\r\n");
- g_asix_rx_length = 0;
+#if CONFIG_USBHOST_ASIX_ETH_MAX_RX_SIZE <= (16 * 1024)
+ if (g_asix_rx_length == CONFIG_USBHOST_ASIX_ETH_MAX_RX_SIZE) {
+#else
+ if ((g_asix_rx_length + (16 * 1024)) > CONFIG_USBHOST_ASIX_ETH_MAX_RX_SIZE) {
+#endif
+ USB_LOG_ERR("Rx packet is overflow, please ruduce tcp window size or increase CONFIG_USBHOST_ASIX_ETH_MAX_RX_SIZE\r\n");
+ while (1) {
+ }
}
}
}
@@ -711,18 +755,19 @@ delete:
// clang-format on
}
-int usbh_asix_eth_output(uint8_t *buf, uint32_t buflen)
+uint8_t *usbh_asix_get_eth_txbuf(void)
+{
+ return &g_asix_tx_buffer[4];
+}
+
+int usbh_asix_eth_output(uint32_t buflen)
{
uint16_t actual_len;
- uint8_t *buffer;
if (g_asix_class.connect_status == false) {
return -USB_ERR_NOTCONN;
}
- buffer = &g_asix_tx_buffer[4];
- memcpy(buffer, buf, buflen);
-
g_asix_tx_buffer[0] = buflen & 0xff;
g_asix_tx_buffer[1] = (buflen >> 8) & 0xff;
g_asix_tx_buffer[2] = ~g_asix_tx_buffer[0];
diff --git a/components/drivers/usb/cherryusb/class/vendor/net/usbh_asix.h b/components/drivers/usb/cherryusb/class/vendor/net/usbh_asix.h
index 9f34e570a6..8b0b5d98fd 100644
--- a/components/drivers/usb/cherryusb/class/vendor/net/usbh_asix.h
+++ b/components/drivers/usb/cherryusb/class/vendor/net/usbh_asix.h
@@ -165,7 +165,8 @@ int usbh_asix_get_connect_status(struct usbh_asix *asix_class);
void usbh_asix_run(struct usbh_asix *asix_class);
void usbh_asix_stop(struct usbh_asix *asix_class);
-int usbh_asix_eth_output(uint8_t *buf, uint32_t buflen);
+uint8_t *usbh_asix_get_eth_txbuf(void);
+int usbh_asix_eth_output(uint32_t buflen);
void usbh_asix_eth_input(uint8_t *buf, uint32_t buflen);
void usbh_asix_rx_thread(void *argument);
diff --git a/components/drivers/usb/cherryusb/class/vendor/net/usbh_rtl8152.c b/components/drivers/usb/cherryusb/class/vendor/net/usbh_rtl8152.c
index 3bd68a1dfd..dde665db1e 100644
--- a/components/drivers/usb/cherryusb/class/vendor/net/usbh_rtl8152.c
+++ b/components/drivers/usb/cherryusb/class/vendor/net/usbh_rtl8152.c
@@ -946,9 +946,14 @@ static int usbh_rtl8152_read_regs(struct usbh_rtl8152 *rtl8152_class,
uint16_t size,
void *data)
{
- struct usb_setup_packet *setup = rtl8152_class->hport->setup;
+ struct usb_setup_packet *setup;
int ret;
+ if (!rtl8152_class || !rtl8152_class->hport) {
+ return -USB_ERR_INVAL;
+ }
+ setup = rtl8152_class->hport->setup;
+
setup->bmRequestType = USB_REQUEST_DIR_IN | USB_REQUEST_VENDOR | USB_REQUEST_RECIPIENT_DEVICE;
setup->bRequest = RTL8152_REQ_GET_REGS;
setup->wValue = value;
@@ -970,7 +975,12 @@ static int usbh_rtl8152_write_regs(struct usbh_rtl8152 *rtl8152_class,
uint16_t size,
void *data)
{
- struct usb_setup_packet *setup = rtl8152_class->hport->setup;
+ struct usb_setup_packet *setup;
+
+ if (!rtl8152_class || !rtl8152_class->hport) {
+ return -USB_ERR_INVAL;
+ }
+ setup = rtl8152_class->hport->setup;
setup->bmRequestType = USB_REQUEST_DIR_OUT | USB_REQUEST_VENDOR | USB_REQUEST_RECIPIENT_DEVICE;
setup->bRequest = RTL8152_REQ_SET_REGS;
@@ -2080,7 +2090,7 @@ static int usbh_rtl8152_connect(struct usbh_hubport *hport, uint8_t intf)
}
}
- memcpy(hport->config.intf[intf].devname, DEV_FORMAT, CONFIG_USBHOST_DEV_NAMELEN);
+ strncpy(hport->config.intf[intf].devname, DEV_FORMAT, CONFIG_USBHOST_DEV_NAMELEN);
USB_LOG_INFO("Register RTL8152 Class:%s\r\n", hport->config.intf[intf].devname);
@@ -2124,6 +2134,11 @@ void usbh_rtl8152_rx_thread(void *argument)
int ret;
uint16_t len;
uint16_t data_offset;
+#if CONFIG_USBHOST_RTL8152_ETH_MAX_RX_SIZE <= (16 * 1024)
+ uint32_t transfer_size = CONFIG_USBHOST_RTL8152_ETH_MAX_RX_SIZE;
+#else
+ uint32_t transfer_size = (16 * 1024);
+#endif
USB_LOG_INFO("Create rtl8152 rx thread\r\n");
// clang-format off
@@ -2154,7 +2169,7 @@ find_class:
g_rtl8152_rx_length = 0;
while (1) {
- usbh_bulk_urb_fill(&g_rtl8152_class.bulkin_urb, g_rtl8152_class.hport, g_rtl8152_class.bulkin, &g_rtl8152_rx_buffer[g_rtl8152_rx_length], (CONFIG_USBHOST_RTL8152_ETH_MAX_RX_SIZE > (16 * 1024)) ? (16 * 1024) : CONFIG_USBHOST_RTL8152_ETH_MAX_RX_SIZE, USB_OSAL_WAITING_FOREVER, NULL, NULL);
+ usbh_bulk_urb_fill(&g_rtl8152_class.bulkin_urb, g_rtl8152_class.hport, g_rtl8152_class.bulkin, &g_rtl8152_rx_buffer[g_rtl8152_rx_length], transfer_size, USB_OSAL_WAITING_FOREVER, NULL, NULL);
ret = usbh_submit_urb(&g_rtl8152_class.bulkin_urb);
if (ret < 0) {
goto find_class;
@@ -2162,7 +2177,12 @@ find_class:
g_rtl8152_rx_length += g_rtl8152_class.bulkin_urb.actual_length;
- if (g_rtl8152_rx_length % USB_GET_MAXPACKETSIZE(g_rtl8152_class.bulkin->wMaxPacketSize)) {
+ /* A transfer is complete because last packet is a short packet.
+ * Short packet is not zero, match g_rtl8152_rx_length % USB_GET_MAXPACKETSIZE(g_rtl8152_class.bulkin->wMaxPacketSize).
+ * Short packet is zero, check if g_rtl8152_class.bulkin_urb.actual_length < transfer_size, for example transfer is complete with size is 1024 < 2048.
+ */
+ if (g_rtl8152_rx_length % USB_GET_MAXPACKETSIZE(g_rtl8152_class.bulkin->wMaxPacketSize) ||
+ (g_rtl8152_class.bulkin_urb.actual_length < transfer_size)) {
data_offset = 0;
USB_LOG_DBG("rxlen:%d\r\n", g_rtl8152_rx_length);
@@ -2185,9 +2205,14 @@ find_class:
}
}
} else {
- if (g_rtl8152_rx_length > CONFIG_USBHOST_RTL8152_ETH_MAX_RX_SIZE) {
- USB_LOG_ERR("Rx packet is overflow\r\n");
- g_rtl8152_rx_length = 0;
+#if CONFIG_USBHOST_RTL8152_ETH_MAX_RX_SIZE <= (16 * 1024)
+ if (g_rtl8152_rx_length == CONFIG_USBHOST_RTL8152_ETH_MAX_RX_SIZE) {
+#else
+ if ((g_rtl8152_rx_length + (16 * 1024)) > CONFIG_USBHOST_RTL8152_ETH_MAX_RX_SIZE) {
+#endif
+ USB_LOG_ERR("Rx packet is overflow, please ruduce tcp window size or increase CONFIG_USBHOST_RTL8152_ETH_MAX_RX_SIZE\r\n");
+ while (1) {
+ }
}
}
}
@@ -2198,9 +2223,13 @@ delete:
// clang-format on
}
-int usbh_rtl8152_eth_output(uint8_t *buf, uint32_t buflen)
+uint8_t *usbh_rtl8152_get_eth_txbuf(void)
+{
+ return (g_rtl8152_tx_buffer + sizeof(struct tx_desc));
+}
+
+int usbh_rtl8152_eth_output(uint32_t buflen)
{
- uint8_t *buffer;
struct tx_desc *tx_desc;
if (g_rtl8152_class.connect_status == false) {
@@ -2211,9 +2240,6 @@ int usbh_rtl8152_eth_output(uint8_t *buf, uint32_t buflen)
tx_desc->opts1 = buflen | TX_FS | TX_LS;
tx_desc->opts2 = 0;
- buffer = g_rtl8152_tx_buffer + sizeof(struct tx_desc);
- memcpy(buffer, buf, buflen);
-
USB_LOG_DBG("txlen:%d\r\n", buflen + sizeof(struct tx_desc));
usbh_bulk_urb_fill(&g_rtl8152_class.bulkout_urb, g_rtl8152_class.hport, g_rtl8152_class.bulkout, g_rtl8152_tx_buffer, buflen + sizeof(struct tx_desc), USB_OSAL_WAITING_FOREVER, NULL, NULL);
diff --git a/components/drivers/usb/cherryusb/class/vendor/net/usbh_rtl8152.h b/components/drivers/usb/cherryusb/class/vendor/net/usbh_rtl8152.h
index a9aa794355..9d593b9126 100644
--- a/components/drivers/usb/cherryusb/class/vendor/net/usbh_rtl8152.h
+++ b/components/drivers/usb/cherryusb/class/vendor/net/usbh_rtl8152.h
@@ -56,7 +56,8 @@ int usbh_rtl8152_get_connect_status(struct usbh_rtl8152 *rtl8152_class);
void usbh_rtl8152_run(struct usbh_rtl8152 *rtl8152_class);
void usbh_rtl8152_stop(struct usbh_rtl8152 *rtl8152_class);
-int usbh_rtl8152_eth_output(uint8_t *buf, uint32_t buflen);
+uint8_t *usbh_rtl8152_get_eth_txbuf(void);
+int usbh_rtl8152_eth_output(uint32_t buflen);
void usbh_rtl8152_eth_input(uint8_t *buf, uint32_t buflen);
void usbh_rtl8152_rx_thread(void *argument);
diff --git a/components/drivers/usb/cherryusb/class/vendor/serial/usbh_ch34x.c b/components/drivers/usb/cherryusb/class/vendor/serial/usbh_ch34x.c
index 6321d81339..7c275e170d 100644
--- a/components/drivers/usb/cherryusb/class/vendor/serial/usbh_ch34x.c
+++ b/components/drivers/usb/cherryusb/class/vendor/serial/usbh_ch34x.c
@@ -90,9 +90,14 @@ static int usbh_ch34x_get_baudrate_div(uint32_t baudrate, uint8_t *factor, uint8
static int usbh_ch34x_get_version(struct usbh_ch34x *ch34x_class)
{
- struct usb_setup_packet *setup = ch34x_class->hport->setup;
+ struct usb_setup_packet *setup;
int ret;
+ if (!ch34x_class || !ch34x_class->hport) {
+ return -USB_ERR_INVAL;
+ }
+ setup = ch34x_class->hport->setup;
+
setup->bmRequestType = USB_REQUEST_DIR_IN | USB_REQUEST_VENDOR | USB_REQUEST_RECIPIENT_DEVICE;
setup->bRequest = CH34X_READ_VERSION;
setup->wValue = 0;
@@ -110,7 +115,12 @@ static int usbh_ch34x_get_version(struct usbh_ch34x *ch34x_class)
static int usbh_ch34x_flow_ctrl(struct usbh_ch34x *ch34x_class)
{
- struct usb_setup_packet *setup = ch34x_class->hport->setup;
+ struct usb_setup_packet *setup;
+
+ if (!ch34x_class || !ch34x_class->hport) {
+ return -USB_ERR_INVAL;
+ }
+ setup = ch34x_class->hport->setup;
setup->bmRequestType = USB_REQUEST_DIR_OUT | USB_REQUEST_VENDOR | USB_REQUEST_RECIPIENT_DEVICE;
setup->bRequest = CH34X_WRITE_REG;
@@ -123,12 +133,17 @@ static int usbh_ch34x_flow_ctrl(struct usbh_ch34x *ch34x_class)
int usbh_ch34x_set_line_coding(struct usbh_ch34x *ch34x_class, struct cdc_line_coding *line_coding)
{
- struct usb_setup_packet *setup = ch34x_class->hport->setup;
+ struct usb_setup_packet *setup;
uint16_t reg_value = 0;
uint16_t value = 0;
uint8_t factor = 0;
uint8_t divisor = 0;
+ if (!ch34x_class || !ch34x_class->hport) {
+ return -USB_ERR_INVAL;
+ }
+ setup = ch34x_class->hport->setup;
+
memcpy((uint8_t *)&ch34x_class->line_coding, line_coding, sizeof(struct cdc_line_coding));
/* refer to https://github.com/WCHSoftGroup/ch341ser_linux/blob/main/driver/ch341.c */
@@ -197,7 +212,12 @@ int usbh_ch34x_get_line_coding(struct usbh_ch34x *ch34x_class, struct cdc_line_c
int usbh_ch34x_set_line_state(struct usbh_ch34x *ch34x_class, bool dtr, bool rts)
{
- struct usb_setup_packet *setup = ch34x_class->hport->setup;
+ struct usb_setup_packet *setup;
+
+ if (!ch34x_class || !ch34x_class->hport) {
+ return -USB_ERR_INVAL;
+ }
+ setup = ch34x_class->hport->setup;
setup->bmRequestType = USB_REQUEST_DIR_OUT | USB_REQUEST_VENDOR | USB_REQUEST_RECIPIENT_DEVICE;
setup->bRequest = CH34X_MODEM_CTRL;
diff --git a/components/drivers/usb/cherryusb/class/vendor/serial/usbh_cp210x.c b/components/drivers/usb/cherryusb/class/vendor/serial/usbh_cp210x.c
index e27161bdec..ae882fb60f 100644
--- a/components/drivers/usb/cherryusb/class/vendor/serial/usbh_cp210x.c
+++ b/components/drivers/usb/cherryusb/class/vendor/serial/usbh_cp210x.c
@@ -42,7 +42,12 @@ static void usbh_cp210x_class_free(struct usbh_cp210x *cp210x_class)
static int usbh_cp210x_enable(struct usbh_cp210x *cp210x_class)
{
- struct usb_setup_packet *setup = cp210x_class->hport->setup;
+ struct usb_setup_packet *setup;
+
+ if (!cp210x_class || !cp210x_class->hport) {
+ return -USB_ERR_INVAL;
+ }
+ setup = cp210x_class->hport->setup;
setup->bmRequestType = USB_REQUEST_DIR_OUT | USB_REQUEST_VENDOR | USB_REQUEST_RECIPIENT_INTERFACE;
setup->bRequest = CP210X_IFC_ENABLE;
@@ -55,7 +60,12 @@ static int usbh_cp210x_enable(struct usbh_cp210x *cp210x_class)
static int usbh_cp210x_set_flow(struct usbh_cp210x *cp210x_class)
{
- struct usb_setup_packet *setup = cp210x_class->hport->setup;
+ struct usb_setup_packet *setup;
+
+ if (!cp210x_class || !cp210x_class->hport) {
+ return -USB_ERR_INVAL;
+ }
+ setup = cp210x_class->hport->setup;
setup->bmRequestType = USB_REQUEST_DIR_OUT | USB_REQUEST_VENDOR | USB_REQUEST_RECIPIENT_INTERFACE;
setup->bRequest = CP210X_SET_FLOW;
@@ -70,7 +80,12 @@ static int usbh_cp210x_set_flow(struct usbh_cp210x *cp210x_class)
static int usbh_cp210x_set_chars(struct usbh_cp210x *cp210x_class)
{
- struct usb_setup_packet *setup = cp210x_class->hport->setup;
+ struct usb_setup_packet *setup;
+
+ if (!cp210x_class || !cp210x_class->hport) {
+ return -USB_ERR_INVAL;
+ }
+ setup = cp210x_class->hport->setup;
setup->bmRequestType = USB_REQUEST_DIR_OUT | USB_REQUEST_VENDOR | USB_REQUEST_RECIPIENT_INTERFACE;
setup->bRequest = CP210X_SET_CHARS;
@@ -87,7 +102,12 @@ static int usbh_cp210x_set_chars(struct usbh_cp210x *cp210x_class)
static int usbh_cp210x_set_baudrate(struct usbh_cp210x *cp210x_class, uint32_t baudrate)
{
- struct usb_setup_packet *setup = cp210x_class->hport->setup;
+ struct usb_setup_packet *setup;
+
+ if (!cp210x_class || !cp210x_class->hport) {
+ return -USB_ERR_INVAL;
+ }
+ setup = cp210x_class->hport->setup;
setup->bmRequestType = USB_REQUEST_DIR_OUT | USB_REQUEST_VENDOR | USB_REQUEST_RECIPIENT_INTERFACE;
setup->bRequest = CP210X_SET_BAUDRATE;
@@ -101,9 +121,14 @@ static int usbh_cp210x_set_baudrate(struct usbh_cp210x *cp210x_class, uint32_t b
static int usbh_cp210x_set_data_format(struct usbh_cp210x *cp210x_class, uint8_t databits, uint8_t parity, uint8_t stopbits)
{
- struct usb_setup_packet *setup = cp210x_class->hport->setup;
+ struct usb_setup_packet *setup;
uint16_t value;
+ if (!cp210x_class || !cp210x_class->hport) {
+ return -USB_ERR_INVAL;
+ }
+ setup = cp210x_class->hport->setup;
+
value = ((databits & 0x0F) << 8) | ((parity & 0x0f) << 4) | ((stopbits & 0x03) << 0);
setup->bmRequestType = USB_REQUEST_DIR_OUT | USB_REQUEST_VENDOR | USB_REQUEST_RECIPIENT_INTERFACE;
@@ -117,9 +142,14 @@ static int usbh_cp210x_set_data_format(struct usbh_cp210x *cp210x_class, uint8_t
static int usbh_cp210x_set_mhs(struct usbh_cp210x *cp210x_class, uint8_t dtr, uint8_t rts, uint8_t dtr_mask, uint8_t rts_mask)
{
- struct usb_setup_packet *setup = cp210x_class->hport->setup;
+ struct usb_setup_packet *setup;
uint16_t value;
+ if (!cp210x_class || !cp210x_class->hport) {
+ return -USB_ERR_INVAL;
+ }
+ setup = cp210x_class->hport->setup;
+
value = ((dtr & 0x01) << 0) | ((rts & 0x01) << 1) | ((dtr_mask & 0x01) << 8) | ((rts_mask & 0x01) << 9);
setup->bmRequestType = USB_REQUEST_DIR_OUT | USB_REQUEST_VENDOR | USB_REQUEST_RECIPIENT_INTERFACE;
diff --git a/components/drivers/usb/cherryusb/class/vendor/serial/usbh_ftdi.c b/components/drivers/usb/cherryusb/class/vendor/serial/usbh_ftdi.c
index c84d2d8c01..ba5aae5ede 100644
--- a/components/drivers/usb/cherryusb/class/vendor/serial/usbh_ftdi.c
+++ b/components/drivers/usb/cherryusb/class/vendor/serial/usbh_ftdi.c
@@ -71,7 +71,12 @@ static void usbh_ftdi_caculate_baudrate(uint32_t *itdf_divisor, uint32_t actual_
int usbh_ftdi_reset(struct usbh_ftdi *ftdi_class)
{
- struct usb_setup_packet *setup = ftdi_class->hport->setup;
+ struct usb_setup_packet *setup;
+
+ if (!ftdi_class || !ftdi_class->hport) {
+ return -USB_ERR_INVAL;
+ }
+ setup = ftdi_class->hport->setup;
setup->bmRequestType = USB_REQUEST_DIR_OUT | USB_REQUEST_VENDOR | USB_REQUEST_RECIPIENT_DEVICE;
setup->bRequest = SIO_RESET_REQUEST;
@@ -84,7 +89,12 @@ int usbh_ftdi_reset(struct usbh_ftdi *ftdi_class)
static int usbh_ftdi_set_modem(struct usbh_ftdi *ftdi_class, uint16_t value)
{
- struct usb_setup_packet *setup = ftdi_class->hport->setup;
+ struct usb_setup_packet *setup;
+
+ if (!ftdi_class || !ftdi_class->hport) {
+ return -USB_ERR_INVAL;
+ }
+ setup = ftdi_class->hport->setup;
setup->bmRequestType = USB_REQUEST_DIR_OUT | USB_REQUEST_VENDOR | USB_REQUEST_RECIPIENT_DEVICE;
setup->bRequest = SIO_SET_MODEM_CTRL_REQUEST;
@@ -97,11 +107,16 @@ static int usbh_ftdi_set_modem(struct usbh_ftdi *ftdi_class, uint16_t value)
static int usbh_ftdi_set_baudrate(struct usbh_ftdi *ftdi_class, uint32_t baudrate)
{
- struct usb_setup_packet *setup = ftdi_class->hport->setup;
+ struct usb_setup_packet *setup;
uint32_t itdf_divisor;
uint16_t value;
uint8_t baudrate_high;
+ if (!ftdi_class || !ftdi_class->hport) {
+ return -USB_ERR_INVAL;
+ }
+ setup = ftdi_class->hport->setup;
+
usbh_ftdi_caculate_baudrate(&itdf_divisor, baudrate);
value = itdf_divisor & 0xFFFF;
baudrate_high = (itdf_divisor >> 16) & 0xff;
@@ -123,10 +138,15 @@ static int usbh_ftdi_set_data_format(struct usbh_ftdi *ftdi_class, uint8_t datab
* D11-D12 STOP_BIT_1=0, STOP_BIT_15=1, STOP_BIT_2=2
* D14 BREAK_OFF=0, BREAK_ON=1
**/
+ struct usb_setup_packet *setup;
+ uint16_t value;
- uint16_t value = ((isbreak & 0x01) << 14) | ((stopbits & 0x03) << 11) | ((parity & 0x0f) << 8) | (databits & 0x0f);
+ if (!ftdi_class || !ftdi_class->hport) {
+ return -USB_ERR_INVAL;
+ }
+ setup = ftdi_class->hport->setup;
- struct usb_setup_packet *setup = ftdi_class->hport->setup;
+ value = ((isbreak & 0x01) << 14) | ((stopbits & 0x03) << 11) | ((parity & 0x0f) << 8) | (databits & 0x0f);
setup->bmRequestType = USB_REQUEST_DIR_OUT | USB_REQUEST_VENDOR | USB_REQUEST_RECIPIENT_DEVICE;
setup->bRequest = SIO_SET_DATA_REQUEST;
@@ -139,7 +159,12 @@ static int usbh_ftdi_set_data_format(struct usbh_ftdi *ftdi_class, uint8_t datab
static int usbh_ftdi_set_latency_timer(struct usbh_ftdi *ftdi_class, uint16_t value)
{
- struct usb_setup_packet *setup = ftdi_class->hport->setup;
+ struct usb_setup_packet *setup;
+
+ if (!ftdi_class || !ftdi_class->hport) {
+ return -USB_ERR_INVAL;
+ }
+ setup = ftdi_class->hport->setup;
setup->bmRequestType = USB_REQUEST_DIR_OUT | USB_REQUEST_VENDOR | USB_REQUEST_RECIPIENT_DEVICE;
setup->bRequest = SIO_SET_LATENCY_TIMER_REQUEST;
@@ -152,7 +177,12 @@ static int usbh_ftdi_set_latency_timer(struct usbh_ftdi *ftdi_class, uint16_t va
static int usbh_ftdi_set_flow_ctrl(struct usbh_ftdi *ftdi_class, uint16_t value)
{
- struct usb_setup_packet *setup = ftdi_class->hport->setup;
+ struct usb_setup_packet *setup;
+
+ if (!ftdi_class || !ftdi_class->hport) {
+ return -USB_ERR_INVAL;
+ }
+ setup = ftdi_class->hport->setup;
setup->bmRequestType = USB_REQUEST_DIR_OUT | USB_REQUEST_VENDOR | USB_REQUEST_RECIPIENT_DEVICE;
setup->bRequest = SIO_SET_FLOW_CTRL_REQUEST;
@@ -165,9 +195,14 @@ static int usbh_ftdi_set_flow_ctrl(struct usbh_ftdi *ftdi_class, uint16_t value)
static int usbh_ftdi_read_modem_status(struct usbh_ftdi *ftdi_class)
{
- struct usb_setup_packet *setup = ftdi_class->hport->setup;
+ struct usb_setup_packet *setup;
int ret;
+ if (!ftdi_class || !ftdi_class->hport) {
+ return -USB_ERR_INVAL;
+ }
+ setup = ftdi_class->hport->setup;
+
setup->bmRequestType = USB_REQUEST_DIR_IN | USB_REQUEST_VENDOR | USB_REQUEST_RECIPIENT_DEVICE;
setup->bRequest = SIO_POLL_MODEM_STATUS_REQUEST;
setup->wValue = 0x0000;
diff --git a/components/drivers/usb/cherryusb/class/vendor/serial/usbh_pl2303.c b/components/drivers/usb/cherryusb/class/vendor/serial/usbh_pl2303.c
index 2305f44597..c64a1c3331 100644
--- a/components/drivers/usb/cherryusb/class/vendor/serial/usbh_pl2303.c
+++ b/components/drivers/usb/cherryusb/class/vendor/serial/usbh_pl2303.c
@@ -131,7 +131,12 @@ static int usbh_pl2303_do(struct usbh_pl2303 *pl2303_class,
uint8_t req_type, uint8_t request, uint16_t value, uint16_t index,
uint16_t length)
{
- struct usb_setup_packet *setup = pl2303_class->hport->setup;
+ struct usb_setup_packet *setup;
+
+ if (!pl2303_class || !pl2303_class->hport) {
+ return -USB_ERR_INVAL;
+ }
+ setup = pl2303_class->hport->setup;
setup->bmRequestType = req_type;
setup->bRequest = request;
@@ -144,7 +149,12 @@ static int usbh_pl2303_do(struct usbh_pl2303 *pl2303_class,
int usbh_pl2303_set_line_coding(struct usbh_pl2303 *pl2303_class, struct cdc_line_coding *line_coding)
{
- struct usb_setup_packet *setup = pl2303_class->hport->setup;
+ struct usb_setup_packet *setup;
+
+ if (!pl2303_class || !pl2303_class->hport) {
+ return -USB_ERR_INVAL;
+ }
+ setup = pl2303_class->hport->setup;
setup->bmRequestType = USB_REQUEST_DIR_OUT | USB_REQUEST_CLASS | USB_REQUEST_RECIPIENT_INTERFACE;
setup->bRequest = CDC_REQUEST_SET_LINE_CODING;
@@ -159,9 +169,14 @@ int usbh_pl2303_set_line_coding(struct usbh_pl2303 *pl2303_class, struct cdc_lin
int usbh_pl2303_get_line_coding(struct usbh_pl2303 *pl2303_class, struct cdc_line_coding *line_coding)
{
- struct usb_setup_packet *setup = pl2303_class->hport->setup;
+ struct usb_setup_packet *setup;
int ret;
+ if (!pl2303_class || !pl2303_class->hport) {
+ return -USB_ERR_INVAL;
+ }
+ setup = pl2303_class->hport->setup;
+
setup->bmRequestType = USB_REQUEST_DIR_IN | USB_REQUEST_CLASS | USB_REQUEST_RECIPIENT_INTERFACE;
setup->bRequest = CDC_REQUEST_GET_LINE_CODING;
setup->wValue = 0;
@@ -178,7 +193,12 @@ int usbh_pl2303_get_line_coding(struct usbh_pl2303 *pl2303_class, struct cdc_lin
int usbh_pl2303_set_line_state(struct usbh_pl2303 *pl2303_class, bool dtr, bool rts)
{
- struct usb_setup_packet *setup = pl2303_class->hport->setup;
+ struct usb_setup_packet *setup;
+
+ if (!pl2303_class || !pl2303_class->hport) {
+ return -USB_ERR_INVAL;
+ }
+ setup = pl2303_class->hport->setup;
setup->bmRequestType = USB_REQUEST_DIR_OUT | USB_REQUEST_CLASS | USB_REQUEST_RECIPIENT_INTERFACE;
setup->bRequest = CDC_REQUEST_SET_CONTROL_LINE_STATE;
diff --git a/components/drivers/usb/cherryusb/class/video/usb_video.h b/components/drivers/usb/cherryusb/class/video/usb_video.h
index 4997526baa..ff36fece09 100644
--- a/components/drivers/usb/cherryusb/class/video/usb_video.h
+++ b/components/drivers/usb/cherryusb/class/video/usb_video.h
@@ -806,14 +806,15 @@ struct video_still_probe_and_commit_controls {
struct video_cs_if_vc_header_descriptor {
uint8_t bLength;
uint8_t bDescriptorType;
- uint16_t bcdVDC;
+ uint8_t bDescriptorSubType;
+ uint16_t bcdUVC;
uint16_t wTotalLength;
uint32_t dwClockFrequency;
uint8_t bInCollection;
uint8_t baInterfaceNr[];
} __PACKED;
-#define VIDEO_SIZEOF_VC_HEADER_DESC(n) (11 + n)
+#define VIDEO_SIZEOF_VC_HEADER_DESC(n) (12 + n)
struct video_cs_if_vc_input_terminal_descriptor {
uint8_t bLength;
@@ -860,6 +861,22 @@ struct video_cs_if_vc_output_terminal_descriptor {
#define VIDEO_SIZEOF_VC_OUTPUT_TERMINAL_DESC 9
+struct video_cs_if_vc_extension_unit_descriptor {
+ uint8_t bLength;
+ uint8_t bDescriptorType;
+ uint8_t bDescriptorSubType;
+ uint8_t bUnitID;
+ uint8_t guidExtensionCode[16];
+ uint8_t bNumControls;
+ uint8_t bNrInPins;
+ // uint8_t baSourceID[];
+ uint8_t bControlSize;
+ // uint8_t bmControls[]
+ uint8_t iExtension;
+} __PACKED;
+
+#define VIDEO_SIZEOF_VC_EXTENSION_UNIT_DESC(p, n) (24 + p + n)
+
struct video_cs_ep_vc_ep_descriptor {
uint8_t bLength;
uint8_t bDescriptorType;
@@ -922,7 +939,7 @@ struct video_cs_if_vs_frame_uncompressed_descriptor {
uint8_t bLength;
uint8_t bDescriptorType;
uint8_t bDescriptorSubType;
- uint8_t bFormatIndex;
+ uint8_t bFrameIndex;
uint8_t bmCapabilities;
uint16_t wWidth;
uint16_t wHeight;
@@ -931,10 +948,10 @@ struct video_cs_if_vs_frame_uncompressed_descriptor {
uint32_t dwMaxVideoFrameBufferSize;
uint32_t dwDefaultFrameInterval;
uint8_t bFrameIntervalType;
- uint32_t dwFrameInterval;
+ uint32_t dwFrameInterval[];
} __PACKED;
-#define VIDEO_SIZEOF_VS_FRAME_UNCOMPRESSED_DESC 30
+#define VIDEO_SIZEOF_VS_FRAME_UNCOMPRESSED_DESC(n) (26 + 4 * (n))
struct video_cs_if_vs_format_mjpeg_descriptor {
uint8_t bLength;
@@ -956,7 +973,7 @@ struct video_cs_if_vs_frame_mjpeg_descriptor {
uint8_t bLength;
uint8_t bDescriptorType;
uint8_t bDescriptorSubType;
- uint8_t bFormatIndex;
+ uint8_t bFrameIndex;
uint8_t bmCapabilities;
uint16_t wWidth;
uint16_t wHeight;
@@ -965,11 +982,48 @@ struct video_cs_if_vs_frame_mjpeg_descriptor {
uint32_t dwMaxVideoFrameBufferSize;
uint32_t dwDefaultFrameInterval;
uint8_t bFrameIntervalType;
- uint32_t dwFrameInterval1;
- uint32_t dwFrameInterval2;
+ uint32_t dwFrameInterval[];
} __PACKED;
-#define VIDEO_SIZEOF_VS_FRAME_MJPEG_DESC(n) (26 + n)
+#define VIDEO_SIZEOF_VS_FRAME_MJPEG_DESC(n) (26 + 4 * (n))
+
+/* H264 Payload - 3.1.1. H264 Video Format Descriptor */
+struct video_cs_if_vs_format_h26x_descriptor {
+ uint8_t bLength;
+ uint8_t bDescriptorType;
+ uint8_t bDescriptorSubType;
+ uint8_t bFormatIndex;
+ uint8_t bNumFrameDescriptors;
+ uint8_t guidFormat[16];
+ uint8_t bBitsPerPixel;
+ uint8_t bDefaultFrameIndex;
+ uint8_t bAspectRatioX;
+ uint8_t bAspectRatioY;
+ uint8_t bmInterfaceFlags;
+ uint8_t bCopyProtect;
+ uint8_t bVariableSize;
+} __PACKED;
+
+#define VIDEO_SIZEOF_VS_FORMAT_H264_DESC 28
+
+/* H264 Payload - 3.1.2. H264 Video Frame Descriptor */
+struct video_cs_if_vs_frame_h26x_descriptor {
+ uint8_t bLength;
+ uint8_t bDescriptorType;
+ uint8_t bDescriptorSubType;
+ uint8_t bFrameIndex;
+ uint8_t bmCapabilities;
+ uint16_t wWidth;
+ uint16_t wHeight;
+ uint32_t dwMinBitRate;
+ uint32_t dwMaxBitRate;
+ uint32_t dwDefaultFrameInterval;
+ uint8_t bFrameIntervalType;
+ uint32_t dwBytesPerLine;
+ uint32_t dwFrameInterval[];
+} __PACKED;
+
+#define VIDEO_SIZEOF_VS_FRAME_H264_DESC(n) (26 + 4 * (n))
struct video_cs_if_vs_colorformat_descriptor {
uint8_t bLength;
@@ -1041,74 +1095,145 @@ struct video_autoexposure_mode {
#define VIDEO_GUID_YUY2 0x59, 0x55, 0x59, 0x32, 0x00, 0x00, 0x10, 0x00, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71
#define VIDEO_GUID_NV12 0x4E, 0x56, 0x31, 0x32, 0x00, 0x00, 0x10, 0x00, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71
+#define VIDEO_GUID_NV21 0x4E, 0x56, 0x32, 0x31, 0x00, 0x00, 0x10, 0x00, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71
#define VIDEO_GUID_M420 0x4D, 0x34, 0x32, 0x30, 0x00, 0x00, 0x10, 0x00, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71
#define VIDEO_GUID_I420 0x49, 0x34, 0x32, 0x30, 0x00, 0x00, 0x10, 0x00, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71
+#define VIDEO_GUID_H264 0x48, 0x32, 0x36, 0x34, 0x00, 0x00, 0x10, 0x00, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71
+
+#define VIDEO_VC_TERMINAL_LEN (13 + 18 + 12 + 9)
+
+/*Length of template descriptor: 81 bytes*/
+#define VIDEO_VC_DESCRIPTOR_LEN (8 + 9 + VIDEO_VC_TERMINAL_LEN + 7 + 5)
+#define VIDEO_VC_NOEP_DESCRIPTOR_LEN (8 + 9 + VIDEO_VC_TERMINAL_LEN)
// clang-format off
-#define VIDEO_VC_DESCRIPTOR_INIT(bFirstInterface, bNumEndpoints, bcdUVC, wTotalLength, dwClockFrequency, stridx) \
- /* Interface Association Descriptor */ \
- 0x08, \
- USB_DESCRIPTOR_TYPE_INTERFACE_ASSOCIATION, \
- bFirstInterface, \
- 0x02, \
- USB_DEVICE_CLASS_VIDEO, \
- VIDEO_SC_VIDEO_INTERFACE_COLLECTION, \
- 0x00, \
- 0x00, \
- /* VideoControl Interface Descriptor */ \
- 0x09, /* bLength */ \
- USB_DESCRIPTOR_TYPE_INTERFACE, /* bDescriptorType */ \
- 0x00, /* bInterfaceNumber */ \
- 0x00, /* bAlternateSetting */ \
- bNumEndpoints, /* bNumEndpoints:1 endpoint (interrupt endpoint) */ \
- USB_DEVICE_CLASS_VIDEO, /* bInterfaceClass : CC_VIDEO */ \
- VIDEO_SC_VIDEOCONTROL, /* bInterfaceSubClass : SC_VIDEOCONTROL */ \
- VIDEO_PC_PROTOCOL_UNDEFINED, /* bInterfaceProtocol : PC_PROTOCOL_UNDEFINED */ \
- stridx, /* iInterface:Index to string descriptor that contains the string */ \
- /*Class-specific VideoControl Interface Descriptor */ \
- 0x0d, /* bLength */ \
- 0x24, /* bDescriptorType : CS_INTERFACE */ \
- VIDEO_VC_HEADER_DESCRIPTOR_SUBTYPE, /* bDescriptorSubType : VC_HEADER subtype */ \
- WBVAL(bcdUVC), /* bcdUVC : Revision of class specification that this device is based upon.*/ \
- WBVAL(wTotalLength), /* wTotalLength */ \
- DBVAL(dwClockFrequency), /* dwClockFrequency : 0x005b8d80 -> 6,000,000 == 6MHz*/ \
- 0x01, /* bInCollection : Number of streaming interfaces. */ \
- (uint8_t)(bFirstInterface + 1), /* baInterfaceNr(0) : VideoStreaming interface 1 belongs to this VideoControl interface.*/ \
- /* Input Terminal 1 -> Processing Unit 2 -> Output Terminal 3 */ \
- 0x12, \
- 0x24, \
- VIDEO_VC_INPUT_TERMINAL_DESCRIPTOR_SUBTYPE, \
- 0x01, /* bTerminalID */ \
- WBVAL(VIDEO_ITT_CAMERA), /* wTerminalType : 0x0201 Camera Sensor*/ \
- 0x00, /* bAssocTerminal */ \
- 0x00, /* iTerminal */ \
- WBVAL(0x0000), /* wObjectiveFocalLengthMin */ \
- WBVAL(0x0000), /* wObjectiveFocalLengthMax */ \
- WBVAL(0x0000), /* wOcularFocalLength */ \
- 0x03, /* bControlSize */ \
- 0x00, 0x00, 0x00, /* bmControls */ \
- 0x0c, \
- 0x24, \
- VIDEO_VC_PROCESSING_UNIT_DESCRIPTOR_SUBTYPE, \
- 0x02, /* bUnitID */ \
- 0x01, /* bSourceID */ \
- 0x00, 0x00, /* wMaxMultiplier */ \
- 0x02, /* bControlSize */ \
- 0x00, 0x00, /* bmControls */ \
- 0x00, /* iProcessing */ \
- 0x00, /* bmVideoStandards */ \
- 0x09, \
- 0x24, \
- VIDEO_VC_OUTPUT_TERMINAL_DESCRIPTOR_SUBTYPE, \
- 0x03, /* bTerminalID */ \
- WBVAL(VIDEO_TT_STREAMING), \
- 0x00, /* bAssocTerminal */ \
- 0x02, /* bSourceID */ \
- 0x00 /* iTerminal */
+#define VIDEO_VC_DESCRIPTOR_INIT(bFirstInterface, bEndpointAddress, bcdUVC, wTotalLength, dwClockFrequency, stridx) \
+ /* Interface Association Descriptor */ \
+ 0x08, \
+ USB_DESCRIPTOR_TYPE_INTERFACE_ASSOCIATION, \
+ bFirstInterface, \
+ 0x02, \
+ USB_DEVICE_CLASS_VIDEO, \
+ VIDEO_SC_VIDEO_INTERFACE_COLLECTION, \
+ 0x00, \
+ 0x00, /* VideoControl Interface Descriptor */ \
+ 0x09, /* bLength */ \
+ USB_DESCRIPTOR_TYPE_INTERFACE, /* bDescriptorType */ \
+ 0x00, /* bInterfaceNumber */ \
+ 0x00, /* bAlternateSetting */ \
+ 0x01, /* bNumEndpoints:1 endpoint (interrupt endpoint) */ \
+ USB_DEVICE_CLASS_VIDEO, /* bInterfaceClass : CC_VIDEO */ \
+ VIDEO_SC_VIDEOCONTROL, /* bInterfaceSubClass : SC_VIDEOCONTROL */ \
+ VIDEO_PC_PROTOCOL_UNDEFINED, /* bInterfaceProtocol : PC_PROTOCOL_UNDEFINED */ \
+ stridx, /* iInterface:Index to string descriptor that contains the string */ /*Class-specific VideoControl Interface Descriptor */ \
+ 0x0d, /* bLength */ \
+ 0x24, /* bDescriptorType : CS_INTERFACE */ \
+ VIDEO_VC_HEADER_DESCRIPTOR_SUBTYPE, /* bDescriptorSubType : VC_HEADER subtype */ \
+ WBVAL(bcdUVC), /* bcdUVC : Revision of class specification that this device is based upon.*/ \
+ WBVAL(wTotalLength), /* wTotalLength */ \
+ DBVAL(dwClockFrequency), /* dwClockFrequency : 0x005b8d80 -> 6,000,000 == 6MHz*/ \
+ 0x01, /* bInCollection : Number of streaming interfaces. */ \
+ (uint8_t)(bFirstInterface + 1), /* baInterfaceNr(0) : VideoStreaming interface 1 belongs to this VideoControl interface.*/ /* Input Terminal 1 -> Processing Unit 2 -> Output Terminal 3 */ \
+ 0x12, \
+ 0x24, \
+ VIDEO_VC_INPUT_TERMINAL_DESCRIPTOR_SUBTYPE, \
+ 0x01, /* bTerminalID */ \
+ WBVAL(VIDEO_ITT_CAMERA), /* wTerminalType : 0x0201 Camera Sensor*/ \
+ 0x00, /* bAssocTerminal */ \
+ 0x00, /* iTerminal */ \
+ WBVAL(0x0000), /* wObjectiveFocalLengthMin */ \
+ WBVAL(0x0000), /* wObjectiveFocalLengthMax */ \
+ WBVAL(0x0000), /* wOcularFocalLength */ \
+ 0x03, /* bControlSize */ \
+ 0x00, 0x00, 0x00, /* bmControls */ \
+ 0x0c, \
+ 0x24, \
+ VIDEO_VC_PROCESSING_UNIT_DESCRIPTOR_SUBTYPE, \
+ 0x02, /* bUnitID */ \
+ 0x01, /* bSourceID */ \
+ 0x00, 0x00, /* wMaxMultiplier */ \
+ 0x02, /* bControlSize */ \
+ 0x00, 0x00, /* bmControls */ \
+ 0x00, /* iProcessing */ \
+ 0x00, /* bmVideoStandards */ \
+ 0x09, \
+ 0x24, \
+ VIDEO_VC_OUTPUT_TERMINAL_DESCRIPTOR_SUBTYPE, \
+ 0x03, /* bTerminalID */ \
+ WBVAL(VIDEO_TT_STREAMING), \
+ 0x00, /* bAssocTerminal */ \
+ 0x02, /* bSourceID */ \
+ 0x00, /* iTerminal */ \
+ 0x07, /* bLength */ \
+ USB_DESCRIPTOR_TYPE_ENDPOINT, /* bDescriptorType */ \
+ bEndpointAddress, /* bEndpointAddress */ \
+ 0x03, /* bmAttributes */ \
+ 0x10, 0x00, /* wMaxPacketSize */ \
+ 0x08, /* bInterval */ \
+ /* Class-specific VC Interrupt Endpoint Descriptor */ \
+ 0x05, 0x25, 0x03, 0x10, 0x00
+
+#define VIDEO_VC_NOEP_DESCRIPTOR_INIT(bFirstInterface, bEndpointAddress, bcdUVC, wTotalLength, dwClockFrequency, stridx) \
+ /* Interface Association Descriptor */ \
+ 0x08, \
+ USB_DESCRIPTOR_TYPE_INTERFACE_ASSOCIATION, \
+ bFirstInterface, \
+ 0x02, \
+ USB_DEVICE_CLASS_VIDEO, \
+ VIDEO_SC_VIDEO_INTERFACE_COLLECTION, \
+ 0x00, \
+ 0x00, /* VideoControl Interface Descriptor */ \
+ 0x09, /* bLength */ \
+ USB_DESCRIPTOR_TYPE_INTERFACE, /* bDescriptorType */ \
+ 0x00, /* bInterfaceNumber */ \
+ 0x00, /* bAlternateSetting */ \
+ 0x00, /* bNumEndpoints:1 endpoint (interrupt endpoint) */ \
+ USB_DEVICE_CLASS_VIDEO, /* bInterfaceClass : CC_VIDEO */ \
+ VIDEO_SC_VIDEOCONTROL, /* bInterfaceSubClass : SC_VIDEOCONTROL */ \
+ VIDEO_PC_PROTOCOL_UNDEFINED, /* bInterfaceProtocol : PC_PROTOCOL_UNDEFINED */ \
+ stridx, /* iInterface:Index to string descriptor that contains the string */ /*Class-specific VideoControl Interface Descriptor */ \
+ 0x0d, /* bLength */ \
+ 0x24, /* bDescriptorType : CS_INTERFACE */ \
+ VIDEO_VC_HEADER_DESCRIPTOR_SUBTYPE, /* bDescriptorSubType : VC_HEADER subtype */ \
+ WBVAL(bcdUVC), /* bcdUVC : Revision of class specification that this device is based upon.*/ \
+ WBVAL(wTotalLength), /* wTotalLength */ \
+ DBVAL(dwClockFrequency), /* dwClockFrequency : 0x005b8d80 -> 6,000,000 == 6MHz*/ \
+ 0x01, /* bInCollection : Number of streaming interfaces. */ \
+ (uint8_t)(bFirstInterface + 1), /* baInterfaceNr(0) : VideoStreaming interface 1 belongs to this VideoControl interface.*/ /* Input Terminal 1 -> Processing Unit 2 -> Output Terminal 3 */ \
+ 0x12, \
+ 0x24, \
+ VIDEO_VC_INPUT_TERMINAL_DESCRIPTOR_SUBTYPE, \
+ 0x01, /* bTerminalID */ \
+ WBVAL(VIDEO_ITT_CAMERA), /* wTerminalType : 0x0201 Camera Sensor*/ \
+ 0x00, /* bAssocTerminal */ \
+ 0x00, /* iTerminal */ \
+ WBVAL(0x0000), /* wObjectiveFocalLengthMin */ \
+ WBVAL(0x0000), /* wObjectiveFocalLengthMax */ \
+ WBVAL(0x0000), /* wOcularFocalLength */ \
+ 0x03, /* bControlSize */ \
+ 0x00, 0x00, 0x00, /* bmControls */ \
+ 0x0c, \
+ 0x24, \
+ VIDEO_VC_PROCESSING_UNIT_DESCRIPTOR_SUBTYPE, \
+ 0x02, /* bUnitID */ \
+ 0x01, /* bSourceID */ \
+ 0x00, 0x00, /* wMaxMultiplier */ \
+ 0x02, /* bControlSize */ \
+ 0x00, 0x00, /* bmControls */ \
+ 0x00, /* iProcessing */ \
+ 0x00, /* bmVideoStandards */ \
+ 0x09, \
+ 0x24, \
+ VIDEO_VC_OUTPUT_TERMINAL_DESCRIPTOR_SUBTYPE, \
+ 0x03, /* bTerminalID */ \
+ WBVAL(VIDEO_TT_STREAMING), \
+ 0x00, /* bAssocTerminal */ \
+ 0x02, /* bSourceID */ \
+ 0x00 /* iTerminal */ \
#define VIDEO_VS_DESCRIPTOR_INIT(bInterfaceNumber, bAlternateSetting, bNumEndpoints) \
/* Video Streaming (VS) Interface Descriptor */ \
- 0x09, /* bLength */ \
+ 0x09, /* bLength */ \
USB_DESCRIPTOR_TYPE_INTERFACE, /* bDescriptorType : INTERFACE */ \
bInterfaceNumber, /* bInterfaceNumber: Index of this interface */ \
bAlternateSetting, /* bAlternateSetting: Index of this alternate setting */ \
@@ -1118,21 +1243,37 @@ struct video_autoexposure_mode {
0x00, /* bInterfaceProtocol : PC_PROTOCOL_UNDEFINED */ \
0x00 /* iInterface : unused */
-#define VIDEO_VS_HEADER_DESCRIPTOR_INIT(bNumFormats, wTotalLength, bEndpointAddress, ...) \
- /*Class-specific VideoStream Header Descriptor (Input) */ \
- 0x0d + PP_NARG(__VA_ARGS__), \
- 0x24, \
- VIDEO_VS_INPUT_HEADER_DESCRIPTOR_SUBTYPE, \
- bNumFormats, /* bNumFormats : One format descriptor follows. */ \
- WBVAL(wTotalLength), \
- bEndpointAddress, \
- 0x00, /* bmInfo : No dynamic format change supported. */ \
- 0x03, /* bTerminalLink : This VideoStreaming interface supplies terminal ID 2 (Output Terminal). */ \
- 0x00, /* bStillCaptureMethod : Device supports still image capture method 0. */ \
- 0x00, /* bTriggerSupport : Hardware trigger supported for still image capture */ \
- 0x00, /* bTriggerUsage : Hardware trigger should initiate a still image capture. */ \
- PP_NARG(__VA_ARGS__), /* bControlSize : Size of the bmaControls field */ \
- __VA_ARGS__ /* bmaControls : No VideoStreaming specific controls are supported.*/
+#define VIDEO_VS_INPUT_HEADER_DESCRIPTOR_INIT(bNumFormats, wTotalLength, bEndpointAddress, ...) \
+ /*Class-specific VideoStream Header Descriptor (Input) */ \
+ 0x0d + PP_NARG(__VA_ARGS__), \
+ 0x24, \
+ VIDEO_VS_INPUT_HEADER_DESCRIPTOR_SUBTYPE, \
+ bNumFormats, /* bNumFormats : One format descriptor follows. */ \
+ WBVAL(wTotalLength), \
+ bEndpointAddress, \
+ 0x00, /* bmInfo : No dynamic format change supported. */ \
+ 0x03, /* bTerminalLink : This VideoStreaming interface supplies terminal ID 2 (Output Terminal). */ \
+ 0x00, /* bStillCaptureMethod : Device supports still image capture method 0. */ \
+ 0x00, /* bTriggerSupport : Hardware trigger supported for still image capture */ \
+ 0x00, /* bTriggerUsage : Hardware trigger should initiate a still image capture. */ \
+ 0x01, /* bControlSize : Size of the bmaControls field */ \
+ __VA_ARGS__ /* bmaControls : No VideoStreaming specific controls are supported.*/
+
+#define VIDEO_VS_OUTPUT_HEADER_DESCRIPTOR_INIT(bNumFormats, wTotalLength, bEndpointAddress, ...) \
+ /*Class-specific VideoStream Header Descriptor (Input) */ \
+ 0x0d + PP_NARG(__VA_ARGS__), \
+ 0x24, \
+ VIDEO_VS_OUTPUT_HEADER_DESCRIPTOR_SUBTYPE, \
+ bNumFormats, /* bNumFormats : One format descriptor follows. */ \
+ WBVAL(wTotalLength), \
+ bEndpointAddress, \
+ 0x00, /* bmInfo : No dynamic format change supported. */ \
+ 0x03, /* bTerminalLink : This VideoStreaming interface supplies terminal ID 2 (Output Terminal). */ \
+ 0x00, /* bStillCaptureMethod : Device supports still image capture method 0. */ \
+ 0x00, /* bTriggerSupport : Hardware trigger supported for still image capture */ \
+ 0x00, /* bTriggerUsage : Hardware trigger should initiate a still image capture. */ \
+ PP_NARG(__VA_ARGS__), /* bControlSize : Size of the bmaControls field */ \
+ __VA_ARGS__ /* bmaControls : No VideoStreaming specific controls are supported.*/
#define VIDEO_VS_FORMAT_UNCOMPRESSED_DESCRIPTOR_INIT(bFormatIndex, bNumFrameDescriptors, GUIDFormat) \
/*Payload Format(UNCOMPRESSED) Descriptor */ \
@@ -1142,7 +1283,7 @@ struct video_autoexposure_mode {
bFormatIndex, /* bFormatIndex : First (and only) format descriptor */ \
bNumFrameDescriptors, /* bNumFrameDescriptors : One frame descriptor for this format follows. */ \
GUIDFormat, /* GUID Format YUY2 {32595559-0000-0010-8000-00AA00389B71} */ \
- 0x0c, /* bBitsPerPixel : Number of bits per pixel used to specify color in the decoded video frame - 16 for yuy2*/ \
+ 0x10, /* bBitsPerPixel : Number of bits per pixel used to specify color in the decoded video frame - 16 for yuy2*/ \
0x01, /* bDefaultFrameIndex : Default frame index is 1. */ \
0x00, /* bAspectRatioX : Non-interlaced stream not required. */ \
0x00, /* bAspectRatioY : Non-interlaced stream not required. */ \
@@ -1150,8 +1291,8 @@ struct video_autoexposure_mode {
0x00 /* bCopyProtect : No restrictions imposed on the duplication of this video stream. */
#define VIDEO_VS_FRAME_UNCOMPRESSED_DESCRIPTOR_INIT(bFrameIndex, wWidth, wHeight, dwMinBitRate, dwMaxBitRate, \
- dwMaxVideoFrameBufferSize, dwDefaultFrameInterval, dwFrameInterval) \
- 0x1e, \
+ dwMaxVideoFrameBufferSize, dwDefaultFrameInterval, bFrameIntervalType, ...) \
+ 0x1a + PP_NARG(__VA_ARGS__), \
0x24, \
VIDEO_VS_FRAME_UNCOMPRESSED_DESCRIPTOR_SUBTYPE, \
bFrameIndex, \
@@ -1161,13 +1302,13 @@ struct video_autoexposure_mode {
DBVAL(dwMinBitRate), \
DBVAL(dwMaxBitRate), \
DBVAL(dwMaxVideoFrameBufferSize), \
- DBVAL(dwDefaultFrameInterval), \
- 0x01, \
- DBVAL(dwFrameInterval)
+ dwDefaultFrameInterval, /* dwDefaultFrameInterval : 1,000,000 * 100ns -> 10 FPS */ \
+ bFrameIntervalType, /* bFrameIntervalType : Indicates how the frame interval can be programmed. 0: Continuous frame interval 1..255: The number of discrete frame */ \
+ __VA_ARGS__
#define VIDEO_VS_FORMAT_MJPEG_DESCRIPTOR_INIT(bFormatIndex, bNumFrameDescriptors) \
/*Payload Format(MJPEG) Descriptor */ \
- 0x0b, /* bLength */ \
+ 0x0b, /* bLength */ \
0x24, /* bDescriptorType : CS_INTERFACE */ \
0x06, /* bDescriptorSubType : VS_FORMAT_MJPEG subtype */ \
bFormatIndex, /* bFormatIndex : First (and only) format descriptor */ \
@@ -1181,7 +1322,7 @@ struct video_autoexposure_mode {
#define VIDEO_VS_FRAME_MJPEG_DESCRIPTOR_INIT(bFrameIndex, wWidth, wHeight, dwMinBitRate, dwMaxBitRate, \
dwMaxVideoFrameBufferSize, dwDefaultFrameInterval, bFrameIntervalType, ...) \
- 0x1a + PP_NARG(__VA_ARGS__), /* bLength */ \
+ 0x1a + PP_NARG(__VA_ARGS__), /* bLength */ \
0x24, /* bDescriptorType : CS_INTERFACE */ \
VIDEO_VS_FRAME_MJPEG_DESCRIPTOR_SUBTYPE, /* bDescriptorSubType : VS_FRAME_MJPEG */ \
bFrameIndex, /* bFrameIndex : First (and only) frame descriptor */ \
@@ -1194,5 +1335,46 @@ struct video_autoexposure_mode {
dwDefaultFrameInterval, /* dwDefaultFrameInterval : 1,000,000 * 100ns -> 10 FPS */ \
bFrameIntervalType, /* bFrameIntervalType : Indicates how the frame interval can be programmed. 0: Continuous frame interval 1..255: The number of discrete frame */ \
__VA_ARGS__
+
+#define VIDEO_VS_FORMAT_H264_DESCRIPTOR_INIT(bFormatIndex, bNumFrameDescriptors) \
+ /*Payload Format(H.264) Descriptor */ \
+ 0x1c, /* bLength */ \
+ 0x24, /* bDescriptorType : CS_INTERFACE */ \
+ VIDEO_VS_FORMAT_FRAME_BASED_DESCRIPTOR_SUBTYPE, /* bDescriptorSubType : VS_FORMAT_FRAME_BASED subtype */\
+ bFormatIndex, /* bFormatIndex : First (and only) format descriptor */ \
+ bNumFrameDescriptors, /* bNumFrameDescriptors : One frame descriptor for this format follows. */ \
+ VIDEO_GUID_H264, \
+ 0x00, /* bmFlags : Uses fixed size samples.. */ \
+ 0x01, /* bDefaultFrameIndex : Default frame index is 1. */ \
+ 0x00, /* bAspectRatioX : Non-interlaced stream – not required. */ \
+ 0x00, /* bAspectRatioY : Non-interlaced stream – not required. */ \
+ 0x00, /* bmInterlaceFlags : Non-interlaced stream */ \
+ 0x00, /* bCopyProtect : No restrictions imposed on the duplication of this video stream. */ \
+ 0x00 /* Variable size: False */
+
+#define VIDEO_VS_FRAME_H264_DESCRIPTOR_INIT(bFrameIndex, wWidth, wHeight, dwMinBitRate, dwMaxBitRate, \
+ dwDefaultFrameInterval, bFrameIntervalType, ...) \
+ 0x1a + PP_NARG(__VA_ARGS__), /* bLength */ \
+ 0x24, /* bDescriptorType : CS_INTERFACE */ \
+ VIDEO_VS_FRAME_FRAME_BASED_DESCRIPTOR_SUBTYPE, /* bDescriptorSubType : VS_FRAME_BASED */ \
+ bFrameIndex, /* bFrameIndex : First (and only) frame descriptor */ \
+ 0x00, /* bmCapabilities : Still images using capture method 0 are supported at this frame setting.D1: Fixed frame-rate. */ \
+ WBVAL(wWidth), /* wWidth (2bytes): Width of frame is 128 pixels. */ \
+ WBVAL(wHeight), /* wHeight (2bytes): Height of frame is 64 pixels. */ \
+ DBVAL(dwMinBitRate), /* dwMinBitRate (4bytes): Min bit rate in bits/s */ \
+ DBVAL(dwMaxBitRate), /* dwMaxBitRate (4bytes): Max bit rate in bits/s */ \
+ dwDefaultFrameInterval, /* dwDefaultFrameInterval : 1,000,000 * 100ns -> 10 FPS */ \
+ bFrameIntervalType, /* bFrameIntervalType : Indicates how the frame interval can be programmed. 0: Continuous frame interval 1..255: The number of discrete frame */ \
+ DBVAL(0x00), /* dwBytesPerLine (4bytes) */ \
+ __VA_ARGS__
+
+#define VIDEO_VS_COLOR_MATCHING_DESCRIPTOR_INIT() \
+ 0x06, /* bLength */ \
+ 0x24, /* bDescriptorType : CS_INTERFACE */ \
+ VIDEO_VS_COLORFORMAT_DESCRIPTOR_SUBTYPE, /* bDescriptorSubType : VS_COLORFORMAT */ \
+ 0x01, /* bColorPrimaries */ \
+ 0x01, /* bTransferCharacteristics */ \
+ 0x04 /* bMatrixCoefficients */
+
// clang-format on
#endif /*USB_VIDEO_H */
\ No newline at end of file
diff --git a/components/drivers/usb/cherryusb/class/video/usbd_video.c b/components/drivers/usb/cherryusb/class/video/usbd_video.c
index 07059ee0d7..b11fa6ad31 100644
--- a/components/drivers/usb/cherryusb/class/video/usbd_video.c
+++ b/components/drivers/usb/cherryusb/class/video/usbd_video.c
@@ -295,8 +295,7 @@ static int usbd_video_control_unit_terminal_request_handler(uint8_t busid, struc
case VIDEO_PU_BRIGHTNESS_CONTROL:
switch (setup->bRequest) {
case VIDEO_REQUEST_SET_CUR: {
- uint16_t wBrightness = (uint16_t)(*data)[1] << 8 | (uint16_t)(*data)[0];
- USB_LOG_INFO("Video set brightness:%d\r\n", wBrightness);
+ //uint16_t wBrightness = (uint16_t)(*data)[1] << 8 | (uint16_t)(*data)[0];
} break;
case VIDEO_REQUEST_GET_CUR: {
uint16_t wBrightness = 0x0080;
@@ -762,7 +761,7 @@ struct usbd_interface *usbd_video_init_intf(uint8_t busid, struct usbd_interface
return intf;
}
-uint32_t usbd_video_mjpeg_payload_fill(uint8_t busid, uint8_t *input, uint32_t input_len, uint8_t *output, uint32_t *out_len)
+uint32_t usbd_video_payload_fill(uint8_t busid, uint8_t *input, uint32_t input_len, uint8_t *output, uint32_t *out_len)
{
uint32_t packets;
uint32_t last_packet_size;
diff --git a/components/drivers/usb/cherryusb/class/video/usbd_video.h b/components/drivers/usb/cherryusb/class/video/usbd_video.h
index 5044af69bc..14636fbc4b 100644
--- a/components/drivers/usb/cherryusb/class/video/usbd_video.h
+++ b/components/drivers/usb/cherryusb/class/video/usbd_video.h
@@ -20,7 +20,7 @@ struct usbd_interface *usbd_video_init_intf(uint8_t busid, struct usbd_interface
void usbd_video_open(uint8_t busid, uint8_t intf);
void usbd_video_close(uint8_t busid, uint8_t intf);
-uint32_t usbd_video_mjpeg_payload_fill(uint8_t busid, uint8_t *input, uint32_t input_len, uint8_t *output, uint32_t *out_len);
+uint32_t usbd_video_payload_fill(uint8_t busid, uint8_t *input, uint32_t input_len, uint8_t *output, uint32_t *out_len);
#ifdef __cplusplus
}
diff --git a/components/drivers/usb/cherryusb/class/video/usbh_video.c b/components/drivers/usb/cherryusb/class/video/usbh_video.c
index 0691066881..0d3f79f7f2 100644
--- a/components/drivers/usb/cherryusb/class/video/usbh_video.c
+++ b/components/drivers/usb/cherryusb/class/video/usbh_video.c
@@ -59,10 +59,15 @@ static void usbh_video_class_free(struct usbh_video *video_class)
int usbh_video_get(struct usbh_video *video_class, uint8_t request, uint8_t intf, uint8_t entity_id, uint8_t cs, uint8_t *buf, uint16_t len)
{
- struct usb_setup_packet *setup = video_class->hport->setup;
+ struct usb_setup_packet *setup;
int ret;
uint8_t retry;
+ if (!video_class || !video_class->hport) {
+ return -USB_ERR_INVAL;
+ }
+ setup = video_class->hport->setup;
+
setup->bmRequestType = USB_REQUEST_DIR_IN | USB_REQUEST_CLASS | USB_REQUEST_RECIPIENT_INTERFACE;
setup->bRequest = request;
setup->wValue = cs << 8;
@@ -91,9 +96,14 @@ int usbh_video_get(struct usbh_video *video_class, uint8_t request, uint8_t intf
int usbh_video_set(struct usbh_video *video_class, uint8_t request, uint8_t intf, uint8_t entity_id, uint8_t cs, uint8_t *buf, uint16_t len)
{
- struct usb_setup_packet *setup = video_class->hport->setup;
+ struct usb_setup_packet *setup;
int ret;
+ if (!video_class || !video_class->hport) {
+ return -USB_ERR_INVAL;
+ }
+ setup = video_class->hport->setup;
+
setup->bmRequestType = USB_REQUEST_DIR_OUT | USB_REQUEST_CLASS | USB_REQUEST_RECIPIENT_INTERFACE;
setup->bRequest = request;
setup->wValue = cs << 8;
@@ -136,7 +146,7 @@ int usbh_video_open(struct usbh_video *video_class,
uint16_t wHeight,
uint8_t altsetting)
{
- struct usb_setup_packet *setup = video_class->hport->setup;
+ struct usb_setup_packet *setup;
struct usb_endpoint_descriptor *ep_desc;
uint8_t mult;
uint16_t mps;
@@ -146,6 +156,11 @@ int usbh_video_open(struct usbh_video *video_class,
uint8_t frameidx = 0;
uint8_t step;
+ if (!video_class || !video_class->hport) {
+ return -USB_ERR_INVAL;
+ }
+ setup = video_class->hport->setup;
+
if (video_class->is_opened) {
return 0;
}
@@ -265,9 +280,14 @@ errout:
int usbh_video_close(struct usbh_video *video_class)
{
- struct usb_setup_packet *setup = video_class->hport->setup;
+ struct usb_setup_packet *setup;
int ret = 0;
+ if (!video_class || !video_class->hport) {
+ return -USB_ERR_INVAL;
+ }
+ setup = video_class->hport->setup;
+
USB_LOG_INFO("Close video device\r\n");
video_class->is_opened = false;
diff --git a/components/drivers/usb/cherryusb/class/wireless/usbd_rndis.c b/components/drivers/usb/cherryusb/class/wireless/usbd_rndis.c
index aaea5431a4..c357b25a2c 100644
--- a/components/drivers/usb/cherryusb/class/wireless/usbd_rndis.c
+++ b/components/drivers/usb/cherryusb/class/wireless/usbd_rndis.c
@@ -217,7 +217,7 @@ static int rndis_query_cmd_handler(uint8_t *data, uint32_t len)
case OID_GEN_MAXIMUM_FRAME_SIZE:
case OID_GEN_TRANSMIT_BLOCK_SIZE:
case OID_GEN_RECEIVE_BLOCK_SIZE:
- RNDIS_INQUIRY_PUT_LE32(0x05DC);
+ RNDIS_INQUIRY_PUT_LE32(0x05DC); /* mtu 1500 */
infomation_len = 4;
break;
case OID_GEN_VENDOR_ID:
@@ -255,7 +255,7 @@ static int rndis_query_cmd_handler(uint8_t *data, uint32_t len)
infomation_len = 4;
break;
case OID_GEN_MAXIMUM_TOTAL_SIZE:
- RNDIS_INQUIRY_PUT_LE32(CONFIG_USBDEV_RNDIS_ETH_MAX_FRAME_SIZE + CONFIG_USBDEV_RNDIS_RESP_BUFFER_SIZE);
+ RNDIS_INQUIRY_PUT_LE32(0x0616); /* 1514 + 44 */
infomation_len = 4;
break;
case OID_GEN_MEDIA_CONNECT_STATUS:
@@ -488,7 +488,7 @@ struct pbuf *usbd_rndis_eth_rx(void)
if (p == NULL) {
return NULL;
}
- memcpy(p->payload, (uint8_t *)g_rndis_rx_data_buffer, g_rndis_rx_data_length);
+ usb_memcpy(p->payload, (uint8_t *)g_rndis_rx_data_buffer, g_rndis_rx_data_length);
p->len = g_rndis_rx_data_length;
USB_LOG_DBG("rxlen:%d\r\n", g_rndis_rx_data_length);
@@ -518,7 +518,7 @@ int usbd_rndis_eth_tx(struct pbuf *p)
buffer = (uint8_t *)(g_rndis_tx_buffer + sizeof(rndis_data_packet_t));
for (q = p; q != NULL; q = q->next) {
- memcpy(buffer, q->payload, q->len);
+ usb_memcpy(buffer, q->payload, q->len);
buffer += q->len;
}
diff --git a/components/drivers/usb/cherryusb/class/wireless/usbh_bluetooth.c b/components/drivers/usb/cherryusb/class/wireless/usbh_bluetooth.c
index 4c223dbfd6..e73eeb0385 100644
--- a/components/drivers/usb/cherryusb/class/wireless/usbh_bluetooth.c
+++ b/components/drivers/usb/cherryusb/class/wireless/usbh_bluetooth.c
@@ -96,7 +96,7 @@ static int usbh_bluetooth_connect(struct usbh_hubport *hport, uint8_t intf)
}
USB_LOG_INFO("Bluetooth select altsetting 0\r\n");
#endif
- snprintf(hport->config.intf[intf].devname, CONFIG_USBHOST_DEV_NAMELEN, DEV_FORMAT);
+ strncpy(hport->config.intf[intf].devname, DEV_FORMAT, CONFIG_USBHOST_DEV_NAMELEN);
USB_LOG_INFO("Register Bluetooth Class:%s\r\n", hport->config.intf[intf].devname);
usbh_bluetooth_run(bluetooth_class);
return ret;
@@ -234,7 +234,12 @@ delete :
static int usbh_bluetooth_hci_cmd(uint8_t *buffer, uint32_t buflen)
{
struct usbh_bluetooth *bluetooth_class = &g_bluetooth_class;
- struct usb_setup_packet *setup = bluetooth_class->hport->setup;
+ struct usb_setup_packet *setup;
+
+ if (!bluetooth_class || !bluetooth_class->hport) {
+ return -USB_ERR_INVAL;
+ }
+ setup = bluetooth_class->hport->setup;
setup->bmRequestType = USB_REQUEST_DIR_OUT | USB_REQUEST_CLASS | USB_REQUEST_RECIPIENT_DEVICE;
setup->bRequest = 0x00;
diff --git a/components/drivers/usb/cherryusb/class/wireless/usbh_rndis.c b/components/drivers/usb/cherryusb/class/wireless/usbh_rndis.c
index 969e6e53a5..e722e50ceb 100644
--- a/components/drivers/usb/cherryusb/class/wireless/usbh_rndis.c
+++ b/components/drivers/usb/cherryusb/class/wireless/usbh_rndis.c
@@ -40,11 +40,16 @@ static int usbh_rndis_get_notification(struct usbh_rndis *rndis_class)
static int usbh_rndis_init_msg_transfer(struct usbh_rndis *rndis_class)
{
- struct usb_setup_packet *setup = rndis_class->hport->setup;
+ struct usb_setup_packet *setup;
int ret = 0;
rndis_initialize_msg_t *cmd;
rndis_initialize_cmplt_t *resp;
+ if (!rndis_class || !rndis_class->hport) {
+ return -USB_ERR_INVAL;
+ }
+ setup = rndis_class->hport->setup;
+
cmd = (rndis_initialize_msg_t *)g_rndis_buf;
cmd->MessageType = REMOTE_NDIS_INITIALIZE_MSG;
@@ -82,16 +87,26 @@ static int usbh_rndis_init_msg_transfer(struct usbh_rndis *rndis_class)
return ret;
}
+ rndis_class->max_transfer_pkts = resp->MaxPacketsPerTransfer;
+ rndis_class->max_transfer_size = resp->MaxTransferSize;
+ USB_LOG_INFO("MaxPacketsPerTransfer:%d\r\n", resp->MaxPacketsPerTransfer);
+ USB_LOG_INFO("MaxTransferSize:%d\r\n", resp->MaxTransferSize);
+
return ret;
}
int usbh_rndis_query_msg_transfer(struct usbh_rndis *rndis_class, uint32_t oid, uint32_t query_len, uint8_t *info, uint32_t *info_len)
{
- struct usb_setup_packet *setup = rndis_class->hport->setup;
+ struct usb_setup_packet *setup;
int ret = 0;
rndis_query_msg_t *cmd;
rndis_query_cmplt_t *resp;
+ if (!rndis_class || !rndis_class->hport) {
+ return -USB_ERR_INVAL;
+ }
+ setup = rndis_class->hport->setup;
+
cmd = (rndis_query_msg_t *)g_rndis_buf;
cmd->MessageType = REMOTE_NDIS_QUERY_MSG;
@@ -138,11 +153,16 @@ int usbh_rndis_query_msg_transfer(struct usbh_rndis *rndis_class, uint32_t oid,
static int usbh_rndis_set_msg_transfer(struct usbh_rndis *rndis_class, uint32_t oid, uint8_t *info, uint32_t info_len)
{
- struct usb_setup_packet *setup = rndis_class->hport->setup;
+ struct usb_setup_packet *setup;
int ret = 0;
rndis_set_msg_t *cmd;
rndis_set_cmplt_t *resp;
+ if (!rndis_class || !rndis_class->hport) {
+ return -USB_ERR_INVAL;
+ }
+ setup = rndis_class->hport->setup;
+
cmd = (rndis_set_msg_t *)g_rndis_buf;
cmd->MessageType = REMOTE_NDIS_SET_MSG;
@@ -205,11 +225,16 @@ int usbh_rndis_get_connect_status(struct usbh_rndis *rndis_class)
int usbh_rndis_keepalive(struct usbh_rndis *rndis_class)
{
- struct usb_setup_packet *setup = rndis_class->hport->setup;
+ struct usb_setup_packet *setup;
int ret = 0;
rndis_keepalive_msg_t *cmd;
rndis_keepalive_cmplt_t *resp;
+ if (!rndis_class || !rndis_class->hport) {
+ return -USB_ERR_INVAL;
+ }
+ setup = rndis_class->hport->setup;
+
cmd = (rndis_keepalive_msg_t *)g_rndis_buf;
cmd->MessageType = REMOTE_NDIS_KEEPALIVE_MSG;
@@ -382,7 +407,7 @@ static int usbh_rndis_connect(struct usbh_hubport *hport, uint8_t intf)
rndis_class->mac[4],
rndis_class->mac[5]);
- memcpy(hport->config.intf[intf].devname, DEV_FORMAT, CONFIG_USBHOST_DEV_NAMELEN);
+ strncpy(hport->config.intf[intf].devname, DEV_FORMAT, CONFIG_USBHOST_DEV_NAMELEN);
USB_LOG_INFO("Register RNDIS Class:%s\r\n", hport->config.intf[intf].devname);
usbh_rndis_run(rndis_class);
@@ -429,6 +454,11 @@ void usbh_rndis_rx_thread(void *argument)
uint32_t pmg_offset;
rndis_data_packet_t *pmsg;
rndis_data_packet_t temp;
+#if CONFIG_USBHOST_RNDIS_ETH_MAX_RX_SIZE <= (16 * 1024)
+ uint32_t transfer_size = CONFIG_USBHOST_RNDIS_ETH_MAX_RX_SIZE;
+#else
+ uint32_t transfer_size = (16 * 1024);
+#endif
USB_LOG_INFO("Create rndis rx thread\r\n");
// clang-format off
@@ -445,17 +475,23 @@ find_class:
usb_osal_msleep(100);
goto find_class;
}
+ usb_osal_msleep(128);
}
g_rndis_rx_length = 0;
while (1) {
- usbh_bulk_urb_fill(&g_rndis_class.bulkin_urb, g_rndis_class.hport, g_rndis_class.bulkin, g_rndis_rx_buffer, (CONFIG_USBHOST_RNDIS_ETH_MAX_RX_SIZE > (16 * 1024)) ? (16 * 1024) : CONFIG_USBHOST_RNDIS_ETH_MAX_RX_SIZE, USB_OSAL_WAITING_FOREVER, NULL, NULL);
+ usbh_bulk_urb_fill(&g_rndis_class.bulkin_urb, g_rndis_class.hport, g_rndis_class.bulkin, &g_rndis_rx_buffer[g_rndis_rx_length], transfer_size, USB_OSAL_WAITING_FOREVER, NULL, NULL);
ret = usbh_submit_urb(&g_rndis_class.bulkin_urb);
if (ret < 0) {
goto find_class;
}
g_rndis_rx_length += g_rndis_class.bulkin_urb.actual_length;
+
+ /* A transfer is complete because last packet is a short packet.
+ * Short packet is not zero, match g_rndis_rx_length % USB_GET_MAXPACKETSIZE(g_rndis_class.bulkin->wMaxPacketSize).
+ * Short packet cannot be zero.
+ */
if (g_rndis_rx_length % USB_GET_MAXPACKETSIZE(g_rndis_class.bulkin->wMaxPacketSize)) {
pmg_offset = 0;
@@ -468,7 +504,7 @@ find_class:
/* Not word-aligned case */
if (pmg_offset & 0x3) {
- memcpy(&temp, pmsg, sizeof(rndis_data_packet_t));
+ usb_memcpy(&temp, pmsg, sizeof(rndis_data_packet_t));
pmsg = &temp;
}
@@ -490,9 +526,14 @@ find_class:
}
}
} else {
- if (g_rndis_rx_length > CONFIG_USBHOST_RNDIS_ETH_MAX_RX_SIZE) {
- USB_LOG_ERR("Rx packet is overflow\r\n");
- g_rndis_rx_length = 0;
+#if CONFIG_USBHOST_RNDIS_ETH_MAX_RX_SIZE <= (16 * 1024)
+ if (g_rndis_rx_length == CONFIG_USBHOST_RNDIS_ETH_MAX_RX_SIZE) {
+#else
+ if ((g_rndis_rx_length + (16 * 1024)) > CONFIG_USBHOST_RNDIS_ETH_MAX_RX_SIZE) {
+#endif
+ USB_LOG_ERR("Rx packet is overflow, please ruduce tcp window size or increase CONFIG_USBHOST_RNDIS_ETH_MAX_RX_SIZE\r\n");
+ while (1) {
+ }
}
}
}
@@ -504,9 +545,13 @@ delete:
// clang-format on
}
-int usbh_rndis_eth_output(uint8_t *buf, uint32_t buflen)
+uint8_t *usbh_rndis_get_eth_txbuf(void)
+{
+ return (g_rndis_tx_buffer + sizeof(rndis_data_packet_t));
+}
+
+int usbh_rndis_eth_output(uint32_t buflen)
{
- uint8_t *buffer;
rndis_data_packet_t *hdr;
uint32_t len;
@@ -522,12 +567,9 @@ int usbh_rndis_eth_output(uint8_t *buf, uint32_t buflen)
hdr->DataOffset = sizeof(rndis_data_packet_t) - sizeof(rndis_generic_msg_t);
hdr->DataLength = buflen;
- buffer = (uint8_t *)(g_rndis_tx_buffer + sizeof(rndis_data_packet_t));
- memcpy(buffer, buf, buflen);
-
len = hdr->MessageLength;
/* if message length is the multiple of wMaxPacketSize, we should add a short packet to tell device transfer is over. */
- if (!(hdr->MessageLength % g_rndis_class.bulkout->wMaxPacketSize)) {
+ if (!(len % g_rndis_class.bulkout->wMaxPacketSize)) {
len += 1;
}
diff --git a/components/drivers/usb/cherryusb/class/wireless/usbh_rndis.h b/components/drivers/usb/cherryusb/class/wireless/usbh_rndis.h
index be56e4004e..17a400067f 100644
--- a/components/drivers/usb/cherryusb/class/wireless/usbh_rndis.h
+++ b/components/drivers/usb/cherryusb/class/wireless/usbh_rndis.h
@@ -22,6 +22,9 @@ struct usbh_rndis {
uint8_t minor;
uint32_t request_id;
+ uint32_t tx_offset;
+ uint32_t max_transfer_pkts; /* max packets in one transfer */
+ uint32_t max_transfer_size; /* max size in one transfer */
uint32_t link_speed;
bool connect_status;
@@ -40,7 +43,8 @@ int usbh_rndis_keepalive(struct usbh_rndis *rndis_class);
void usbh_rndis_run(struct usbh_rndis *rndis_class);
void usbh_rndis_stop(struct usbh_rndis *rndis_class);
-int usbh_rndis_eth_output(uint8_t *buf, uint32_t buflen);
+uint8_t *usbh_rndis_get_eth_txbuf(void);
+int usbh_rndis_eth_output(uint32_t buflen);
void usbh_rndis_eth_input(uint8_t *buf, uint32_t buflen);
void usbh_rndis_rx_thread(void *argument);
diff --git a/components/drivers/usb/cherryusb/common/usb_hc.h b/components/drivers/usb/cherryusb/common/usb_hc.h
index adfddbea77..c4e2a16dc9 100644
--- a/components/drivers/usb/cherryusb/common/usb_hc.h
+++ b/components/drivers/usb/cherryusb/common/usb_hc.h
@@ -34,6 +34,7 @@ struct usbh_iso_frame_packet {
* Structure containing the USB Urb configuration.
*/
struct usbh_urb {
+ usb_slist_t list;
void *hcpriv;
struct usbh_hubport *hport;
struct usb_endpoint_descriptor *ep;
diff --git a/components/drivers/usb/cherryusb/common/usb_memcpy.h b/components/drivers/usb/cherryusb/common/usb_memcpy.h
new file mode 100644
index 0000000000..85cac3116f
--- /dev/null
+++ b/components/drivers/usb/cherryusb/common/usb_memcpy.h
@@ -0,0 +1,91 @@
+/*
+ * Copyright (c) 2024, sakumisu
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+#ifndef USB_MEMCPY_H
+#define USB_MEMCPY_H
+
+#include
+#include
+
+#define ALIGN_UP_DWORD(x) ((uint32_t)(uintptr_t)(x) & (sizeof(uint32_t) - 1))
+
+static inline void dword2array(char *addr, uint32_t w)
+{
+ addr[0] = w;
+ addr[1] = w >> 8;
+ addr[2] = w >> 16;
+ addr[3] = w >> 24;
+}
+
+static inline void *usb_memcpy(void *s1, const void *s2, size_t n)
+{
+ char *b1 = (char *)s1;
+ const char *b2 = (const char *)s2;
+ uint32_t *w1;
+ const uint32_t *w2;
+
+ if (ALIGN_UP_DWORD(b1) == ALIGN_UP_DWORD(b2)) {
+ while (ALIGN_UP_DWORD(b1) != 0 && n > 0) {
+ *b1++ = *b2++;
+ --n;
+ }
+
+ w1 = (uint32_t *)b1;
+ w2 = (const uint32_t *)b2;
+
+ while (n >= 4 * sizeof(uint32_t)) {
+ *w1++ = *w2++;
+ *w1++ = *w2++;
+ *w1++ = *w2++;
+ *w1++ = *w2++;
+ n -= 4 * sizeof(uint32_t);
+ }
+
+ while (n >= sizeof(uint32_t)) {
+ *w1++ = *w2++;
+ n -= sizeof(uint32_t);
+ }
+
+ b1 = (char *)w1;
+ b2 = (const char *)w2;
+
+ while (n--) {
+ *b1++ = *b2++;
+ }
+ } else {
+ while (n > 0 && ALIGN_UP_DWORD(b2) != 0) {
+ *b1++ = *b2++;
+ --n;
+ }
+
+ w2 = (const uint32_t *)b2;
+
+ while (n >= 4 * sizeof(uint32_t)) {
+ dword2array(b1, *w2++);
+ b1 += sizeof(uint32_t);
+ dword2array(b1, *w2++);
+ b1 += sizeof(uint32_t);
+ dword2array(b1, *w2++);
+ b1 += sizeof(uint32_t);
+ dword2array(b1, *w2++);
+ b1 += sizeof(uint32_t);
+ n -= 4 * sizeof(uint32_t);
+ }
+
+ while (n >= sizeof(uint32_t)) {
+ dword2array(b1, *w2++);
+ b1 += sizeof(uint32_t);
+ n -= sizeof(uint32_t);
+ }
+
+ b2 = (const char *)w2;
+
+ while (n--) {
+ *b1++ = *b2++;
+ }
+ }
+ return s1;
+}
+#endif
diff --git a/components/drivers/usb/cherryusb/core/usbd_core.c b/components/drivers/usb/cherryusb/core/usbd_core.c
index 375c123c8c..e072d8a2a5 100644
--- a/components/drivers/usb/cherryusb/core/usbd_core.c
+++ b/components/drivers/usb/cherryusb/core/usbd_core.c
@@ -57,7 +57,7 @@ USB_NOCACHE_RAM_SECTION struct usbd_core_priv {
#ifdef CONFIG_USBDEV_TEST_MODE
bool test_req;
#endif
- struct usbd_interface *intf[8];
+ struct usbd_interface *intf[16];
uint8_t intf_offset;
struct usbd_tx_rx_msg tx_msg[CONFIG_USBDEV_EP_NUM];
@@ -98,7 +98,7 @@ static bool is_device_configured(uint8_t busid)
*/
static bool usbd_set_endpoint(uint8_t busid, const struct usb_endpoint_descriptor *ep)
{
- USB_LOG_INFO("Open ep:0x%02x type:%u mps:%u\r\n",
+ USB_LOG_DBG("Open ep:0x%02x type:%u mps:%u\r\n",
ep->bEndpointAddress,
USB_GET_ENDPOINT_TYPE(ep->bmAttributes),
USB_GET_MAXPACKETSIZE(ep->wMaxPacketSize));
@@ -125,7 +125,7 @@ static bool usbd_set_endpoint(uint8_t busid, const struct usb_endpoint_descripto
*/
static bool usbd_reset_endpoint(uint8_t busid, const struct usb_endpoint_descriptor *ep)
{
- USB_LOG_INFO("Close ep:0x%02x type:%u\r\n",
+ USB_LOG_DBG("Close ep:0x%02x type:%u\r\n",
ep->bEndpointAddress,
USB_GET_ENDPOINT_TYPE(ep->bmAttributes));
@@ -177,8 +177,6 @@ static bool usbd_get_descriptor(uint8_t busid, uint16_t type_index, uint8_t **da
break;
case USB_DESCRIPTOR_TYPE_STRING:
if (index == USB_OSDESC_STRING_DESC_INDEX) {
- USB_LOG_INFO("read MS OS 2.0 descriptor string\r\n");
-
if (!g_usbd_core[busid].descriptors->msosv1_descriptor) {
found = false;
break;
@@ -244,8 +242,6 @@ static bool usbd_get_descriptor(uint8_t busid, uint16_t type_index, uint8_t **da
break;
case USB_DESCRIPTOR_TYPE_BINARY_OBJECT_STORE:
- USB_LOG_INFO("read BOS descriptor string\r\n");
-
if (!g_usbd_core[busid].descriptors->bos_descriptor) {
found = false;
break;
@@ -283,8 +279,6 @@ static bool usbd_get_descriptor(uint8_t busid, uint16_t type_index, uint8_t **da
index = LO_BYTE(type_index);
if ((type == USB_DESCRIPTOR_TYPE_STRING) && (index == USB_OSDESC_STRING_DESC_INDEX)) {
- USB_LOG_INFO("read MS OS 2.0 descriptor string\r\n");
-
if (!g_usbd_core[busid].msosv1_desc) {
return false;
}
@@ -295,8 +289,6 @@ static bool usbd_get_descriptor(uint8_t busid, uint16_t type_index, uint8_t **da
return true;
} else if (type == USB_DESCRIPTOR_TYPE_BINARY_OBJECT_STORE) {
- USB_LOG_INFO("read BOS descriptor string\r\n");
-
if (!g_usbd_core[busid].bos_desc) {
return false;
}
@@ -623,8 +615,6 @@ static bool usbd_std_interface_req_handler(uint8_t busid, struct usb_setup_packe
case USB_REQUEST_GET_DESCRIPTOR:
if (type == 0x22) { /* HID_DESCRIPTOR_TYPE_HID_REPORT */
- USB_LOG_INFO("read hid report descriptor\r\n");
-
for (uint8_t i = 0; i < g_usbd_core[busid].intf_offset; i++) {
struct usbd_interface *intf = g_usbd_core[busid].intf[i];
@@ -813,7 +803,6 @@ static int usbd_vendor_request_handler(uint8_t busid, struct usb_setup_packet *s
if (setup->bRequest == g_usbd_core[busid].descriptors->msosv1_descriptor->vendor_code) {
switch (setup->wIndex) {
case 0x04:
- USB_LOG_INFO("get Compat ID\r\n");
desclen = g_usbd_core[busid].descriptors->msosv1_descriptor->compat_id[0] +
(g_usbd_core[busid].descriptors->msosv1_descriptor->compat_id[1] << 8) +
(g_usbd_core[busid].descriptors->msosv1_descriptor->compat_id[2] << 16) +
@@ -824,7 +813,6 @@ static int usbd_vendor_request_handler(uint8_t busid, struct usb_setup_packet *s
*len = desclen;
return 0;
case 0x05:
- USB_LOG_INFO("get Compat id properties\r\n");
desclen = g_usbd_core[busid].descriptors->msosv1_descriptor->comp_id_property[setup->wValue][0] +
(g_usbd_core[busid].descriptors->msosv1_descriptor->comp_id_property[setup->wValue][1] << 8) +
(g_usbd_core[busid].descriptors->msosv1_descriptor->comp_id_property[setup->wValue][2] << 16) +
@@ -843,8 +831,6 @@ static int usbd_vendor_request_handler(uint8_t busid, struct usb_setup_packet *s
if (setup->bRequest == g_usbd_core[busid].descriptors->msosv2_descriptor->vendor_code) {
switch (setup->wIndex) {
case WINUSB_REQUEST_GET_DESCRIPTOR_SET:
- USB_LOG_INFO("GET MS OS 2.0 Descriptor\r\n");
-
desclen = g_usbd_core[busid].descriptors->msosv2_descriptor->compat_id_len;
*data = (uint8_t *)g_usbd_core[busid].descriptors->msosv2_descriptor->compat_id;
//memcpy(*data, g_usbd_core[busid].descriptors->msosv2_descriptor->compat_id, desclen);
@@ -859,8 +845,6 @@ static int usbd_vendor_request_handler(uint8_t busid, struct usb_setup_packet *s
if (setup->bRequest == g_usbd_core[busid].descriptors->webusb_url_descriptor->vendor_code) {
switch (setup->wIndex) {
case WINUSB_REQUEST_GET_DESCRIPTOR_SET:
- USB_LOG_INFO("GET Webusb url Descriptor\r\n");
-
desclen = g_usbd_core[busid].descriptors->webusb_url_descriptor->string_len;
*data = (uint8_t *)g_usbd_core[busid].descriptors->webusb_url_descriptor->string;
//memcpy(*data, g_usbd_core[busid].descriptors->webusb_url_descriptor->string, desclen);
@@ -877,7 +861,6 @@ static int usbd_vendor_request_handler(uint8_t busid, struct usb_setup_packet *s
if (setup->bRequest == g_usbd_core[busid].msosv1_desc->vendor_code) {
switch (setup->wIndex) {
case 0x04:
- USB_LOG_INFO("get Compat ID\r\n");
*data = (uint8_t *)g_usbd_core[busid].msosv1_desc->compat_id;
desclen = g_usbd_core[busid].msosv1_desc->compat_id[0] +
(g_usbd_core[busid].msosv1_desc->compat_id[1] << 8) +
@@ -887,7 +870,6 @@ static int usbd_vendor_request_handler(uint8_t busid, struct usb_setup_packet *s
*len = desclen;
return 0;
case 0x05:
- USB_LOG_INFO("get Compat id properties\r\n");
*data = (uint8_t *)g_usbd_core[busid].msosv1_desc->comp_id_property[setup->wValue];
desclen = g_usbd_core[busid].msosv1_desc->comp_id_property[setup->wValue][0] +
(g_usbd_core[busid].msosv1_desc->comp_id_property[setup->wValue][1] << 8) +
@@ -905,7 +887,6 @@ static int usbd_vendor_request_handler(uint8_t busid, struct usb_setup_packet *s
if (setup->bRequest == g_usbd_core[busid].msosv2_desc->vendor_code) {
switch (setup->wIndex) {
case WINUSB_REQUEST_GET_DESCRIPTOR_SET:
- USB_LOG_INFO("GET MS OS 2.0 Descriptor\r\n");
*data = (uint8_t *)g_usbd_core[busid].msosv2_desc->compat_id;
//memcpy(*data, g_usbd_core[busid].msosv2_desc->compat_id, g_usbd_core[busid].msosv2_desc->compat_id_len);
*len = g_usbd_core[busid].msosv2_desc->compat_id_len;
diff --git a/components/drivers/usb/cherryusb/core/usbd_core.h b/components/drivers/usb/cherryusb/core/usbd_core.h
index a1a943ecfe..01335f2faf 100644
--- a/components/drivers/usb/cherryusb/core/usbd_core.h
+++ b/components/drivers/usb/cherryusb/core/usbd_core.h
@@ -22,6 +22,7 @@ extern "C" {
#include "usb_list.h"
#include "usb_log.h"
#include "usb_dc.h"
+#include "usb_memcpy.h"
enum usbd_event_type {
/* USB DCD IRQ */
diff --git a/components/drivers/usb/cherryusb/core/usbh_core.c b/components/drivers/usb/cherryusb/core/usbh_core.c
index cda801c33b..d1fc769d50 100644
--- a/components/drivers/usb/cherryusb/core/usbh_core.c
+++ b/components/drivers/usb/cherryusb/core/usbh_core.c
@@ -81,13 +81,9 @@ static int __usbh_free_devaddr(struct usbh_devaddr_map *devgen, uint8_t devaddr)
static int usbh_free_devaddr(struct usbh_hubport *hport)
{
-#ifndef CONFIG_USBHOST_XHCI
if (hport->dev_addr > 0) {
__usbh_free_devaddr(&hport->bus->devgen, hport->dev_addr);
}
-#endif
-
- hport->dev_addr = 0;
return 0;
}
@@ -398,23 +394,12 @@ int usbh_enumerate(struct usbh_hubport *hport)
/* Reconfigure EP0 with the correct maximum packet size */
ep->wMaxPacketSize = ep_mps;
-#ifdef CONFIG_USBHOST_XHCI
- extern int usbh_get_xhci_devaddr(usbh_pipe_t * pipe);
-
- /* Assign a function address to the device connected to this port */
- dev_addr = usbh_get_xhci_devaddr(hport->ep0);
- if (dev_addr < 0) {
- USB_LOG_ERR("Failed to allocate devaddr,errorcode:%d\r\n", ret);
- goto errout;
- }
-#else
/* Assign a function address to the device connected to this port */
dev_addr = usbh_allocate_devaddr(&hport->bus->devgen);
if (dev_addr < 0) {
USB_LOG_ERR("Failed to allocate devaddr,errorcode:%d\r\n", ret);
goto errout;
}
-#endif
/* Set the USB device address */
setup->bmRequestType = USB_REQUEST_DIR_OUT | USB_REQUEST_STANDARD | USB_REQUEST_RECIPIENT_DEVICE;
@@ -617,8 +602,6 @@ void usbh_hubport_release(struct usbh_hubport *hport)
static void usbh_bus_init(struct usbh_bus *bus, uint8_t busid, uint32_t reg_base)
{
- struct usbh_hub *hub;
-
memset(bus, 0, sizeof(struct usbh_bus));
bus->busid = busid;
bus->hcd.hcd_id = busid;
@@ -627,20 +610,6 @@ static void usbh_bus_init(struct usbh_bus *bus, uint8_t busid, uint32_t reg_base
/* devaddr 1 is for roothub */
bus->devgen.next = 2;
- usb_slist_init(&bus->hub_list);
-
- hub = &bus->hcd.roothub;
- hub->connected = true;
- hub->index = 1;
- hub->is_roothub = true;
- hub->parent = NULL;
- hub->hub_addr = 1;
- hub->hub_desc.bNbrPorts = CONFIG_USBHOST_MAX_RHPORTS;
- hub->int_buffer = bus->hcd.roothub_intbuf;
- hub->bus = bus;
-
- usb_slist_init(&bus->hub_list);
- usb_slist_add_tail(&bus->hub_list, &hub->list);
usb_slist_add_tail(&g_bus_head, &bus->list);
}
@@ -684,7 +653,6 @@ int usbh_deinitialize(uint8_t busid)
usbh_hub_deinitialize(bus);
- usb_slist_init(&bus->hub_list);
usb_slist_remove(&g_bus_head, &bus->list);
return 0;
@@ -757,24 +725,29 @@ int usbh_set_interface(struct usbh_hubport *hport, uint8_t intf, uint8_t altsett
return usbh_control_transfer(hport, setup, NULL);
}
-void *usbh_find_class_instance(const char *devname)
+static void *usbh_list_all_interface_name(struct usbh_hub *hub, const char *devname)
{
struct usbh_hubport *hport;
- usb_slist_t *hub_list;
- usb_slist_t *bus_list;
+ struct usbh_hub *hub_next;
+ void *priv;
- usb_slist_for_each(bus_list, &g_bus_head)
- {
- struct usbh_bus *bus = usb_slist_entry(bus_list, struct usbh_bus, list);
- usb_slist_for_each(hub_list, &bus->hub_list)
- {
- struct usbh_hub *hub = usb_slist_entry(hub_list, struct usbh_hub, list);
- for (uint8_t port = 0; port < hub->hub_desc.bNbrPorts; port++) {
- hport = &hub->child[port];
- if (hport->connected) {
- for (uint8_t itf = 0; itf < hport->config.config_desc.bNumInterfaces; itf++) {
- if ((strncmp(hport->config.intf[itf].devname, devname, CONFIG_USBHOST_DEV_NAMELEN) == 0) && hport->config.intf[itf].priv)
- return hport->config.intf[itf].priv;
+ for (uint8_t port = 0; port < hub->hub_desc.bNbrPorts; port++) {
+ hport = &hub->child[port];
+ if (hport->connected) {
+ for (uint8_t itf = 0; itf < hport->config.config_desc.bNumInterfaces; itf++) {
+ if (hport->config.intf[itf].class_driver && hport->config.intf[itf].class_driver->driver_name) {
+ if ((strncmp(hport->config.intf[itf].devname, devname, CONFIG_USBHOST_DEV_NAMELEN) == 0) && hport->config.intf[itf].priv)
+ return hport->config.intf[itf].priv;
+
+ if (strcmp(hport->config.intf[itf].class_driver->driver_name, "hub") == 0) {
+ hub_next = hport->config.intf[itf].priv;
+
+ if (hub_next && hub_next->connected) {
+ priv = usbh_list_all_interface_name(hub_next, devname);
+ if (priv) {
+ return priv;
+ }
+ }
}
}
}
@@ -783,11 +756,101 @@ void *usbh_find_class_instance(const char *devname)
return NULL;
}
+static void usbh_list_all_interface_driver(struct usbh_hub *hub)
+{
+ struct usbh_hubport *hport;
+ struct usbh_hub *hub_next;
+
+ for (uint8_t port = 0; port < hub->hub_desc.bNbrPorts; port++) {
+ hport = &hub->child[port];
+ if (hport->connected) {
+ for (uint8_t itf = 0; itf < hport->config.config_desc.bNumInterfaces; itf++) {
+ if (hport->config.intf[itf].class_driver && hport->config.intf[itf].class_driver->driver_name) {
+ for (uint8_t j = 0; j < hub->index; j++) {
+ USB_LOG_RAW("\t");
+ }
+
+ USB_LOG_RAW("|__Port %u, dev addr:0x%02x, If %u, ClassDriver=%s\r\n",
+ hport->port,
+ hport->dev_addr,
+ itf,
+ hport->config.intf[itf].class_driver->driver_name);
+
+ if (strcmp(hport->config.intf[itf].class_driver->driver_name, "hub") == 0) {
+ hub_next = hport->config.intf[itf].priv;
+
+ if (hub_next && hub_next->connected) {
+ usbh_list_all_interface_driver(hub_next);
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
+static void usbh_list_all_interface_desc(struct usbh_bus *bus, struct usbh_hub *hub)
+{
+ struct usbh_hubport *hport;
+ struct usbh_hub *hub_next;
+
+ for (uint8_t port = 0; port < hub->hub_desc.bNbrPorts; port++) {
+ hport = &hub->child[port];
+ if (hport->connected) {
+ USB_LOG_RAW("\r\nBus %u, Hub %u, Port %u, dev addr:0x%02x, VID:PID 0x%04x:0x%04x\r\n",
+ bus->busid,
+ hub->index,
+ hport->port,
+ hport->dev_addr,
+ hport->device_desc.idVendor,
+ hport->device_desc.idProduct);
+ usbh_print_hubport_info(hport);
+
+ for (uint8_t itf = 0; itf < hport->config.config_desc.bNumInterfaces; itf++) {
+ if (hport->config.intf[itf].class_driver && hport->config.intf[itf].class_driver->driver_name) {
+ if (strcmp(hport->config.intf[itf].class_driver->driver_name, "hub") == 0) {
+ hub_next = hport->config.intf[itf].priv;
+
+ if (hub_next && hub_next->connected) {
+ usbh_list_all_interface_desc(bus, hub_next);
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
+void *usbh_find_class_instance(const char *devname)
+{
+ usb_slist_t *bus_list;
+ struct usbh_hub *hub;
+ struct usbh_bus *bus;
+ void *priv;
+ size_t flags;
+
+ flags = usb_osal_enter_critical_section();
+ usb_slist_for_each(bus_list, &g_bus_head)
+ {
+ bus = usb_slist_entry(bus_list, struct usbh_bus, list);
+ hub = &bus->hcd.roothub;
+
+ priv = usbh_list_all_interface_name(hub, devname);
+ if (priv) {
+ usb_osal_leave_critical_section(flags);
+ return priv;
+ }
+ }
+ usb_osal_leave_critical_section(flags);
+ return NULL;
+}
+
int lsusb(int argc, char **argv)
{
- usb_slist_t *hub_list;
usb_slist_t *bus_list;
- struct usbh_hubport *hport;
+ struct usbh_hub *hub;
+ struct usbh_bus *bus;
+ size_t flags;
if (argc < 2) {
USB_LOG_RAW("Usage: lsusb [options]...\r\n");
@@ -810,69 +873,36 @@ int lsusb(int argc, char **argv)
return 0;
}
+ flags = usb_osal_enter_critical_section();
+
+ if (strcmp(argv[1], "-V") == 0) {
+ USB_LOG_RAW("CherryUSB Version %s\r\n", CHERRYUSB_VERSION_STR);
+ }
+
if (strcmp(argv[1], "-t") == 0) {
usb_slist_for_each(bus_list, &g_bus_head)
{
- struct usbh_bus *bus = usb_slist_entry(bus_list, struct usbh_bus, list);
- usb_slist_for_each(hub_list, &bus->hub_list)
- {
- struct usbh_hub *hub = usb_slist_entry(hub_list, struct usbh_hub, list);
+ bus = usb_slist_entry(bus_list, struct usbh_bus, list);
+ hub = &bus->hcd.roothub;
- if (hub->is_roothub) {
- USB_LOG_RAW("/: Bus %u, Hub %u, ports=%u, is roothub\r\n",
- bus->busid,
- hub->index,
- hub->hub_desc.bNbrPorts);
- } else {
- USB_LOG_RAW("/: Bus %u, Hub %u, ports=%u, mounted on Hub %02u:Port %u\r\n",
- bus->busid,
- hub->index,
- hub->hub_desc.bNbrPorts,
- hub->parent->parent->index,
- hub->parent->port);
- }
-
- for (uint8_t port = 0; port < hub->hub_desc.bNbrPorts; port++) {
- hport = &hub->child[port];
- if (hport->connected) {
- for (uint8_t i = 0; i < hport->config.config_desc.bNumInterfaces; i++) {
- if (hport->config.intf[i].class_driver && hport->config.intf[i].class_driver->driver_name) {
- USB_LOG_RAW("\t|__Port %u, dev addr:0x%02x, If %u, ClassDriver=%s\r\n",
- hport->port,
- hport->dev_addr,
- i,
- hport->config.intf[i].class_driver->driver_name);
- }
- }
- }
- }
- }
+ USB_LOG_RAW("/: Bus %u, Hub %u, ports=%u, is roothub\r\n",
+ bus->busid,
+ hub->index,
+ hub->hub_desc.bNbrPorts);
+ usbh_list_all_interface_driver(hub);
}
}
if (strcmp(argv[1], "-v") == 0) {
usb_slist_for_each(bus_list, &g_bus_head)
{
- struct usbh_bus *bus = usb_slist_entry(bus_list, struct usbh_bus, list);
- usb_slist_for_each(hub_list, &bus->hub_list)
- {
- struct usbh_hub *hub = usb_slist_entry(hub_list, struct usbh_hub, list);
- for (uint8_t port = 0; port < hub->hub_desc.bNbrPorts; port++) {
- hport = &hub->child[port];
- if (hport->connected) {
- USB_LOG_RAW("Bus %u, Hub %02u, Port %u, dev addr:0x%02x, VID:PID 0x%04x:0x%04x\r\n",
- bus->busid,
- hub->index,
- hport->port,
- hport->dev_addr,
- hport->device_desc.idVendor,
- hport->device_desc.idProduct);
- usbh_print_hubport_info(hport);
- }
- }
- }
+ bus = usb_slist_entry(bus_list, struct usbh_bus, list);
+ hub = &bus->hcd.roothub;
+
+ usbh_list_all_interface_desc(bus, hub);
}
}
+ usb_osal_leave_critical_section(flags);
return 0;
}
diff --git a/components/drivers/usb/cherryusb/core/usbh_core.h b/components/drivers/usb/cherryusb/core/usbh_core.h
index 9ce081fc5d..3210988575 100644
--- a/components/drivers/usb/cherryusb/core/usbh_core.h
+++ b/components/drivers/usb/cherryusb/core/usbh_core.h
@@ -20,6 +20,7 @@
#include "usb_hc.h"
#include "usb_osal.h"
#include "usbh_hub.h"
+#include "usb_memcpy.h"
#ifdef __cplusplus
extern "C" {
@@ -51,10 +52,10 @@ extern "C" {
ep = ep_desc; \
USB_LOG_INFO("Ep=%02x Attr=%02u Mps=%d Interval=%02u Mult=%02u\r\n", \
ep_desc->bEndpointAddress, \
- USB_GET_ENDPOINT_TYPE(ep_desc->bmAttributes), \
+ ep_desc->bmAttributes, \
USB_GET_MAXPACKETSIZE(ep_desc->wMaxPacketSize), \
ep_desc->bInterval, \
- USB_GET_MULT(ep_desc->bmAttributes)); \
+ USB_GET_MULT(ep_desc->wMaxPacketSize)); \
} while (0)
struct usbh_class_info {
@@ -109,16 +110,12 @@ struct usbh_hubport {
struct usb_setup_packet *setup;
struct usbh_hub *parent;
struct usbh_bus *bus;
-#ifdef CONFIG_USBHOST_XHCI
- uint32_t protocol; /* port protocol, for xhci, some ports are USB2.0, others are USB3.0 */
-#endif
struct usb_endpoint_descriptor ep0;
struct usbh_urb ep0_urb;
usb_osal_mutex_t mutex;
};
struct usbh_hub {
- usb_slist_t list;
bool connected;
bool is_roothub;
uint8_t index;
@@ -159,7 +156,6 @@ struct usbh_bus {
struct usbh_devaddr_map devgen;
usb_osal_thread_t hub_thread;
usb_osal_mq_t hub_mq;
- usb_slist_t hub_list;
};
static inline void usbh_control_urb_fill(struct usbh_urb *urb,
diff --git a/components/drivers/usb/cherryusb/demo/CherryUSB.h264 b/components/drivers/usb/cherryusb/demo/CherryUSB.h264
new file mode 100644
index 0000000000..93d8ccf1c9
Binary files /dev/null and b/components/drivers/usb/cherryusb/demo/CherryUSB.h264 differ
diff --git a/components/drivers/usb/cherryusb/demo/CherryUSB.jpg b/components/drivers/usb/cherryusb/demo/CherryUSB.jpg
new file mode 100644
index 0000000000..e0943f5558
Binary files /dev/null and b/components/drivers/usb/cherryusb/demo/CherryUSB.jpg differ
diff --git a/components/drivers/usb/cherryusb/demo/CherryUSB_64x48.YUYV b/components/drivers/usb/cherryusb/demo/CherryUSB_64x48.YUYV
new file mode 100644
index 0000000000..d233e0b0cb
--- /dev/null
+++ b/components/drivers/usb/cherryusb/demo/CherryUSB_64x48.YUYV
@@ -0,0 +1 @@
+hhcchcchcchcchcchcchcchcchcchcchcchcchcchcciccicciccjddicchcchcchcchcchcchcchcchcchcchcchcchcchhhhgghgghgghgghgghgghgghgghgghgghgghgghgglap~rٟdpjrjogghgghgghgghgghgghgghgghgghgghgghgghgghhhhggkggkggkggkggkggkggkggkggkggkggkggkgglggmghkgimggmgglggkggkggkggkggkggkggkggkggkggkggkggkgghgxpvvpvvpvvpvvpvvpvvpvvpvvpvvpvvpvvpvvpvvpvvpvvmvvovvovvovvovvovvovvovvovvovvovvovvovvovvovvovvkxm~`z`z`z`z`z`z`z`z`z`z`z`z`z`zh{zzzzzzzzzzzzzzzqwakakakakakdmknlnfmakakakakakhmmhhhhhkΔnЏoihhhhhw}{y|y|y|y|y|y||{}{z|y|y|y|y|y|z{߅{{{{{{{{{z{{{{{{|00}00}00}00}00}00}00}0~00}00}00}00}00}00}0}}-}00}00}00}00}00}00}0~30}00}00}00}00}00}00}|~|0000b9m00000}0}0000)1000000~},~0000@"00000~30~0000?600000|~|01111111111100}0}111111111111/~~,~0000000000000~30~000000000000|~|~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~|~|0000+[7I000000}0}0000)H]000000~},~0000+bd`00000~30~0000/U300000|~|00001/07000000}0}00005.(000000~},~00000.*200000~30~00009'*00000||}}|}|}|}|}|}}}~~|}|}|}|}|}|}}}~˃~˃~˃~˃~˃~˃~̂}̄~˃~˃~˃~˃~˃~˃~|~|0111154/111100}0}111103111111/~~,~0000031300000~30~0000.-/00000|~|0000035000000}0}0000mO1100000~},~000003w400000~30~0000c400000||00}00}00}00}00}00}00}0~00}00}00}00}00}00}/~~-}00}00}00}00}00}00}0~30}00}00}00}00}00}00}||~~}~}~|}}~}~~}}~}~|}|~}~}~~~~~~}}~~~}~~~}}~~||00}00}00}7600}00}00}0~00}00}1.~+0}00}00}/~~-}00}00}-3~2,~00}00}0~30}00}00}1;~7000}00}|~|00}00}05}/1}00}00}00}0~00}00}64}30}00}00}/~~-}00}00}0/}60}00}00}0~30}00}00},2}00}00}00}|~|}}}}}}}}}}}}}}}}}}}}}}}}}}}~~炸~}}}}}}}}}}}}}}|}~~}~~}~~~|~~}~}~}~}~}~}~}~}~}~}~}~}~}~~~}}}}}}}}}}}}}}||00}00~00~00~00~00~00~00~00~00~00~00~00~00~/~~-}00~00~00~00~00~00~00~00~00~00~00~00~00~00}|~|000000000|1FGr^D_84000000000~},~000000000X>_Aa>0000000000|~|00000000000000000000000000000~},~0000000000000000000000000000|~|00000000000000000000000000000~},~0000000000000000000000000000||~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~.|000000000Y00}-167}00}00}00000000001111111110-0}00}/5};/}00}R111111111.}.|000000000~Z//}*~5|/~7}//}/1}002*2000104000541)01,2}22}17}9.}22}R000000000.}.|0000000002000000000000RVgsDq/Tlu^/,00000000000.000000000.}.}0000000000000000000000000000000000-00+0000000000000000000000.}UXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXS~rwakakakakakakakakakakakakakakhpmhhhhhhhhhhhhhhwrwakakakakakakakakakakakakakakhpmhhhhhhhhhhhhhhwqwakakbkksipinkshkiphpgnckakakhmmhhkƓqlpsmpmkhhhwtzdidididhdhdidhcidhdhdidididignniiihihhhhiiiiizx|pupupupupupupupupupupupupupuqvvuuuuuuuuuuuuuu{~~000003000004000000000000000000-00000ā/00000^/000000}~01.5030/0-1400./.00++.1004-400-02010Ā/0+240^/00+000~0-50309h314001.00dрU100,hwaddr_len = 6;
memcpy(netif->hwaddr, mac, 6);
+ netif->hwaddr[5] = ~netif->hwaddr[5]; /* device mac can't same as host. */
netif = netif_add(netif, &ipaddr, &netmask, &gateway, NULL, cdc_ecm_if_init, netif_input);
netif_set_default(netif);
@@ -264,14 +265,14 @@ struct usbd_interface intf0;
struct usbd_interface intf1;
/* ecm only supports in linux, and you should input the following command
- *
+ *
* sudo ifconfig enxaabbccddeeff up
* sudo dhcpclient enxaabbccddeeff
*/
void cdc_ecm_init(uint8_t busid, uint32_t reg_base)
{
cdc_ecm_lwip_init();
-
+
usbd_desc_register(busid, cdc_ecm_descriptor);
usbd_add_interface(busid, usbd_cdc_ecm_init_intf(&intf0, CDC_INT_EP, CDC_OUT_EP, CDC_IN_EP));
usbd_add_interface(busid, usbd_cdc_ecm_init_intf(&intf1, CDC_INT_EP, CDC_OUT_EP, CDC_IN_EP));
diff --git a/components/drivers/usb/cherryusb/demo/cdc_rndis_template.c b/components/drivers/usb/cherryusb/demo/cdc_rndis_template.c
index 032ea710f2..cb4aef620a 100644
--- a/components/drivers/usb/cherryusb/demo/cdc_rndis_template.c
+++ b/components/drivers/usb/cherryusb/demo/cdc_rndis_template.c
@@ -143,7 +143,11 @@ static rt_err_t rt_usbd_rndis_control(rt_device_t dev, int cmd, void *args)
/* get mac address */
if (args)
- rt_memcpy(args, mac, 6);
+ {
+ uint8_t *mac_dev = (uint8_t *)args;
+ rt_memcpy(mac_dev, mac, 6);
+ mac_dev[5] = ~mac_dev[5]; /* device mac can't same as host. */
+ }
else
return -RT_ERROR;
@@ -247,6 +251,7 @@ void rndis_lwip_init(void)
netif->hwaddr_len = 6;
memcpy(netif->hwaddr, mac, 6);
+ netif->hwaddr[5] = ~netif->hwaddr[5]; /* device mac can't same as host. */
netif = netif_add(netif, &ipaddr, &netmask, &gateway, NULL, rndisif_init, netif_input);
netif_set_default(netif);
diff --git a/components/drivers/usb/cherryusb/demo/cherryusb_h264.h b/components/drivers/usb/cherryusb/demo/cherryusb_h264.h
new file mode 100644
index 0000000000..bb774d2db9
--- /dev/null
+++ b/components/drivers/usb/cherryusb/demo/cherryusb_h264.h
@@ -0,0 +1,1734 @@
+//ffmpeg -loop 1 -i CherryUSB.jpg -c:v libx264 -t 10 -pix_fmt yuv420p -vf "scale=640:480" CherryUSB.h264
+
+const unsigned char cherryusb_h264[20750] = {
+ 0x00, 0x00, 0x00, 0x01, 0x67, 0x64, 0x00, 0x1E, 0xAC, 0xD9, 0x40, 0xA0,
+ 0x3D, 0xBF, 0xF0, 0x01, 0xD0, 0x01, 0xA2, 0x94, 0x00, 0x00, 0x03, 0x00,
+ 0x04, 0x00, 0x00, 0x03, 0x00, 0xC8, 0x3C, 0x58, 0xB6, 0x58, 0x00, 0x00,
+ 0x00, 0x01, 0x68, 0xEB, 0xE3, 0xCB, 0x22, 0xC0, 0x00, 0x00, 0x01, 0x06,
+ 0x05, 0xFF, 0xFF, 0x9D, 0xDC, 0x45, 0xE9, 0xBD, 0xE6, 0xD9, 0x48, 0xB7,
+ 0x96, 0x2C, 0xD8, 0x20, 0xD9, 0x23, 0xEE, 0xEF, 0x78, 0x32, 0x36, 0x34,
+ 0x20, 0x2D, 0x20, 0x63, 0x6F, 0x72, 0x65, 0x20, 0x31, 0x36, 0x34, 0x20,
+ 0x2D, 0x20, 0x48, 0x2E, 0x32, 0x36, 0x34, 0x2F, 0x4D, 0x50, 0x45, 0x47,
+ 0x2D, 0x34, 0x20, 0x41, 0x56, 0x43, 0x20, 0x63, 0x6F, 0x64, 0x65, 0x63,
+ 0x20, 0x2D, 0x20, 0x43, 0x6F, 0x70, 0x79, 0x6C, 0x65, 0x66, 0x74, 0x20,
+ 0x32, 0x30, 0x30, 0x33, 0x2D, 0x32, 0x30, 0x32, 0x34, 0x20, 0x2D, 0x20,
+ 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x77, 0x77, 0x77, 0x2E, 0x76,
+ 0x69, 0x64, 0x65, 0x6F, 0x6C, 0x61, 0x6E, 0x2E, 0x6F, 0x72, 0x67, 0x2F,
+ 0x78, 0x32, 0x36, 0x34, 0x2E, 0x68, 0x74, 0x6D, 0x6C, 0x20, 0x2D, 0x20,
+ 0x6F, 0x70, 0x74, 0x69, 0x6F, 0x6E, 0x73, 0x3A, 0x20, 0x63, 0x61, 0x62,
+ 0x61, 0x63, 0x3D, 0x31, 0x20, 0x72, 0x65, 0x66, 0x3D, 0x33, 0x20, 0x64,
+ 0x65, 0x62, 0x6C, 0x6F, 0x63, 0x6B, 0x3D, 0x31, 0x3A, 0x30, 0x3A, 0x30,
+ 0x20, 0x61, 0x6E, 0x61, 0x6C, 0x79, 0x73, 0x65, 0x3D, 0x30, 0x78, 0x33,
+ 0x3A, 0x30, 0x78, 0x31, 0x31, 0x33, 0x20, 0x6D, 0x65, 0x3D, 0x68, 0x65,
+ 0x78, 0x20, 0x73, 0x75, 0x62, 0x6D, 0x65, 0x3D, 0x37, 0x20, 0x70, 0x73,
+ 0x79, 0x3D, 0x31, 0x20, 0x70, 0x73, 0x79, 0x5F, 0x72, 0x64, 0x3D, 0x31,
+ 0x2E, 0x30, 0x30, 0x3A, 0x30, 0x2E, 0x30, 0x30, 0x20, 0x6D, 0x69, 0x78,
+ 0x65, 0x64, 0x5F, 0x72, 0x65, 0x66, 0x3D, 0x31, 0x20, 0x6D, 0x65, 0x5F,
+ 0x72, 0x61, 0x6E, 0x67, 0x65, 0x3D, 0x31, 0x36, 0x20, 0x63, 0x68, 0x72,
+ 0x6F, 0x6D, 0x61, 0x5F, 0x6D, 0x65, 0x3D, 0x31, 0x20, 0x74, 0x72, 0x65,
+ 0x6C, 0x6C, 0x69, 0x73, 0x3D, 0x31, 0x20, 0x38, 0x78, 0x38, 0x64, 0x63,
+ 0x74, 0x3D, 0x31, 0x20, 0x63, 0x71, 0x6D, 0x3D, 0x30, 0x20, 0x64, 0x65,
+ 0x61, 0x64, 0x7A, 0x6F, 0x6E, 0x65, 0x3D, 0x32, 0x31, 0x2C, 0x31, 0x31,
+ 0x20, 0x66, 0x61, 0x73, 0x74, 0x5F, 0x70, 0x73, 0x6B, 0x69, 0x70, 0x3D,
+ 0x31, 0x20, 0x63, 0x68, 0x72, 0x6F, 0x6D, 0x61, 0x5F, 0x71, 0x70, 0x5F,
+ 0x6F, 0x66, 0x66, 0x73, 0x65, 0x74, 0x3D, 0x2D, 0x32, 0x20, 0x74, 0x68,
+ 0x72, 0x65, 0x61, 0x64, 0x73, 0x3D, 0x31, 0x32, 0x20, 0x6C, 0x6F, 0x6F,
+ 0x6B, 0x61, 0x68, 0x65, 0x61, 0x64, 0x5F, 0x74, 0x68, 0x72, 0x65, 0x61,
+ 0x64, 0x73, 0x3D, 0x32, 0x20, 0x73, 0x6C, 0x69, 0x63, 0x65, 0x64, 0x5F,
+ 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x3D, 0x30, 0x20, 0x6E, 0x72,
+ 0x3D, 0x30, 0x20, 0x64, 0x65, 0x63, 0x69, 0x6D, 0x61, 0x74, 0x65, 0x3D,
+ 0x31, 0x20, 0x69, 0x6E, 0x74, 0x65, 0x72, 0x6C, 0x61, 0x63, 0x65, 0x64,
+ 0x3D, 0x30, 0x20, 0x62, 0x6C, 0x75, 0x72, 0x61, 0x79, 0x5F, 0x63, 0x6F,
+ 0x6D, 0x70, 0x61, 0x74, 0x3D, 0x30, 0x20, 0x63, 0x6F, 0x6E, 0x73, 0x74,
+ 0x72, 0x61, 0x69, 0x6E, 0x65, 0x64, 0x5F, 0x69, 0x6E, 0x74, 0x72, 0x61,
+ 0x3D, 0x30, 0x20, 0x62, 0x66, 0x72, 0x61, 0x6D, 0x65, 0x73, 0x3D, 0x33,
+ 0x20, 0x62, 0x5F, 0x70, 0x79, 0x72, 0x61, 0x6D, 0x69, 0x64, 0x3D, 0x32,
+ 0x20, 0x62, 0x5F, 0x61, 0x64, 0x61, 0x70, 0x74, 0x3D, 0x31, 0x20, 0x62,
+ 0x5F, 0x62, 0x69, 0x61, 0x73, 0x3D, 0x30, 0x20, 0x64, 0x69, 0x72, 0x65,
+ 0x63, 0x74, 0x3D, 0x31, 0x20, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x62,
+ 0x3D, 0x31, 0x20, 0x6F, 0x70, 0x65, 0x6E, 0x5F, 0x67, 0x6F, 0x70, 0x3D,
+ 0x30, 0x20, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x70, 0x3D, 0x32, 0x20,
+ 0x6B, 0x65, 0x79, 0x69, 0x6E, 0x74, 0x3D, 0x32, 0x35, 0x30, 0x20, 0x6B,
+ 0x65, 0x79, 0x69, 0x6E, 0x74, 0x5F, 0x6D, 0x69, 0x6E, 0x3D, 0x32, 0x35,
+ 0x20, 0x73, 0x63, 0x65, 0x6E, 0x65, 0x63, 0x75, 0x74, 0x3D, 0x34, 0x30,
+ 0x20, 0x69, 0x6E, 0x74, 0x72, 0x61, 0x5F, 0x72, 0x65, 0x66, 0x72, 0x65,
+ 0x73, 0x68, 0x3D, 0x30, 0x20, 0x72, 0x63, 0x5F, 0x6C, 0x6F, 0x6F, 0x6B,
+ 0x61, 0x68, 0x65, 0x61, 0x64, 0x3D, 0x34, 0x30, 0x20, 0x72, 0x63, 0x3D,
+ 0x63, 0x72, 0x66, 0x20, 0x6D, 0x62, 0x74, 0x72, 0x65, 0x65, 0x3D, 0x31,
+ 0x20, 0x63, 0x72, 0x66, 0x3D, 0x32, 0x33, 0x2E, 0x30, 0x20, 0x71, 0x63,
+ 0x6F, 0x6D, 0x70, 0x3D, 0x30, 0x2E, 0x36, 0x30, 0x20, 0x71, 0x70, 0x6D,
+ 0x69, 0x6E, 0x3D, 0x30, 0x20, 0x71, 0x70, 0x6D, 0x61, 0x78, 0x3D, 0x36,
+ 0x39, 0x20, 0x71, 0x70, 0x73, 0x74, 0x65, 0x70, 0x3D, 0x34, 0x20, 0x69,
+ 0x70, 0x5F, 0x72, 0x61, 0x74, 0x69, 0x6F, 0x3D, 0x31, 0x2E, 0x34, 0x30,
+ 0x20, 0x61, 0x71, 0x3D, 0x31, 0x3A, 0x31, 0x2E, 0x30, 0x30, 0x00, 0x80,
+ 0x00, 0x00, 0x01, 0x65, 0x88, 0x84, 0x00, 0x6F, 0xE9, 0x47, 0x26, 0x6E,
+ 0x0B, 0xFB, 0xDE, 0x71, 0x6A, 0xCF, 0x9E, 0xDD, 0xF0, 0x2F, 0x88, 0x1F,
+ 0xC2, 0x88, 0xBF, 0x0D, 0xED, 0xB1, 0x68, 0x49, 0x48, 0xD1, 0x34, 0x8E,
+ 0xF2, 0x6E, 0x97, 0x53, 0x24, 0x04, 0x5E, 0xE5, 0x57, 0x2D, 0xFE, 0xCB,
+ 0x97, 0x4D, 0xC6, 0x70, 0x23, 0x03, 0x20, 0xEF, 0x3B, 0xB9, 0xA6, 0x1E,
+ 0x63, 0x80, 0x67, 0xBB, 0x88, 0x7F, 0xAF, 0xA6, 0x07, 0x81, 0xA4, 0x3C,
+ 0x2E, 0xB7, 0x77, 0x12, 0x5F, 0x4F, 0xB8, 0x29, 0x1D, 0x98, 0x2E, 0x78,
+ 0x08, 0x6A, 0x93, 0x7E, 0x40, 0xF0, 0x7B, 0xD3, 0xF5, 0x5A, 0x38, 0x35,
+ 0xE3, 0x8D, 0xB5, 0x90, 0x48, 0xE4, 0x4A, 0x9E, 0x6E, 0x9A, 0x77, 0xDA,
+ 0x42, 0x8D, 0xE0, 0xB6, 0x1B, 0xCC, 0x95, 0x37, 0x49, 0x99, 0xED, 0xBF,
+ 0xBE, 0x28, 0x52, 0xDD, 0xBC, 0x59, 0xBF, 0x6C, 0xF8, 0x3C, 0xCC, 0xD1,
+ 0xC4, 0x7F, 0x31, 0x51, 0xFC, 0xAA, 0x23, 0x91, 0x9B, 0xDF, 0xB4, 0x7F,
+ 0x72, 0xC7, 0xF2, 0xCF, 0xEE, 0xBA, 0x67, 0xC7, 0xBA, 0x26, 0xA6, 0x9C,
+ 0x0E, 0xD1, 0xC7, 0xB8, 0xE8, 0xC6, 0x5F, 0xD2, 0x5B, 0xC8, 0xF9, 0x2E,
+ 0x6D, 0x2F, 0x5D, 0x8B, 0x11, 0x9E, 0xDB, 0x3F, 0xAC, 0xF6, 0x61, 0x6D,
+ 0x23, 0xCC, 0xFA, 0x5C, 0x51, 0x83, 0x9C, 0xD7, 0x03, 0xF9, 0x3D, 0xE3,
+ 0x4B, 0xE2, 0xCE, 0xA6, 0x7F, 0xED, 0x11, 0x2A, 0x73, 0x26, 0x90, 0xEC,
+ 0x30, 0xC2, 0x6E, 0x4E, 0xC2, 0x20, 0x30, 0xBF, 0xFF, 0x5A, 0x87, 0xC5,
+ 0x58, 0x55, 0x2E, 0x74, 0xD2, 0x7E, 0x9F, 0x74, 0xAC, 0xB3, 0xFB, 0x01,
+ 0xB5, 0x41, 0x40, 0x22, 0xD8, 0x66, 0xC1, 0x30, 0x54, 0xB6, 0x10, 0xD3,
+ 0x71, 0x2F, 0x7A, 0xE4, 0x2F, 0x4B, 0x77, 0x84, 0x80, 0x26, 0x04, 0x0E,
+ 0xEE, 0xD9, 0x92, 0x44, 0xDA, 0xCD, 0x88, 0xB6, 0x7A, 0x93, 0xE6, 0x3B,
+ 0x72, 0xF6, 0x61, 0xA0, 0x04, 0x86, 0x76, 0xA6, 0x58, 0x43, 0xC3, 0x0F,
+ 0x54, 0x1F, 0x44, 0x34, 0x12, 0xF1, 0x25, 0xEC, 0xD1, 0x79, 0x2C, 0xB4,
+ 0x21, 0x27, 0x47, 0x45, 0x35, 0xB7, 0x32, 0xED, 0xC5, 0xA4, 0xA1, 0x70,
+ 0x02, 0x84, 0xC4, 0x97, 0x35, 0x09, 0x36, 0x15, 0x6E, 0xAC, 0x21, 0x1E,
+ 0xA9, 0x87, 0x3F, 0xE7, 0x48, 0x13, 0xBD, 0xB9, 0xB6, 0x6D, 0xA1, 0xF6,
+ 0x48, 0xF1, 0xE6, 0xD6, 0x9D, 0x51, 0xEC, 0x61, 0xD2, 0xA5, 0xE9, 0xAD,
+ 0x16, 0x1D, 0x0E, 0xAA, 0x68, 0xB2, 0x93, 0x93, 0x7D, 0x6C, 0x7A, 0x9E,
+ 0xB1, 0x51, 0x78, 0xAD, 0xCA, 0x4A, 0xB8, 0xF5, 0x98, 0xC6, 0x32, 0x5B,
+ 0x64, 0x21, 0x8D, 0x72, 0x6E, 0xB3, 0x2E, 0x54, 0xC2, 0xE0, 0x06, 0xA8,
+ 0xF8, 0xCC, 0x0E, 0x95, 0x80, 0xED, 0xFE, 0x31, 0x74, 0xD8, 0x7D, 0x02,
+ 0xA2, 0x7B, 0xD7, 0x98, 0xE2, 0x38, 0x27, 0x10, 0x3F, 0x1D, 0x0B, 0xA9,
+ 0x89, 0x21, 0xA6, 0x8F, 0x3D, 0x48, 0x90, 0x75, 0x4C, 0xEF, 0x9C, 0x2E,
+ 0x46, 0x3F, 0x04, 0x57, 0xAB, 0x68, 0xBF, 0x38, 0x97, 0xF8, 0x6E, 0xA8,
+ 0xBB, 0x82, 0x2E, 0xEB, 0xA6, 0x24, 0xF9, 0xA1, 0x73, 0xEF, 0xD8, 0x2A,
+ 0xB1, 0x6B, 0xFF, 0x42, 0x4A, 0xFF, 0xBE, 0x94, 0xD9, 0xDA, 0xF7, 0xFD,
+ 0x0E, 0xC6, 0xE2, 0x1A, 0xAC, 0x07, 0x39, 0xE6, 0x5E, 0x73, 0x29, 0xAB,
+ 0xAD, 0x7B, 0x76, 0xA9, 0x96, 0x21, 0x0A, 0x71, 0x00, 0x00, 0x03, 0x00,
+ 0x00, 0x03, 0x01, 0x07, 0xB5, 0x13, 0x49, 0x88, 0xF9, 0x01, 0x87, 0x35,
+ 0xC4, 0xD7, 0x3D, 0x17, 0x75, 0xA0, 0x03, 0xC7, 0x5E, 0x4F, 0x76, 0x50,
+ 0xF1, 0x16, 0xA3, 0xE8, 0xD2, 0xE6, 0x7A, 0x7B, 0x1D, 0x96, 0x1E, 0xAA,
+ 0x31, 0x10, 0x1C, 0x8A, 0x70, 0x98, 0x39, 0x59, 0xDD, 0x90, 0x35, 0x65,
+ 0xAA, 0xE3, 0xFD, 0xF0, 0xBB, 0xF3, 0x86, 0x74, 0xDC, 0x56, 0xDB, 0x2F,
+ 0x4F, 0x5A, 0x93, 0x8A, 0xC9, 0x33, 0xC2, 0xB4, 0xD7, 0x67, 0x10, 0xDF,
+ 0x74, 0xE5, 0x16, 0xB1, 0x61, 0x02, 0xF0, 0xF8, 0x00, 0xFC, 0xBD, 0x36,
+ 0x84, 0xE1, 0x99, 0xBD, 0x24, 0xE3, 0xEA, 0x27, 0x84, 0x6D, 0xB8, 0x88,
+ 0xDC, 0xBA, 0x95, 0x1D, 0x6C, 0x00, 0x96, 0xF0, 0x25, 0x3E, 0xF8, 0xCE,
+ 0xC3, 0xCB, 0x9C, 0x1E, 0x67, 0x2A, 0x20, 0x38, 0x97, 0x8C, 0x37, 0xF9,
+ 0xC7, 0x8B, 0x90, 0x24, 0x10, 0xBD, 0x0B, 0xEC, 0xAD, 0x01, 0x96, 0x64,
+ 0x21, 0x74, 0x03, 0xCF, 0x96, 0xEA, 0x0A, 0x40, 0x09, 0xB3, 0xD8, 0x40,
+ 0xC9, 0xB2, 0xA4, 0x81, 0x44, 0x52, 0x06, 0x1E, 0x13, 0xFF, 0x51, 0xD1,
+ 0x80, 0x5B, 0xF0, 0x98, 0xAF, 0x0B, 0x09, 0x30, 0x33, 0x46, 0x8E, 0xC6,
+ 0x69, 0xD6, 0xCA, 0xCF, 0x14, 0xB1, 0x76, 0x67, 0xB7, 0xA4, 0x93, 0x75,
+ 0x02, 0xC0, 0x0B, 0x33, 0x32, 0x09, 0xB0, 0x4B, 0x71, 0x62, 0xA7, 0xC7,
+ 0xD7, 0x43, 0xEE, 0x08, 0x80, 0xF3, 0x36, 0x74, 0xC2, 0x7B, 0x6C, 0x97,
+ 0x6A, 0x9D, 0x0D, 0xE5, 0x73, 0xE8, 0xFB, 0xBF, 0xD7, 0x79, 0x71, 0xAF,
+ 0xDC, 0x2E, 0x33, 0x5B, 0xE9, 0x0F, 0x26, 0xEE, 0x45, 0xFB, 0x7E, 0x8D,
+ 0x6E, 0x91, 0x7E, 0x41, 0xB6, 0x10, 0x9A, 0x29, 0x66, 0x2E, 0xD0, 0x20,
+ 0xB2, 0x9C, 0x33, 0xD4, 0xAD, 0xED, 0x27, 0xEC, 0x1F, 0xF5, 0xC9, 0x47,
+ 0x4E, 0x71, 0xAB, 0xD6, 0x8E, 0x8F, 0xFE, 0x4A, 0x39, 0x5B, 0x73, 0xFA,
+ 0x1E, 0x81, 0x89, 0x77, 0x92, 0xB4, 0x99, 0x06, 0x80, 0x65, 0x21, 0x3A,
+ 0xED, 0x51, 0x5D, 0xFA, 0x23, 0xFA, 0x70, 0x1B, 0x0E, 0xF1, 0x69, 0x38,
+ 0xE1, 0x36, 0x79, 0xEE, 0xB1, 0x9E, 0xC9, 0xB5, 0xE1, 0x25, 0x0F, 0x76,
+ 0x22, 0x12, 0x7D, 0x1E, 0xE5, 0x05, 0x38, 0x68, 0x66, 0xD6, 0x73, 0xBF,
+ 0x7B, 0x8C, 0x9E, 0x97, 0x1D, 0x40, 0x18, 0x09, 0x84, 0x61, 0x6C, 0x2C,
+ 0xC9, 0xDC, 0xE0, 0x15, 0x05, 0x95, 0xFB, 0xFD, 0xFA, 0xBE, 0xA0, 0xC5,
+ 0x4B, 0xB3, 0xC0, 0x0F, 0x70, 0x0D, 0x66, 0x99, 0x92, 0xA5, 0xBD, 0x88,
+ 0x1A, 0xC3, 0xF6, 0xBB, 0xC2, 0x2D, 0x3A, 0x08, 0x9A, 0xA7, 0xF1, 0xB3,
+ 0xDD, 0x30, 0x82, 0x17, 0xCA, 0x95, 0x33, 0x8E, 0xC3, 0x0A, 0xCE, 0xF7,
+ 0x2F, 0x70, 0xAC, 0x7E, 0xB2, 0x50, 0xDF, 0x3E, 0x1C, 0xDD, 0x1C, 0x85,
+ 0x0A, 0xED, 0xB2, 0x1A, 0xC1, 0x05, 0x5B, 0x51, 0xF4, 0x47, 0x12, 0x3E,
+ 0x2B, 0xCD, 0x34, 0x8E, 0x5E, 0x59, 0xB2, 0x02, 0x4E, 0xD3, 0xF2, 0x36,
+ 0xAC, 0xB0, 0xBE, 0x23, 0xE0, 0xA3, 0x6D, 0xD2, 0x6E, 0x19, 0x91, 0x00,
+ 0x00, 0x03, 0x01, 0xCA, 0xB1, 0x9B, 0xFE, 0x59, 0x82, 0x0F, 0x54, 0x64,
+ 0xC2, 0xD8, 0xB8, 0x15, 0xD1, 0x6E, 0xBC, 0x42, 0xD2, 0x16, 0x26, 0x20,
+ 0xF8, 0x3C, 0xD0, 0x36, 0xA4, 0xD9, 0x10, 0x31, 0x43, 0xDE, 0x7A, 0xC5,
+ 0x2C, 0x33, 0x9B, 0xF2, 0xC4, 0xDB, 0xCE, 0xAB, 0xE7, 0x98, 0xFE, 0x44,
+ 0x17, 0x5C, 0x57, 0xE0, 0x6B, 0xA4, 0x8B, 0x09, 0x0B, 0xBF, 0x63, 0xC6,
+ 0x20, 0xC5, 0xCC, 0x8C, 0x3E, 0xB6, 0x08, 0xDA, 0xC2, 0x54, 0xF1, 0x1E,
+ 0x66, 0x3A, 0x64, 0x1F, 0xE5, 0xAC, 0x02, 0xD1, 0x26, 0xD2, 0xA0, 0x34,
+ 0x29, 0x64, 0x7E, 0x53, 0x27, 0x58, 0xDE, 0x59, 0xA8, 0xD7, 0x13, 0xCA,
+ 0xE9, 0xF3, 0x89, 0x72, 0x7B, 0x94, 0xEA, 0xB5, 0xB9, 0xFA, 0x41, 0x43,
+ 0xEC, 0xD7, 0x88, 0x46, 0xDC, 0x2A, 0xFA, 0xED, 0x32, 0x16, 0x3F, 0x51,
+ 0x66, 0xE9, 0x47, 0xE4, 0xA7, 0xB7, 0x14, 0x69, 0x9C, 0xED, 0x1C, 0x71,
+ 0x51, 0xFB, 0xF9, 0xE0, 0x40, 0xEC, 0x2F, 0x38, 0x53, 0x9D, 0x01, 0x05,
+ 0xFC, 0xE3, 0x77, 0xE4, 0x88, 0xD1, 0x89, 0xFC, 0x40, 0x58, 0x06, 0x97,
+ 0x0E, 0x5A, 0xEB, 0x98, 0xF5, 0x97, 0x8D, 0x8C, 0x9C, 0x40, 0x8E, 0xDA,
+ 0xFD, 0x98, 0x04, 0xB6, 0xED, 0x2F, 0xE4, 0x7D, 0x64, 0x80, 0x3D, 0x39,
+ 0xDD, 0xD0, 0x05, 0x42, 0x9C, 0x75, 0xFA, 0x20, 0xF1, 0x25, 0x66, 0x2B,
+ 0xE1, 0x94, 0x51, 0x82, 0x9F, 0x3E, 0x98, 0xFE, 0x32, 0x05, 0x9E, 0xBE,
+ 0x1D, 0xBF, 0xD4, 0xEB, 0x83, 0x88, 0x54, 0xA0, 0x79, 0x27, 0xA9, 0x68,
+ 0x91, 0xF1, 0x3A, 0x9F, 0x51, 0xB6, 0x55, 0x40, 0xD5, 0x13, 0x04, 0x7D,
+ 0x1E, 0xE6, 0xFB, 0x70, 0xB4, 0x5E, 0x9B, 0x1E, 0xA0, 0x59, 0xFF, 0xE3,
+ 0x9B, 0xB5, 0xF9, 0x3F, 0xFE, 0x2D, 0x6D, 0xAA, 0x58, 0xB7, 0xE1, 0x11,
+ 0x1B, 0x31, 0xC6, 0x65, 0xF7, 0x12, 0xDF, 0xED, 0x49, 0x22, 0x7E, 0x64,
+ 0xB2, 0x5E, 0x9E, 0x4A, 0xDD, 0xF0, 0x59, 0xDF, 0xE1, 0x64, 0x37, 0xE6,
+ 0x02, 0x95, 0x95, 0xC8, 0x79, 0x17, 0xBC, 0xED, 0x87, 0xF4, 0x60, 0xAF,
+ 0x35, 0x35, 0x1C, 0x73, 0x36, 0xB9, 0xA5, 0xE4, 0x12, 0x8B, 0xCA, 0x92,
+ 0xD1, 0x21, 0xCA, 0xEF, 0xC0, 0xFD, 0x31, 0xFF, 0xE3, 0x34, 0xD9, 0xDD,
+ 0xE8, 0x91, 0xC0, 0x65, 0xCD, 0x1B, 0x38, 0x0F, 0xC3, 0xC1, 0xFA, 0xC5,
+ 0x0D, 0x5F, 0xB8, 0xB4, 0x3A, 0x59, 0x15, 0xBA, 0x14, 0x00, 0xCA, 0xFE,
+ 0x5A, 0x18, 0x8C, 0x05, 0x84, 0x35, 0xB3, 0x28, 0x40, 0xB0, 0x79, 0x6D,
+ 0x1A, 0x49, 0x9E, 0x76, 0x98, 0xC1, 0x6D, 0xDF, 0x69, 0x7D, 0xE3, 0x5F,
+ 0xE8, 0xD8, 0x26, 0x99, 0x4D, 0x52, 0x3E, 0x94, 0x70, 0x7E, 0xDE, 0x93,
+ 0xD8, 0xE5, 0x4C, 0x0C, 0xBB, 0x76, 0xEE, 0x44, 0x07, 0x4B, 0xD2, 0x4A,
+ 0x9A, 0x45, 0xE7, 0x31, 0x6D, 0x32, 0xD5, 0x55, 0xD9, 0xF2, 0xCF, 0xC7,
+ 0x25, 0xEA, 0x2D, 0xD7, 0xF2, 0x0B, 0x3F, 0x66, 0x57, 0xCD, 0xC6, 0xF6,
+ 0x59, 0x8E, 0xB3, 0x30, 0x7C, 0x86, 0x9F, 0x90, 0xD7, 0x84, 0x8D, 0xAF,
+ 0x85, 0x50, 0x89, 0x4B, 0x5C, 0x6B, 0xE8, 0x8E, 0x66, 0x7B, 0x86, 0x26,
+ 0xCE, 0xB3, 0x0E, 0xD0, 0x45, 0x7B, 0x46, 0x56, 0x63, 0xB9, 0x7B, 0xF3,
+ 0x33, 0x4C, 0x38, 0x25, 0xFD, 0x21, 0xAB, 0x54, 0xF9, 0xC8, 0xBD, 0x98,
+ 0x60, 0xFB, 0xBE, 0x00, 0x37, 0x3C, 0x8A, 0x52, 0xF6, 0xD7, 0xF3, 0xCE,
+ 0x05, 0xC2, 0x14, 0xB8, 0x6D, 0xFF, 0x88, 0x04, 0x73, 0x11, 0x4B, 0xE1,
+ 0x5B, 0xFE, 0x2D, 0x13, 0x44, 0x22, 0x05, 0xA4, 0x5D, 0x49, 0x9F, 0x21,
+ 0x65, 0x8D, 0xEE, 0x1E, 0xF8, 0x48, 0xBF, 0xBB, 0xEF, 0x09, 0x01, 0xCB,
+ 0x3B, 0x94, 0xF5, 0xC6, 0x1D, 0x5D, 0x3B, 0x13, 0x26, 0x3B, 0x58, 0xF4,
+ 0x3D, 0xD5, 0x2D, 0x66, 0xD0, 0xD9, 0xDB, 0x8C, 0x91, 0x66, 0x98, 0x27,
+ 0x52, 0xA1, 0xAE, 0xBD, 0x04, 0x7B, 0x66, 0xFD, 0xBC, 0xE2, 0x16, 0x12,
+ 0xE3, 0x10, 0x2E, 0x32, 0x16, 0xF3, 0x47, 0x02, 0xF6, 0x76, 0x89, 0xFF,
+ 0xB1, 0xB7, 0xCC, 0x44, 0xAB, 0x93, 0xD5, 0xD4, 0x72, 0x4F, 0x0D, 0x5B,
+ 0xBD, 0x6A, 0xD9, 0xDA, 0x88, 0xAA, 0x20, 0x43, 0xC3, 0xF3, 0x9E, 0xAE,
+ 0xE6, 0xA1, 0xFD, 0xC4, 0xC8, 0xD8, 0x54, 0x59, 0x07, 0x5C, 0x74, 0xFD,
+ 0x18, 0x75, 0xED, 0x0F, 0x43, 0x53, 0xB1, 0x88, 0xDA, 0x1B, 0xE6, 0x53,
+ 0xCB, 0xC7, 0xDB, 0x47, 0x74, 0x6B, 0x9E, 0x62, 0xD4, 0x27, 0x1C, 0xB8,
+ 0x27, 0xCA, 0xE2, 0x64, 0x24, 0x91, 0x6F, 0x6E, 0xA7, 0x0A, 0x47, 0xB1,
+ 0x9E, 0x0B, 0x11, 0x17, 0xB4, 0x54, 0x8A, 0x18, 0xCD, 0x41, 0x4E, 0xC5,
+ 0x4C, 0xA6, 0xAE, 0xF5, 0x42, 0xD1, 0x98, 0x22, 0xF3, 0xB5, 0xAC, 0x86,
+ 0x4C, 0xCC, 0x0B, 0x09, 0x24, 0x9E, 0xD6, 0x1E, 0x2F, 0x48, 0xFA, 0xA6,
+ 0xBA, 0x40, 0x78, 0xA1, 0xE8, 0x5B, 0x93, 0xE3, 0xE8, 0xAF, 0x0B, 0x30,
+ 0xB1, 0x50, 0x17, 0x7A, 0xF9, 0x6D, 0x29, 0xB8, 0x05, 0x43, 0xBF, 0xEE,
+ 0x8A, 0x59, 0x9F, 0xCC, 0x22, 0x7A, 0x02, 0xD1, 0xA1, 0x58, 0x77, 0x7F,
+ 0x1B, 0xF4, 0xE0, 0x13, 0xE1, 0xE7, 0xE2, 0x39, 0xAE, 0xEB, 0xC5, 0xC7,
+ 0x90, 0x9F, 0xA5, 0x73, 0xD3, 0x42, 0x25, 0x75, 0x0B, 0x42, 0x6F, 0x11,
+ 0x5B, 0x05, 0xC1, 0xEB, 0x39, 0xC3, 0x8E, 0x50, 0x98, 0x2A, 0x85, 0x53,
+ 0x0A, 0x06, 0xE7, 0x8A, 0xB0, 0xB1, 0x93, 0xD1, 0x46, 0xB9, 0x6A, 0x14,
+ 0xBC, 0x7A, 0xC9, 0xF3, 0x71, 0x32, 0x73, 0x1F, 0x28, 0x3D, 0xEA, 0x35,
+ 0xF1, 0xE6, 0xE9, 0x1B, 0x6E, 0xDF, 0xC5, 0x5E, 0xB0, 0x23, 0x26, 0x3C,
+ 0x3D, 0x6C, 0x02, 0xED, 0xB9, 0x79, 0x03, 0xF5, 0xD8, 0x01, 0xFD, 0x26,
+ 0x41, 0x73, 0xBC, 0x58, 0xF6, 0xB4, 0x2A, 0xB8, 0xAE, 0x07, 0xDE, 0xDD,
+ 0x9C, 0x52, 0xF2, 0x2E, 0x23, 0x39, 0x50, 0xEE, 0x87, 0xDB, 0x97, 0x93,
+ 0xF5, 0xEE, 0xD1, 0xA8, 0x43, 0x17, 0x67, 0xCD, 0xEF, 0xC1, 0x68, 0x6A,
+ 0x2C, 0x7A, 0x49, 0xFB, 0xEE, 0x52, 0x17, 0xC4, 0x01, 0x19, 0xC3, 0xA4,
+ 0x51, 0x00, 0x8E, 0xF9, 0x50, 0x35, 0x3E, 0xB0, 0x10, 0x88, 0xCB, 0x62,
+ 0x85, 0xA0, 0x95, 0x27, 0xAC, 0x31, 0x05, 0x8B, 0x47, 0x41, 0xD5, 0x57,
+ 0x41, 0xDB, 0xA8, 0x5B, 0x0A, 0x77, 0x73, 0xAF, 0xFE, 0x29, 0xF6, 0x1E,
+ 0xF8, 0xB1, 0xC5, 0x34, 0xEF, 0xD0, 0xFA, 0xB7, 0xB3, 0xCD, 0xB2, 0x32,
+ 0x5F, 0xA1, 0x58, 0x8B, 0x7A, 0x6E, 0x16, 0xBE, 0x0C, 0xA9, 0xDB, 0x8E,
+ 0x42, 0x25, 0xE2, 0xAF, 0x69, 0xD4, 0x52, 0xC6, 0xD2, 0x7A, 0xAC, 0x80,
+ 0x90, 0xBE, 0xC4, 0x79, 0x1D, 0x0F, 0xAA, 0xAA, 0x29, 0x60, 0xC9, 0x3E,
+ 0xE2, 0x38, 0x9F, 0x17, 0xD9, 0xDE, 0x9D, 0x30, 0x78, 0x8C, 0xD8, 0xDB,
+ 0x0B, 0x85, 0xEA, 0x3A, 0x8C, 0xF9, 0x44, 0x56, 0x59, 0xA3, 0xB0, 0xD6,
+ 0x5A, 0x03, 0xEB, 0x8A, 0x93, 0xA0, 0x3C, 0xF1, 0x74, 0xB7, 0x99, 0x17,
+ 0x38, 0x6E, 0x7D, 0xC7, 0x98, 0x2F, 0xBB, 0xEC, 0x7D, 0xA7, 0x66, 0xBF,
+ 0x7C, 0x0A, 0x52, 0x46, 0x77, 0x39, 0x6E, 0xEE, 0x1D, 0x57, 0xEE, 0x53,
+ 0x7D, 0x3C, 0xFE, 0xB0, 0x02, 0x61, 0x67, 0xB3, 0x1A, 0x23, 0xA7, 0xCB,
+ 0xB6, 0xFE, 0x80, 0x45, 0x2E, 0xAF, 0xFB, 0x7D, 0xB3, 0x7B, 0x1A, 0xAE,
+ 0x03, 0x9E, 0xE5, 0x55, 0x1F, 0x24, 0xEE, 0x0C, 0xA9, 0xC9, 0x9B, 0xC5,
+ 0x39, 0xE1, 0xD9, 0xD8, 0xA1, 0x5A, 0x65, 0x56, 0x8B, 0x1F, 0xA4, 0x92,
+ 0xD1, 0x5B, 0x21, 0x7E, 0xCF, 0x4E, 0x5C, 0xF6, 0xD2, 0x0B, 0xCA, 0x18,
+ 0xB5, 0x02, 0x24, 0x1D, 0x39, 0x22, 0xFF, 0x0E, 0x3B, 0x4A, 0xF8, 0x4C,
+ 0x39, 0x1A, 0x4F, 0x4E, 0xE7, 0x05, 0x36, 0xEF, 0xED, 0xE6, 0x53, 0x0B,
+ 0x32, 0x52, 0x0E, 0xFD, 0x1B, 0x35, 0x23, 0x67, 0x18, 0xAB, 0xAB, 0x63,
+ 0xB5, 0x6F, 0x96, 0xBC, 0x35, 0xCD, 0x30, 0x57, 0xEE, 0x27, 0xAD, 0xA5,
+ 0x8B, 0x52, 0x9A, 0x80, 0x46, 0xA4, 0x43, 0xBC, 0xD3, 0x35, 0x06, 0xBE,
+ 0x54, 0xF5, 0xBA, 0x79, 0xF6, 0x58, 0x2B, 0x19, 0x1B, 0x8F, 0x84, 0xAD,
+ 0x59, 0xAB, 0x04, 0x3F, 0xF8, 0xEC, 0xF6, 0xC4, 0x2A, 0x25, 0xF3, 0xE2,
+ 0x63, 0x21, 0xD5, 0xB6, 0x7E, 0x34, 0xDC, 0x62, 0x77, 0x58, 0xAB, 0xCA,
+ 0x7E, 0xC6, 0xCD, 0x8C, 0xBA, 0x7D, 0xEC, 0x97, 0x5D, 0x5D, 0x2B, 0x54,
+ 0x58, 0x71, 0x23, 0x89, 0x79, 0x24, 0x97, 0xE5, 0x02, 0x71, 0xBA, 0x49,
+ 0xA6, 0x0A, 0x1C, 0x39, 0x20, 0x75, 0xAF, 0x35, 0xB2, 0xE3, 0xA9, 0x93,
+ 0xB5, 0xA7, 0xF6, 0x1C, 0xA5, 0x29, 0x67, 0x31, 0x59, 0x5F, 0xF2, 0xE6,
+ 0x50, 0xE1, 0xDF, 0x1C, 0xC7, 0x6F, 0xE3, 0xEE, 0x33, 0xFF, 0xBA, 0xF1,
+ 0xD9, 0xDC, 0x12, 0xC6, 0xF7, 0xEF, 0x74, 0x49, 0x09, 0xBA, 0xD1, 0x6C,
+ 0x04, 0xF8, 0x76, 0x3C, 0xBA, 0x51, 0xB8, 0x31, 0xC8, 0x3E, 0xBE, 0x24,
+ 0xCE, 0x03, 0x71, 0x2D, 0xEC, 0x91, 0xA8, 0x83, 0x15, 0xF5, 0xA4, 0x86,
+ 0x6F, 0x11, 0x8D, 0xD7, 0x6D, 0x57, 0x17, 0x0E, 0x11, 0x46, 0x44, 0xA0,
+ 0x65, 0xCC, 0x9E, 0xAA, 0x4B, 0x4A, 0xAA, 0x13, 0x3F, 0xE2, 0x98, 0x20,
+ 0x0B, 0xFF, 0xBB, 0x2A, 0x78, 0xEE, 0x62, 0x6F, 0x9E, 0xB0, 0xFD, 0x06,
+ 0x83, 0x1A, 0x32, 0x52, 0x48, 0x1B, 0xFC, 0xCE, 0x13, 0xA4, 0xA8, 0xA7,
+ 0x9A, 0xFF, 0xC4, 0x1E, 0xE3, 0xA6, 0xCA, 0x32, 0xBD, 0xCE, 0xE7, 0x72,
+ 0x47, 0xC1, 0x72, 0x67, 0x25, 0x45, 0xCA, 0x3C, 0x14, 0xE6, 0x45, 0x0E,
+ 0x92, 0x73, 0xCA, 0xA1, 0x39, 0x18, 0xEE, 0x40, 0xD2, 0xD3, 0x0F, 0x12,
+ 0xEC, 0xF7, 0xEF, 0xB7, 0x62, 0x73, 0xBC, 0xEB, 0xF0, 0xF8, 0xD5, 0x3C,
+ 0x54, 0xFA, 0x9A, 0x3B, 0xBC, 0x7A, 0x7A, 0xA0, 0x95, 0x42, 0x6F, 0xEE,
+ 0x7A, 0xD6, 0x15, 0x29, 0x29, 0xAF, 0x54, 0xA9, 0x14, 0x85, 0xFB, 0x9A,
+ 0x06, 0xEA, 0xBC, 0x09, 0x9A, 0x2B, 0x94, 0x73, 0x25, 0x08, 0x3C, 0xAB,
+ 0xB3, 0x20, 0xB3, 0x45, 0xC2, 0xA0, 0x81, 0xA6, 0xFA, 0x04, 0xBA, 0x7E,
+ 0x49, 0x41, 0xC3, 0x4E, 0x1C, 0xE9, 0xE9, 0x48, 0xA9, 0x1D, 0xDC, 0xAB,
+ 0x3F, 0xE5, 0xB8, 0xC1, 0x92, 0xE4, 0xDB, 0xEB, 0x40, 0x09, 0x16, 0x48,
+ 0x21, 0xC3, 0xF1, 0x8D, 0x18, 0xE7, 0x07, 0xBD, 0x9D, 0x9F, 0x68, 0x9D,
+ 0x29, 0xF2, 0x2D, 0xC0, 0x6F, 0x23, 0x3B, 0x84, 0x93, 0xB1, 0x9C, 0xCE,
+ 0x40, 0xFF, 0xF4, 0x5B, 0xF6, 0xCF, 0x27, 0x97, 0x1B, 0x2E, 0x0B, 0x1E,
+ 0xFB, 0xE7, 0x86, 0xE9, 0x6C, 0xB8, 0xBB, 0x33, 0x0F, 0x85, 0x4F, 0xF4,
+ 0xA5, 0x16, 0x75, 0x07, 0x0A, 0xD1, 0x8A, 0x92, 0xDF, 0x47, 0xA7, 0x74,
+ 0xCB, 0x76, 0xED, 0xCB, 0x6C, 0x4C, 0xDF, 0xF0, 0xD8, 0x83, 0xDE, 0x36,
+ 0x2E, 0x8B, 0x42, 0xAD, 0x32, 0x25, 0x89, 0xCE, 0x2B, 0x2F, 0x73, 0xE1,
+ 0x18, 0x8F, 0x42, 0xA6, 0x8E, 0x60, 0xB9, 0xBD, 0x8F, 0xA5, 0x09, 0x72,
+ 0x48, 0x70, 0x73, 0x93, 0xE5, 0x61, 0x77, 0x44, 0xC3, 0x79, 0x9C, 0x01,
+ 0xD7, 0x8B, 0xA6, 0x4D, 0x3E, 0xD1, 0xD1, 0x81, 0x19, 0x24, 0xE4, 0xAC,
+ 0xC9, 0xD5, 0x37, 0x8B, 0x3F, 0x79, 0x82, 0x02, 0xE3, 0xA5, 0x70, 0x71,
+ 0x3D, 0x7A, 0x66, 0xF4, 0xAB, 0xC0, 0x7C, 0x39, 0x95, 0xBD, 0x31, 0xCA,
+ 0x97, 0xD1, 0x30, 0x1F, 0xE1, 0x34, 0xA1, 0x1F, 0x53, 0x65, 0xD8, 0x11,
+ 0xA4, 0x00, 0x0A, 0x9D, 0x8F, 0x7D, 0x25, 0x92, 0xE0, 0xE3, 0x41, 0xB4,
+ 0xAC, 0xC9, 0x05, 0x71, 0xF8, 0x1E, 0x0F, 0xF3, 0x87, 0x02, 0x67, 0x8B,
+ 0xF8, 0x93, 0xFA, 0x9C, 0x37, 0xED, 0x86, 0xE2, 0xAD, 0x4A, 0x61, 0x6E,
+ 0xD3, 0x18, 0x5E, 0x88, 0x70, 0xF4, 0xCD, 0xD5, 0x17, 0xE3, 0xEC, 0xCF,
+ 0x44, 0x7B, 0x58, 0x88, 0x68, 0x42, 0x25, 0x73, 0xE6, 0x16, 0x54, 0xA9,
+ 0x53, 0xC8, 0x2F, 0xB0, 0xA4, 0x68, 0x11, 0x7C, 0x13, 0xA9, 0x78, 0x69,
+ 0xCA, 0xAF, 0x3A, 0x77, 0xF2, 0xB0, 0xEE, 0x77, 0xF8, 0x8E, 0x4D, 0x9F,
+ 0xF9, 0x9F, 0x11, 0xFD, 0xFE, 0xCD, 0xFF, 0x70, 0x32, 0x0F, 0x12, 0xFE,
+ 0xEC, 0x52, 0xA9, 0x81, 0xBA, 0xF0, 0xBE, 0xE7, 0x39, 0x90, 0x4A, 0xA8,
+ 0xF9, 0xEE, 0xB8, 0x61, 0x92, 0x4B, 0x0B, 0x79, 0xB9, 0x63, 0x3B, 0x56,
+ 0x4E, 0x09, 0xB2, 0xB8, 0xBB, 0x3B, 0x24, 0x58, 0x53, 0x43, 0xD5, 0xDE,
+ 0x7A, 0x8D, 0xF8, 0x0A, 0x86, 0xC1, 0x00, 0x67, 0x4B, 0xE7, 0xC6, 0x87,
+ 0xA3, 0x4B, 0x7F, 0xFC, 0xC9, 0x27, 0x98, 0x45, 0x22, 0x1E, 0x43, 0x81,
+ 0x69, 0xEB, 0x10, 0xF1, 0xD3, 0xA6, 0x1D, 0x83, 0x29, 0x1D, 0x8B, 0x77,
+ 0xB3, 0x4E, 0x7E, 0xD0, 0xDB, 0xE5, 0x61, 0x71, 0xFE, 0x38, 0xA7, 0x9E,
+ 0x47, 0x8C, 0x2E, 0x80, 0xB4, 0x07, 0x1C, 0x77, 0x8A, 0xD6, 0x50, 0xB5,
+ 0x32, 0xCF, 0xCF, 0xBE, 0xB0, 0x6F, 0x6E, 0x77, 0xEA, 0x5D, 0x14, 0x10,
+ 0x7B, 0x1B, 0x51, 0xD2, 0xD6, 0xDC, 0x7C, 0x94, 0xDB, 0xFD, 0x5A, 0x37,
+ 0xAD, 0x28, 0x0C, 0xAC, 0x1B, 0x85, 0x54, 0x2F, 0xF1, 0x9A, 0x1C, 0x7B,
+ 0xA8, 0x81, 0x9C, 0x75, 0xFD, 0x38, 0x1E, 0xE4, 0x1A, 0xA5, 0x41, 0x9A,
+ 0x02, 0x2F, 0x3F, 0x1E, 0x8F, 0x8F, 0x9B, 0xDF, 0x85, 0x36, 0x25, 0xAB,
+ 0x1D, 0x60, 0x2B, 0xC7, 0x71, 0xBB, 0x33, 0x81, 0xDF, 0xAE, 0x60, 0xD9,
+ 0x94, 0xF6, 0x55, 0xBA, 0xB1, 0x86, 0x63, 0x03, 0xF5, 0xF2, 0x2E, 0x56,
+ 0x09, 0xD5, 0xAF, 0xD5, 0x97, 0x91, 0xDA, 0xD6, 0x78, 0x8C, 0x05, 0xF0,
+ 0xC6, 0x7F, 0x8D, 0x68, 0xA2, 0xB8, 0x47, 0x70, 0x58, 0xB4, 0xD2, 0x7E,
+ 0xED, 0x9C, 0x77, 0x41, 0x24, 0x7C, 0x48, 0x40, 0x52, 0x64, 0x03, 0x40,
+ 0x33, 0xD3, 0x03, 0x48, 0xFA, 0xE7, 0x94, 0x75, 0xD2, 0x8A, 0x07, 0xFA,
+ 0x40, 0x28, 0x4C, 0x7B, 0x23, 0x71, 0xC1, 0xA0, 0x60, 0x18, 0xBC, 0xBB,
+ 0xFF, 0x98, 0x0E, 0x5B, 0xC4, 0xEC, 0x77, 0xF8, 0xE9, 0xAD, 0x60, 0x8C,
+ 0x6D, 0x21, 0x7A, 0xEF, 0x84, 0x80, 0x02, 0x10, 0xD3, 0xC3, 0x98, 0xD5,
+ 0xFE, 0x4C, 0xD7, 0x62, 0xE3, 0x5A, 0x4C, 0x01, 0xEA, 0xEF, 0x43, 0xFB,
+ 0x04, 0x8B, 0x33, 0x86, 0x6B, 0xAA, 0xD4, 0x69, 0xF7, 0x9E, 0x3F, 0x3C,
+ 0x3E, 0xC0, 0xEC, 0xE5, 0x89, 0xA5, 0x00, 0xB7, 0xB0, 0xAA, 0x24, 0xAF,
+ 0x0B, 0xBD, 0x0F, 0x35, 0x69, 0x72, 0x6B, 0xC2, 0x38, 0x8E, 0x23, 0xEE,
+ 0xF9, 0x2D, 0xB6, 0x42, 0xF8, 0x39, 0x1A, 0x3B, 0xA9, 0x59, 0x4A, 0x95,
+ 0xD7, 0xE3, 0x5D, 0x08, 0x7B, 0xFD, 0xD0, 0x60, 0xEC, 0xE9, 0x5A, 0x17,
+ 0x61, 0xA9, 0x84, 0x47, 0x16, 0x68, 0x64, 0x21, 0x61, 0xFE, 0x48, 0x03,
+ 0x3A, 0x45, 0x4A, 0x1F, 0xB6, 0xA1, 0xD0, 0x0D, 0xAF, 0x25, 0x14, 0x2F,
+ 0xAE, 0xA7, 0x7E, 0x3D, 0x7B, 0x99, 0xB3, 0x1F, 0xD4, 0x9B, 0x26, 0xA4,
+ 0xCE, 0xFE, 0x61, 0xAD, 0x0E, 0xF4, 0x73, 0xE1, 0xDC, 0x03, 0xF4, 0x98,
+ 0x80, 0x97, 0xFF, 0xE8, 0x0E, 0xC3, 0x0D, 0x92, 0x7B, 0x0C, 0xB8, 0xBB,
+ 0x2F, 0x0F, 0xC4, 0x85, 0xEC, 0xC4, 0xCD, 0x60, 0xF3, 0xF5, 0x8A, 0x04,
+ 0x71, 0x55, 0xF9, 0x76, 0xAD, 0x37, 0xC2, 0xA7, 0x4E, 0xDF, 0x51, 0x64,
+ 0x90, 0x7F, 0x59, 0xB7, 0xFC, 0x3C, 0xB8, 0x75, 0xBB, 0x95, 0x4A, 0x85,
+ 0x10, 0x3C, 0xD4, 0xC2, 0x42, 0x37, 0xE1, 0x73, 0x92, 0xDD, 0xFA, 0x8C,
+ 0xB1, 0xCC, 0x53, 0xF4, 0xC7, 0xED, 0x06, 0x19, 0x9F, 0x8B, 0xEE, 0xF2,
+ 0x70, 0xB8, 0x26, 0xF4, 0xF3, 0x20, 0x73, 0x5B, 0xDC, 0xE9, 0x64, 0xDD,
+ 0x07, 0x2F, 0x7B, 0xE8, 0x30, 0x8E, 0x4C, 0xC4, 0x6C, 0x33, 0x7C, 0x90,
+ 0x24, 0x03, 0xD6, 0xA1, 0x12, 0xEB, 0x14, 0xFF, 0x78, 0x92, 0x8D, 0x99,
+ 0xD6, 0x46, 0x2E, 0xA6, 0x09, 0x4C, 0xAE, 0xDB, 0x42, 0xC2, 0x60, 0x89,
+ 0x9F, 0x15, 0x1C, 0x01, 0x08, 0x1C, 0x9F, 0xE0, 0xA8, 0x18, 0x85, 0xF8,
+ 0x1A, 0x61, 0x42, 0x2B, 0x80, 0xDB, 0xD8, 0x9C, 0xBB, 0xB9, 0xF4, 0x97,
+ 0x3B, 0x37, 0x21, 0xC5, 0x25, 0x68, 0x9A, 0xD3, 0xA1, 0xCB, 0xED, 0x1B,
+ 0x43, 0x4C, 0x17, 0x77, 0xB8, 0xAD, 0x8A, 0xF8, 0x3F, 0xBA, 0x78, 0xDD,
+ 0x98, 0x58, 0x62, 0x0F, 0x90, 0xB9, 0x5F, 0xB0, 0xC7, 0x63, 0xF1, 0x85,
+ 0x0E, 0x79, 0x55, 0x85, 0x2D, 0x80, 0xAC, 0x0B, 0x4D, 0xD9, 0x68, 0x06,
+ 0x74, 0x05, 0xDA, 0xF6, 0x16, 0x30, 0x0D, 0x83, 0x2C, 0x92, 0xA2, 0xD6,
+ 0x4B, 0x0B, 0xDC, 0x01, 0x6B, 0x5B, 0xCC, 0xEB, 0x2E, 0x9E, 0x0E, 0xBB,
+ 0xE1, 0xA7, 0x70, 0x8C, 0x98, 0xF6, 0x32, 0xF1, 0x1C, 0xE0, 0x4D, 0x70,
+ 0x09, 0x84, 0xB7, 0xD8, 0xD1, 0x96, 0x1C, 0xDD, 0x07, 0xE7, 0xFA, 0xB6,
+ 0x57, 0xE7, 0x70, 0x29, 0xB6, 0xE3, 0x29, 0x6A, 0xCB, 0xC4, 0xD3, 0xAE,
+ 0x80, 0x9A, 0xDF, 0xAE, 0x59, 0x8D, 0x0E, 0xAD, 0xF5, 0xE5, 0x5E, 0x1F,
+ 0x08, 0x46, 0xC2, 0xBC, 0x3D, 0x6F, 0xD1, 0x40, 0xB3, 0x8F, 0x67, 0xBC,
+ 0xDE, 0x7F, 0x68, 0xD9, 0xB3, 0x11, 0xB0, 0x78, 0x13, 0xE6, 0x54, 0x0E,
+ 0x11, 0x52, 0x50, 0xFE, 0x4A, 0xB7, 0x94, 0x4A, 0xCF, 0x8E, 0x1C, 0xF5,
+ 0xAE, 0xC9, 0xF2, 0xB5, 0x68, 0x32, 0xE6, 0x5D, 0xE3, 0xED, 0xBF, 0x74,
+ 0x9C, 0xB8, 0xD0, 0x02, 0x73, 0x7D, 0x99, 0x76, 0xEE, 0x08, 0x21, 0x51,
+ 0x62, 0xED, 0xD7, 0xAE, 0xF1, 0xDE, 0x2C, 0x61, 0xA1, 0x9E, 0xDC, 0xDE,
+ 0x98, 0x47, 0xDF, 0x55, 0x4F, 0x57, 0x83, 0x17, 0x9C, 0x7B, 0x95, 0xB7,
+ 0xAF, 0xD2, 0xD3, 0xB8, 0x17, 0x7C, 0x87, 0x01, 0x12, 0x89, 0x73, 0x6A,
+ 0xBB, 0xB1, 0x3E, 0x11, 0x81, 0xE3, 0x9A, 0x99, 0xC6, 0xE1, 0xA1, 0x09,
+ 0x9F, 0xE8, 0xA3, 0x8B, 0x5A, 0x98, 0x32, 0xE7, 0x78, 0x98, 0x78, 0xA9,
+ 0x10, 0x6E, 0xA1, 0xA9, 0xA2, 0xFF, 0xD3, 0x16, 0xBB, 0x78, 0x80, 0xE4,
+ 0x74, 0xE5, 0xBB, 0x46, 0x09, 0xEB, 0x5E, 0xFE, 0x8D, 0x7B, 0xF0, 0xB2,
+ 0xA6, 0x4B, 0x49, 0x04, 0xCE, 0x1C, 0x9D, 0x5D, 0x7A, 0xD8, 0x52, 0xB9,
+ 0xA7, 0x59, 0xB5, 0x0B, 0xEA, 0xDA, 0x0C, 0x26, 0xB9, 0x0D, 0x2A, 0x63,
+ 0x39, 0xBC, 0xF5, 0x44, 0x04, 0x83, 0xA2, 0x34, 0x4F, 0x83, 0x48, 0x62,
+ 0xAC, 0x77, 0xA9, 0xF2, 0xC1, 0xE0, 0xA2, 0xFC, 0xAB, 0xAD, 0x98, 0x33,
+ 0x4A, 0x67, 0xED, 0x31, 0x57, 0xB7, 0x9F, 0x53, 0xA2, 0x2A, 0x95, 0x7E,
+ 0x67, 0xF7, 0x2F, 0x1B, 0xA3, 0xE7, 0x22, 0xC5, 0xDC, 0x01, 0x02, 0xFC,
+ 0x2D, 0x6E, 0xBA, 0x65, 0xF2, 0x15, 0x8A, 0xA6, 0x2C, 0xBF, 0xEE, 0x52,
+ 0xE5, 0x9D, 0xC3, 0xE3, 0x7A, 0xCC, 0x6D, 0x75, 0x99, 0xF5, 0xCC, 0xE9,
+ 0x58, 0x98, 0xB8, 0xEF, 0x01, 0xA6, 0x2C, 0xE8, 0x48, 0xBE, 0x6E, 0x85,
+ 0xBA, 0x98, 0x2D, 0x50, 0x8E, 0xCF, 0xB0, 0xB0, 0x98, 0x2F, 0x98, 0x62,
+ 0xF9, 0xB6, 0x46, 0xE3, 0xA5, 0xBC, 0xD3, 0x76, 0x4B, 0xB8, 0x53, 0xB1,
+ 0x1C, 0x9D, 0x08, 0x64, 0x53, 0xB4, 0x6B, 0xF5, 0x4B, 0xAD, 0x78, 0x10,
+ 0x93, 0x62, 0xE2, 0xD4, 0x46, 0xB8, 0xB6, 0xD3, 0xD6, 0x6E, 0x53, 0x7F,
+ 0x12, 0x19, 0x65, 0x5A, 0xA0, 0x7B, 0xF4, 0x9F, 0x24, 0x1B, 0xD5, 0x79,
+ 0x14, 0xA8, 0x16, 0xDB, 0x99, 0xE8, 0x37, 0x7A, 0x75, 0x91, 0xAC, 0xD8,
+ 0xA7, 0x58, 0x38, 0xB0, 0x7B, 0x8E, 0x1E, 0x4B, 0x69, 0x19, 0x9E, 0xAB,
+ 0x99, 0xD8, 0xB5, 0xE5, 0x1B, 0xC2, 0x1C, 0xFA, 0xF1, 0xB8, 0xD3, 0x68,
+ 0x87, 0x6B, 0xBA, 0xD7, 0x15, 0xA6, 0x2B, 0xA2, 0x40, 0xA1, 0x75, 0xFB,
+ 0xE1, 0x2F, 0x56, 0x8A, 0xE0, 0x27, 0x7F, 0x82, 0x0B, 0x40, 0x15, 0x30,
+ 0xFC, 0xFE, 0xE9, 0x7C, 0xCA, 0x46, 0x88, 0xA2, 0x64, 0x48, 0x6B, 0xD2,
+ 0x82, 0x20, 0xE5, 0x7A, 0x35, 0xCD, 0xD6, 0xCE, 0x4D, 0x03, 0xA2, 0x12,
+ 0xA5, 0x8E, 0xBF, 0x56, 0x64, 0x95, 0x4F, 0x47, 0xCB, 0x5B, 0x53, 0x5E,
+ 0x57, 0x51, 0xF1, 0x4A, 0x57, 0xCA, 0xBC, 0xE0, 0x82, 0x8E, 0xDE, 0x6E,
+ 0x48, 0xD9, 0xBF, 0xC0, 0x8C, 0xF5, 0x68, 0xEA, 0x76, 0xFB, 0x29, 0x7A,
+ 0xEC, 0x5C, 0xCF, 0x7D, 0x49, 0xD4, 0xCD, 0x83, 0x7C, 0xD6, 0xC5, 0x52,
+ 0x2B, 0x80, 0x1D, 0x03, 0x5F, 0xA9, 0x78, 0x6B, 0x73, 0xEF, 0xE0, 0x93,
+ 0xE7, 0x6D, 0x14, 0xDC, 0x07, 0x44, 0x46, 0xCD, 0x34, 0x6C, 0x2F, 0xA7,
+ 0x1D, 0xC1, 0x93, 0x01, 0xF1, 0x03, 0x1D, 0x68, 0x84, 0x95, 0x72, 0xC5,
+ 0x2A, 0x51, 0x1A, 0x43, 0x73, 0xC6, 0x78, 0x7F, 0x25, 0x0C, 0x34, 0xAE,
+ 0x35, 0x48, 0xC8, 0xBE, 0xB1, 0xB7, 0x67, 0xF5, 0x82, 0xF7, 0xBB, 0x7E,
+ 0x00, 0x3E, 0x14, 0xD9, 0xF7, 0x81, 0xC1, 0x5A, 0xEF, 0xB4, 0x40, 0x11,
+ 0x4B, 0x1C, 0xC4, 0xBB, 0x80, 0x21, 0x52, 0xE3, 0x43, 0xF4, 0x9F, 0x33,
+ 0x3F, 0x79, 0x63, 0xDE, 0xB8, 0x81, 0x21, 0xCC, 0xA3, 0x1A, 0x1E, 0x8A,
+ 0x35, 0xC0, 0x8F, 0x14, 0x50, 0x0C, 0xA7, 0xCA, 0x0D, 0x36, 0x1F, 0xC3,
+ 0xB3, 0xEA, 0xA1, 0x0B, 0x06, 0xE0, 0xC9, 0xD1, 0x9C, 0xB9, 0x45, 0x0A,
+ 0xE5, 0xFE, 0xB4, 0x41, 0x31, 0x14, 0x01, 0xB9, 0x44, 0x10, 0xAF, 0x87,
+ 0x38, 0x05, 0x14, 0xD6, 0x2B, 0x48, 0x8D, 0x71, 0x5A, 0xE3, 0xC9, 0x0E,
+ 0xF5, 0x9C, 0x1B, 0xF7, 0x08, 0x30, 0x42, 0x33, 0xF4, 0x40, 0x38, 0xB3,
+ 0xF5, 0xEB, 0xA8, 0x61, 0xBE, 0xC1, 0x8B, 0xDC, 0xE4, 0x89, 0xA9, 0xF1,
+ 0x22, 0x86, 0x6A, 0x70, 0xC4, 0xD1, 0x75, 0x63, 0x17, 0x01, 0x2E, 0x42,
+ 0xE4, 0x30, 0x43, 0x36, 0x72, 0xFC, 0xF7, 0xA8, 0xCB, 0x97, 0x27, 0xD4,
+ 0x1C, 0xFC, 0xEF, 0xA5, 0x55, 0xFA, 0xD3, 0x58, 0xFB, 0x52, 0xA4, 0x5D,
+ 0x48, 0x16, 0x57, 0x3F, 0x10, 0x60, 0x9A, 0x0E, 0x75, 0x70, 0x94, 0xA9,
+ 0xC4, 0x21, 0xC2, 0xFE, 0xF0, 0x96, 0x0F, 0x5B, 0xD0, 0xB8, 0x65, 0xA9,
+ 0xE3, 0xDE, 0xE1, 0x65, 0x88, 0x77, 0x33, 0xEE, 0xE9, 0xA5, 0x82, 0xCF,
+ 0x7D, 0x0C, 0x7E, 0x81, 0x3C, 0x20, 0xAF, 0x2D, 0xF6, 0x85, 0xF9, 0xB8,
+ 0xA8, 0x67, 0xF3, 0x49, 0xC8, 0xA2, 0x51, 0x14, 0xB4, 0x0B, 0x09, 0xCC,
+ 0xE7, 0x61, 0x81, 0xF3, 0xD1, 0xDE, 0x6E, 0xAD, 0x82, 0x66, 0x33, 0xB9,
+ 0xBE, 0x52, 0x1F, 0x3E, 0x37, 0x88, 0xDE, 0x01, 0x06, 0x33, 0x67, 0x2B,
+ 0x8E, 0xD1, 0x65, 0x09, 0xA4, 0xC7, 0x18, 0x72, 0x27, 0xDF, 0xA1, 0xE6,
+ 0x3E, 0xAE, 0x7C, 0xCF, 0x23, 0x8F, 0xAB, 0x08, 0xA2, 0x2B, 0xF9, 0x99,
+ 0xDF, 0xDE, 0x92, 0x60, 0x2A, 0x1A, 0xFD, 0xB7, 0x70, 0xF3, 0xCA, 0xFC,
+ 0x97, 0x80, 0xB9, 0xE5, 0xB0, 0xE0, 0xF7, 0xDD, 0x8C, 0xAE, 0xFB, 0x8E,
+ 0xE3, 0x9A, 0x2D, 0xEE, 0x45, 0x6E, 0x57, 0xB4, 0xFE, 0x4F, 0x68, 0x1B,
+ 0x88, 0x2C, 0x03, 0x14, 0x54, 0xFB, 0xCC, 0xAE, 0x4E, 0x4A, 0x64, 0x3E,
+ 0x7F, 0xAB, 0xE6, 0xB4, 0xAD, 0xAE, 0x0D, 0xC7, 0xF5, 0xC3, 0x4C, 0x78,
+ 0xC6, 0x2D, 0xEA, 0xDD, 0xA6, 0xCD, 0x8E, 0xB6, 0x1C, 0x6F, 0xB5, 0x35,
+ 0x08, 0x71, 0xA8, 0x0A, 0xE3, 0xB7, 0x5A, 0x16, 0x1E, 0x32, 0xC5, 0x10,
+ 0x08, 0x1D, 0xE8, 0x16, 0x3A, 0xF2, 0xA4, 0xBA, 0x5A, 0xAF, 0x6B, 0x26,
+ 0x00, 0x3B, 0x72, 0xEF, 0x30, 0x77, 0x0B, 0x01, 0xE3, 0x94, 0xD9, 0x15,
+ 0x0F, 0x72, 0x43, 0x61, 0x5A, 0x13, 0x75, 0x68, 0xED, 0xAE, 0xE4, 0x5C,
+ 0xD9, 0xB9, 0xB2, 0x76, 0xAF, 0x3B, 0xDF, 0xEF, 0x1F, 0xFC, 0x82, 0x96,
+ 0x28, 0xDF, 0xC5, 0xDC, 0xE6, 0xD3, 0x30, 0xFE, 0xDD, 0x91, 0xA7, 0x9A,
+ 0x9E, 0x31, 0xB8, 0xFA, 0xEA, 0x75, 0x66, 0xB9, 0xA6, 0xD4, 0xFF, 0x5E,
+ 0x17, 0xB0, 0xA4, 0x24, 0x72, 0x3C, 0x87, 0x39, 0xA9, 0x22, 0xF1, 0x75,
+ 0x93, 0xE3, 0x62, 0xD0, 0x01, 0xD1, 0x86, 0x5D, 0xB9, 0x69, 0x26, 0x1F,
+ 0x17, 0x41, 0xB8, 0x05, 0xCF, 0x45, 0x94, 0x02, 0x8A, 0xAD, 0x3D, 0x38,
+ 0x81, 0xCA, 0xDF, 0x6F, 0x43, 0x35, 0xFB, 0x69, 0xAF, 0x92, 0x1F, 0x2B,
+ 0x3D, 0x88, 0x3B, 0x40, 0x55, 0x07, 0x2F, 0xF4, 0x30, 0x6B, 0x81, 0x1D,
+ 0xE2, 0xEF, 0x1E, 0x02, 0xCA, 0xD5, 0x92, 0xE2, 0xF9, 0x37, 0xBC, 0x5A,
+ 0x2D, 0x85, 0xF3, 0xC6, 0x97, 0xC8, 0x03, 0xB6, 0x88, 0xF2, 0x51, 0x77,
+ 0x61, 0xDB, 0x23, 0xB3, 0x75, 0xF2, 0xA2, 0x3C, 0x55, 0xAC, 0x14, 0x4C,
+ 0xC4, 0x5D, 0x49, 0x68, 0x39, 0xD3, 0x60, 0x00, 0x2A, 0xE5, 0x5C, 0x01,
+ 0x56, 0x60, 0x99, 0x6B, 0x02, 0xB2, 0x9F, 0x19, 0xB3, 0x80, 0x3B, 0xE7,
+ 0xBE, 0xAC, 0xED, 0xDD, 0x30, 0x6E, 0x78, 0x43, 0xBF, 0xF5, 0xF3, 0x80,
+ 0x4C, 0x59, 0xDB, 0xE4, 0x59, 0x8E, 0xE0, 0xFE, 0xAB, 0x19, 0xF0, 0xEE,
+ 0xB6, 0xFB, 0x60, 0x71, 0xFF, 0x54, 0x5B, 0xB6, 0x0E, 0x32, 0x2F, 0xF6,
+ 0xBD, 0xFC, 0x7E, 0xE5, 0x2F, 0xAB, 0x64, 0x91, 0xA1, 0x28, 0xA4, 0x0A,
+ 0x3E, 0x0E, 0x78, 0x1F, 0xB7, 0x30, 0x93, 0x4C, 0x7A, 0xEB, 0xD3, 0xA3,
+ 0x28, 0x47, 0xD0, 0x6B, 0x35, 0x7A, 0x87, 0x58, 0x66, 0x73, 0x58, 0x75,
+ 0x58, 0x27, 0x02, 0x4B, 0xE1, 0xE0, 0xB6, 0xED, 0x2D, 0x80, 0x0D, 0x75,
+ 0xCE, 0x8E, 0x13, 0x10, 0xA1, 0xFE, 0x33, 0xC7, 0xBF, 0xFC, 0xA7, 0xC0,
+ 0x0D, 0x7E, 0xC0, 0x53, 0x26, 0x71, 0xB4, 0xEB, 0x59, 0xA0, 0x1E, 0x04,
+ 0xA4, 0xDB, 0xE4, 0x2B, 0xDA, 0x7E, 0xFB, 0x11, 0x46, 0xF3, 0x76, 0x1E,
+ 0xC6, 0x17, 0x7D, 0xCD, 0xDC, 0x86, 0xAA, 0x4A, 0x69, 0x72, 0xC4, 0x0C,
+ 0xE9, 0xB1, 0x24, 0xD0, 0x84, 0x29, 0x1D, 0xB9, 0x71, 0xEC, 0x14, 0x2C,
+ 0x13, 0x90, 0xAE, 0x00, 0x07, 0x31, 0xBC, 0x88, 0x82, 0x03, 0xEA, 0xD0,
+ 0x0E, 0x9E, 0x54, 0x60, 0xC6, 0x9B, 0x11, 0x16, 0x7B, 0xDB, 0xFE, 0x77,
+ 0xD8, 0x66, 0x75, 0xB5, 0x75, 0xDB, 0xDE, 0x35, 0xB1, 0xE3, 0x91, 0xBB,
+ 0xA2, 0x00, 0x8C, 0x0F, 0xE3, 0xFA, 0x95, 0x8D, 0x24, 0xD9, 0x39, 0xE4,
+ 0xDA, 0x03, 0x72, 0xDE, 0x77, 0x8A, 0xD9, 0xDB, 0x5D, 0xD2, 0x82, 0x66,
+ 0x54, 0x83, 0x21, 0x82, 0xE6, 0x1F, 0xBB, 0x4B, 0x2F, 0xF9, 0x1C, 0xD8,
+ 0x32, 0xC2, 0xEF, 0x9E, 0xEC, 0x1C, 0x8E, 0xE1, 0x64, 0x15, 0xE3, 0x49,
+ 0xA5, 0xE6, 0x87, 0x60, 0xF1, 0x13, 0x50, 0xBC, 0x29, 0x78, 0xA3, 0x3F,
+ 0x66, 0x7B, 0x0C, 0x7A, 0x31, 0x82, 0xE9, 0xEB, 0xFF, 0x29, 0x81, 0xFB,
+ 0x9C, 0x92, 0xA4, 0x1D, 0xB3, 0x5C, 0xE3, 0x07, 0x15, 0xCD, 0x02, 0x71,
+ 0xCC, 0xFB, 0x8D, 0x92, 0x1B, 0x02, 0x0A, 0xC2, 0xBB, 0x79, 0x44, 0xA0,
+ 0x36, 0x21, 0xEE, 0x29, 0x9F, 0x76, 0x41, 0x16, 0xE9, 0x78, 0xD9, 0xE7,
+ 0x1B, 0x1E, 0x1B, 0x25, 0xF2, 0xB5, 0x40, 0xD6, 0x41, 0x25, 0xE5, 0x93,
+ 0xDB, 0x4D, 0x87, 0xA3, 0x89, 0x38, 0xDD, 0x6F, 0xD8, 0x55, 0x07, 0x87,
+ 0x3C, 0xC0, 0xA1, 0xB1, 0xCB, 0x78, 0xC5, 0x65, 0x8C, 0x4C, 0x50, 0x77,
+ 0x72, 0x1E, 0xDF, 0xD6, 0x83, 0xEE, 0x90, 0x4A, 0xC5, 0xC0, 0x64, 0x81,
+ 0x30, 0x2F, 0xB8, 0x41, 0x21, 0x29, 0x0E, 0x95, 0x97, 0x89, 0xCD, 0x9F,
+ 0x20, 0x58, 0x38, 0x44, 0x60, 0x4B, 0x61, 0xCC, 0x82, 0xDA, 0xDF, 0x64,
+ 0x7B, 0x7E, 0xAF, 0xA8, 0x38, 0x8F, 0x74, 0x92, 0x08, 0x69, 0xE3, 0x6F,
+ 0x24, 0x39, 0x3D, 0x18, 0x18, 0x30, 0xF9, 0x32, 0xD8, 0x44, 0x0B, 0xF6,
+ 0x95, 0x0C, 0x5D, 0x25, 0x6D, 0x76, 0x48, 0x5E, 0xB4, 0x15, 0x59, 0x3F,
+ 0x04, 0x1D, 0x04, 0xE7, 0x9B, 0xED, 0x84, 0x4E, 0x1A, 0x15, 0x07, 0x62,
+ 0x78, 0x49, 0x74, 0x74, 0xC2, 0x25, 0xBA, 0xFF, 0x90, 0x8B, 0xD2, 0xFA,
+ 0x46, 0xE5, 0xE3, 0x2D, 0x47, 0x77, 0xB7, 0x50, 0x05, 0x48, 0x7B, 0xEE,
+ 0xDE, 0x55, 0x14, 0x0A, 0xFF, 0x1A, 0x3E, 0x76, 0x14, 0x3B, 0xBE, 0xE3,
+ 0xAA, 0x59, 0x68, 0xC5, 0x63, 0xFB, 0x7D, 0x36, 0x1B, 0x33, 0xAC, 0x1B,
+ 0xE0, 0xA5, 0x11, 0x2E, 0x08, 0xAD, 0x8C, 0x13, 0x17, 0x26, 0xFD, 0x0F,
+ 0xB3, 0xCF, 0xAA, 0x9E, 0x41, 0xDE, 0x53, 0xA4, 0xAC, 0x53, 0x49, 0x63,
+ 0x59, 0x8F, 0x4A, 0x74, 0x10, 0xC3, 0x19, 0xDE, 0x07, 0x60, 0x6D, 0x6C,
+ 0xFC, 0x3B, 0xE0, 0xCF, 0x0C, 0x04, 0x77, 0x4A, 0x4B, 0x06, 0x80, 0xC8,
+ 0x80, 0xC9, 0xBE, 0x86, 0x91, 0xCA, 0x4D, 0xF9, 0x48, 0xF7, 0xBC, 0x98,
+ 0xF2, 0xE4, 0x97, 0xFE, 0xCD, 0x78, 0x31, 0x80, 0x95, 0xE2, 0x31, 0x7A,
+ 0x65, 0x0D, 0x5C, 0x22, 0x1D, 0x3E, 0x17, 0x44, 0xEE, 0x0F, 0x7A, 0x9C,
+ 0x3A, 0xE6, 0x25, 0x75, 0x49, 0x9A, 0x40, 0x16, 0x7A, 0x7F, 0x23, 0x6A,
+ 0x3D, 0x42, 0xE2, 0xD6, 0x9D, 0x5D, 0xFE, 0xC4, 0xFF, 0x70, 0x0C, 0x25,
+ 0xF3, 0xC9, 0x16, 0x1C, 0xCB, 0xD5, 0x59, 0x6C, 0x0B, 0x05, 0x34, 0x20,
+ 0x1D, 0xFB, 0x9E, 0x00, 0x97, 0x9A, 0x7C, 0xB0, 0x32, 0xA8, 0xC0, 0xDB,
+ 0xEF, 0x3E, 0xDD, 0x50, 0x48, 0x77, 0xC1, 0x45, 0x44, 0x2F, 0x3C, 0xFC,
+ 0x8C, 0xF9, 0xF7, 0xDA, 0x5A, 0x73, 0xDB, 0x7C, 0x5D, 0x9E, 0x02, 0xB8,
+ 0x58, 0x15, 0x46, 0xD1, 0x4E, 0x13, 0x98, 0x0F, 0xDF, 0xC9, 0x33, 0xDF,
+ 0xC8, 0x44, 0x02, 0x50, 0xDB, 0x21, 0x60, 0x8D, 0xC8, 0x27, 0xEB, 0xE0,
+ 0x7A, 0x27, 0x04, 0xD3, 0x6C, 0x12, 0xC8, 0x61, 0x6B, 0x52, 0x13, 0x6A,
+ 0x34, 0xDE, 0x10, 0x32, 0xAD, 0x85, 0xAB, 0x01, 0x26, 0x50, 0x1F, 0xA9,
+ 0x75, 0x0E, 0x02, 0xC0, 0x1A, 0xFB, 0x41, 0x20, 0x25, 0x0F, 0x8E, 0xC3,
+ 0xD4, 0x89, 0xA3, 0xF5, 0x44, 0xD4, 0x9D, 0x84, 0x1C, 0xA7, 0x9C, 0x5B,
+ 0xE7, 0x44, 0xC4, 0xEA, 0x7E, 0x7F, 0x74, 0xE3, 0x56, 0x9D, 0xB8, 0xE6,
+ 0x95, 0x12, 0x5D, 0x5E, 0x49, 0x62, 0x37, 0x07, 0x42, 0x0D, 0xC6, 0xCE,
+ 0x63, 0xE8, 0x0A, 0x2A, 0x78, 0xAE, 0x99, 0xA7, 0x5B, 0x8D, 0x26, 0xA2,
+ 0x28, 0x0C, 0x99, 0x28, 0x68, 0x48, 0x82, 0xF6, 0x1D, 0x53, 0x5E, 0xCA,
+ 0x7D, 0xBA, 0xD1, 0x20, 0x0E, 0x14, 0xF6, 0x2D, 0x57, 0x8C, 0x9B, 0xAA,
+ 0x00, 0xC3, 0x4B, 0x22, 0x1F, 0xA7, 0xB3, 0x4A, 0x6A, 0xCD, 0x72, 0x31,
+ 0x63, 0x1A, 0x07, 0x12, 0xE6, 0xE7, 0x0D, 0x80, 0xA6, 0x92, 0x80, 0x04,
+ 0xA1, 0x75, 0x48, 0xA7, 0x6E, 0xD5, 0xFF, 0xC0, 0xB5, 0x74, 0x5F, 0xBE,
+ 0xEC, 0xF4, 0xC8, 0x4B, 0x85, 0x2F, 0xF9, 0xA0, 0x54, 0x78, 0x87, 0x28,
+ 0x56, 0x02, 0x00, 0xF0, 0x01, 0xAA, 0x91, 0xB8, 0x84, 0x5D, 0xBA, 0x29,
+ 0xC0, 0x4E, 0x17, 0x06, 0x83, 0x6F, 0x75, 0xD7, 0x26, 0xE9, 0x2F, 0x46,
+ 0xF2, 0x60, 0x4A, 0xDE, 0xDF, 0x9D, 0x03, 0xDC, 0x9D, 0x68, 0xD3, 0xA0,
+ 0x75, 0xA9, 0xD7, 0x4F, 0x9A, 0xE8, 0x0C, 0xC5, 0x82, 0x85, 0x2C, 0x27,
+ 0xE2, 0x2E, 0x3E, 0x4C, 0xC1, 0xDC, 0xD4, 0x14, 0xDA, 0x3B, 0xBE, 0x6F,
+ 0x01, 0xF6, 0xE3, 0x36, 0x78, 0xE9, 0xCC, 0xF1, 0xB6, 0xB4, 0x01, 0x0A,
+ 0xE2, 0xD2, 0xDB, 0xA1, 0xA5, 0x1D, 0x79, 0x0A, 0x97, 0x3C, 0xA2, 0x31,
+ 0xD1, 0x2A, 0x2D, 0x7B, 0xEF, 0xCC, 0x50, 0x20, 0x93, 0xFD, 0xE4, 0x51,
+ 0xC6, 0xE1, 0xD7, 0xD0, 0x4D, 0x50, 0xBB, 0x06, 0x80, 0x15, 0x35, 0x89,
+ 0x71, 0x9C, 0xFE, 0x93, 0xE9, 0x59, 0x34, 0x50, 0x33, 0x17, 0xFC, 0x0A,
+ 0x5D, 0x03, 0xD7, 0x13, 0xB4, 0xE0, 0x26, 0x58, 0x06, 0x08, 0x09, 0xCA,
+ 0xA4, 0x7E, 0xCB, 0xA5, 0xE6, 0x5A, 0x95, 0x59, 0x3D, 0x4B, 0x8E, 0xCE,
+ 0xC9, 0xF5, 0x09, 0x19, 0x86, 0x64, 0xF4, 0x3F, 0xF4, 0xB6, 0x9F, 0xF6,
+ 0x69, 0xE5, 0x3C, 0x38, 0xDB, 0xEF, 0xF1, 0xB2, 0xF4, 0xDF, 0xAF, 0xEC,
+ 0x21, 0xD1, 0xCA, 0xD2, 0xD2, 0x14, 0x72, 0x2F, 0xC9, 0x70, 0x68, 0x89,
+ 0x2B, 0x06, 0xB7, 0x5C, 0x74, 0xF5, 0x39, 0xDB, 0x52, 0x03, 0x46, 0x74,
+ 0x65, 0xF8, 0x18, 0xB1, 0x62, 0x96, 0xCA, 0xDF, 0x3D, 0xCA, 0xF7, 0x49,
+ 0x3C, 0x53, 0xDB, 0x4B, 0xD0, 0xA1, 0xCC, 0xA1, 0xA4, 0x38, 0x72, 0x9B,
+ 0x68, 0x0C, 0x2F, 0xDB, 0x0D, 0x0B, 0x57, 0x99, 0xB5, 0xCE, 0x70, 0x77,
+ 0x3C, 0x61, 0xC3, 0x3A, 0x74, 0x91, 0x36, 0x69, 0xDF, 0x20, 0x6A, 0x31,
+ 0xF4, 0xE3, 0x14, 0xEB, 0xCB, 0xE6, 0x82, 0x7A, 0x5A, 0x3A, 0xCA, 0xAC,
+ 0xB7, 0x6D, 0x75, 0x75, 0xF6, 0xF5, 0xF0, 0xF7, 0x06, 0xA4, 0x7F, 0xB0,
+ 0xEF, 0xA0, 0x87, 0x89, 0x9B, 0x6E, 0x92, 0x6E, 0xE2, 0x93, 0x34, 0x0B,
+ 0x2E, 0x55, 0x43, 0x8C, 0xED, 0xB5, 0x15, 0xD7, 0x65, 0xD7, 0x24, 0x98,
+ 0xA8, 0x68, 0x52, 0x2A, 0x3F, 0x35, 0x24, 0xBD, 0x27, 0xBF, 0x91, 0x26,
+ 0x1E, 0x30, 0xC4, 0xF9, 0x64, 0x2D, 0xE2, 0x67, 0x86, 0xD1, 0x4B, 0x05,
+ 0x27, 0x2F, 0x62, 0xFE, 0x30, 0x98, 0x50, 0xF9, 0x00, 0xC6, 0xF5, 0x64,
+ 0xCF, 0x98, 0xEC, 0x46, 0xF4, 0xC2, 0xA2, 0xF1, 0x0B, 0x7F, 0x9E, 0x8A,
+ 0xAF, 0x97, 0xC7, 0x4F, 0x07, 0x1F, 0x3B, 0xE7, 0x6C, 0x1D, 0x38, 0x63,
+ 0x2F, 0x10, 0x25, 0x5C, 0x80, 0x00, 0xA0, 0x25, 0xA1, 0x2F, 0x77, 0xBF,
+ 0xD5, 0x8F, 0x05, 0xF1, 0x3E, 0x91, 0x87, 0x84, 0xBE, 0x80, 0xB3, 0x13,
+ 0xF6, 0x1F, 0xFC, 0x9A, 0x0B, 0x8B, 0x82, 0xE7, 0xEE, 0x36, 0x86, 0xC5,
+ 0xBC, 0x01, 0x3C, 0xA9, 0xF4, 0x9C, 0x0F, 0xFB, 0x67, 0x6A, 0x75, 0x97,
+ 0xC1, 0x9E, 0xC2, 0x43, 0x99, 0x2A, 0xD9, 0xB8, 0xDF, 0xF8, 0xF8, 0xA5,
+ 0xE3, 0x30, 0x4B, 0x1F, 0x03, 0x9A, 0x3F, 0x3E, 0x4D, 0x37, 0xF8, 0x9B,
+ 0xB6, 0x7F, 0xFF, 0x2A, 0xE8, 0x91, 0xA6, 0x23, 0x51, 0xA3, 0xCA, 0xCE,
+ 0x16, 0x75, 0x27, 0xE1, 0x6F, 0xA8, 0xF9, 0xBD, 0xA7, 0x14, 0x11, 0x06,
+ 0x7C, 0xD4, 0x1C, 0xF9, 0x3A, 0x47, 0x7A, 0xD0, 0xFA, 0x52, 0xF1, 0xE2,
+ 0xB8, 0x47, 0xBA, 0xAA, 0x52, 0xF4, 0x15, 0x7E, 0x81, 0xD5, 0x9D, 0x38,
+ 0xB8, 0x71, 0xED, 0x63, 0x3B, 0x74, 0x81, 0x4E, 0x91, 0x51, 0xE8, 0xC0,
+ 0x72, 0x1E, 0x76, 0x93, 0xF5, 0xC1, 0xC1, 0x31, 0xD7, 0x52, 0x3F, 0x07,
+ 0x24, 0x5C, 0xF2, 0xC8, 0x46, 0x27, 0x91, 0xB3, 0xA4, 0xEC, 0x2A, 0x09,
+ 0x1E, 0x21, 0x47, 0x7F, 0xC1, 0xD8, 0x46, 0x87, 0xE6, 0x3A, 0x5C, 0x58,
+ 0x5A, 0xBF, 0x31, 0x1A, 0x3E, 0x07, 0x9B, 0xE4, 0x21, 0x17, 0xB6, 0xAE,
+ 0xA2, 0x25, 0x32, 0x98, 0xFF, 0x18, 0xFA, 0xD1, 0xD3, 0xC1, 0xAC, 0x36,
+ 0x83, 0xCA, 0xF8, 0xAF, 0xD6, 0x35, 0xD8, 0x09, 0x20, 0x25, 0x0C, 0x87,
+ 0xB4, 0x47, 0xA6, 0xD9, 0xD0, 0xEF, 0x98, 0xF3, 0x8D, 0x36, 0xA8, 0xFF,
+ 0xEB, 0x52, 0x72, 0x8B, 0x78, 0xAE, 0xFF, 0x25, 0xC1, 0xB1, 0xDE, 0x55,
+ 0xF0, 0x0D, 0xA5, 0x0F, 0x9C, 0x73, 0x38, 0xE1, 0x2D, 0x24, 0x5F, 0x88,
+ 0xB3, 0x85, 0x9F, 0x2C, 0xF7, 0xDC, 0x72, 0x58, 0x13, 0x53, 0x5A, 0x76,
+ 0xF4, 0x29, 0xE5, 0xD2, 0x76, 0xC8, 0x10, 0x5D, 0xBE, 0x65, 0x7F, 0x80,
+ 0xBC, 0x40, 0x49, 0x68, 0x5A, 0x4D, 0x04, 0xB7, 0xBA, 0xB6, 0x76, 0x80,
+ 0x3D, 0xBC, 0xBC, 0xC6, 0x35, 0xFF, 0xB7, 0xFD, 0x97, 0xFC, 0x29, 0x89,
+ 0x05, 0xF2, 0x50, 0xF9, 0x47, 0xAD, 0x8F, 0xA4, 0x33, 0xD9, 0xD0, 0xBA,
+ 0x5E, 0xE7, 0xC7, 0x1F, 0xC2, 0xFB, 0xB7, 0x27, 0x62, 0xF9, 0x84, 0xC6,
+ 0x7E, 0x5C, 0x00, 0x00, 0x4A, 0x36, 0xC1, 0x2C, 0xD1, 0xAA, 0xD6, 0x44,
+ 0xBF, 0x6A, 0x11, 0x86, 0x01, 0x23, 0x9F, 0x6F, 0x69, 0xB9, 0x1E, 0xFC,
+ 0xD8, 0x04, 0x38, 0x76, 0x37, 0xCA, 0x26, 0x0E, 0x41, 0x11, 0x5D, 0xCD,
+ 0xAF, 0x2A, 0xEF, 0x9E, 0x53, 0x46, 0x81, 0x87, 0xA5, 0x38, 0x86, 0x1B,
+ 0xBB, 0x48, 0xB3, 0x6F, 0x84, 0xB4, 0xBE, 0x4C, 0x7E, 0x0D, 0x00, 0xDA,
+ 0x64, 0xC5, 0x2D, 0xB1, 0x92, 0x62, 0x47, 0x12, 0xB5, 0x8B, 0x52, 0x97,
+ 0x1A, 0x7F, 0x7B, 0x38, 0xAB, 0x28, 0x2C, 0xC0, 0xEB, 0x72, 0xFE, 0x86,
+ 0xC0, 0x88, 0x23, 0xAD, 0x71, 0x5C, 0x2C, 0x9B, 0x59, 0x58, 0xD4, 0x39,
+ 0x51, 0x9D, 0xD9, 0x23, 0x35, 0x0F, 0x4B, 0x11, 0x76, 0xC7, 0x7B, 0x4A,
+ 0x55, 0x57, 0x29, 0xB0, 0x45, 0xF9, 0x12, 0xA3, 0x1E, 0x2B, 0x7C, 0x86,
+ 0x6F, 0xD9, 0xA4, 0xA8, 0x4C, 0x43, 0xFB, 0x8C, 0x45, 0xEA, 0x19, 0xDF,
+ 0x81, 0x65, 0x98, 0x8F, 0xB8, 0xC6, 0x7B, 0xAA, 0x42, 0xAC, 0xC4, 0x84,
+ 0xA5, 0xDA, 0xDA, 0xA0, 0x36, 0x1E, 0xFE, 0x44, 0xF4, 0x02, 0x78, 0xD2,
+ 0xAF, 0x58, 0x60, 0x41, 0x6A, 0x8B, 0xA3, 0xB1, 0xD3, 0xBA, 0x2C, 0x08,
+ 0x9B, 0xA4, 0x19, 0x7B, 0xCC, 0x2A, 0x25, 0xF0, 0xFF, 0x8B, 0xA3, 0x88,
+ 0xC9, 0x50, 0xBF, 0xF6, 0xCE, 0x83, 0x30, 0x46, 0x66, 0xE2, 0x47, 0x1B,
+ 0xF1, 0x7F, 0xAD, 0xAA, 0x66, 0x5F, 0x94, 0x04, 0xA0, 0x5F, 0xCC, 0x5B,
+ 0xB0, 0x6B, 0xB5, 0x26, 0x6F, 0x56, 0x5E, 0x18, 0xE9, 0xB1, 0x68, 0xE3,
+ 0xEF, 0x7A, 0xBC, 0x44, 0xF0, 0x5C, 0xAB, 0x88, 0xA6, 0x07, 0xAF, 0xA3,
+ 0x86, 0xAF, 0x3B, 0xE9, 0x78, 0x96, 0x3B, 0xFB, 0xCD, 0x5A, 0xC9, 0xA9,
+ 0x20, 0xE4, 0x6D, 0x8E, 0x3E, 0xB6, 0x4D, 0x40, 0xD3, 0xDC, 0x4B, 0x8A,
+ 0xD4, 0xB7, 0x22, 0xC6, 0x2C, 0xE2, 0xB7, 0x9F, 0x43, 0x15, 0x8D, 0x07,
+ 0xA5, 0x27, 0x9E, 0xA3, 0xA2, 0xF7, 0x59, 0x00, 0xDD, 0xD8, 0xC1, 0x18,
+ 0xE9, 0x1E, 0x4F, 0x8C, 0x7B, 0xE0, 0xA6, 0x71, 0xA0, 0x6A, 0x25, 0x67,
+ 0x1B, 0x4F, 0x02, 0xE2, 0xA2, 0xED, 0xBE, 0x01, 0x48, 0x56, 0x2C, 0x4C,
+ 0xDA, 0x43, 0x9F, 0x54, 0x38, 0xB3, 0x93, 0xCF, 0x08, 0x42, 0xF3, 0x13,
+ 0x01, 0x41, 0x6E, 0xEE, 0xA0, 0x70, 0x0F, 0x1D, 0x64, 0x44, 0xA8, 0xD4,
+ 0x0B, 0x9C, 0x95, 0x08, 0xA1, 0xE9, 0x04, 0x94, 0x2B, 0x25, 0x23, 0x6B,
+ 0x59, 0xF0, 0x7D, 0x45, 0x28, 0x00, 0x15, 0x6F, 0x93, 0xA7, 0xAC, 0x30,
+ 0xC5, 0x8F, 0xEF, 0x2D, 0xFA, 0xBA, 0x86, 0x06, 0xA1, 0x51, 0x4D, 0x1B,
+ 0xDE, 0x8E, 0x75, 0xD4, 0x9E, 0x03, 0x8E, 0xB2, 0x10, 0x77, 0x84, 0x9F,
+ 0x7A, 0x52, 0xCA, 0x72, 0x7A, 0x33, 0x16, 0xCA, 0x57, 0x6C, 0xB3, 0xA2,
+ 0x7A, 0xE1, 0x44, 0x95, 0x4C, 0xC6, 0x64, 0x3F, 0xAB, 0x67, 0x06, 0xBE,
+ 0xBF, 0xF9, 0x16, 0xF6, 0x0F, 0xF6, 0xC4, 0xA0, 0x38, 0xAE, 0xAD, 0x7B,
+ 0xBC, 0xA9, 0x0F, 0xE7, 0xD5, 0xB1, 0xC6, 0x22, 0x6F, 0x9E, 0x2C, 0xE4,
+ 0x7B, 0x14, 0x7F, 0x70, 0xAF, 0x24, 0x55, 0x57, 0x9F, 0x9D, 0xE7, 0x6E,
+ 0x4B, 0x63, 0xCD, 0xAB, 0x06, 0x5F, 0x48, 0x92, 0x18, 0x2A, 0x2E, 0xAB,
+ 0xDB, 0x3E, 0x6A, 0xC4, 0xA3, 0x72, 0x7C, 0x5F, 0xA8, 0x40, 0xCA, 0x2B,
+ 0xF8, 0xB9, 0xD5, 0x44, 0x7E, 0xEC, 0x64, 0x7C, 0x2D, 0x6C, 0x23, 0x64,
+ 0x32, 0x49, 0x8F, 0xDF, 0xAE, 0x5C, 0xCD, 0x53, 0x1E, 0x6D, 0xB9, 0xCA,
+ 0x95, 0xA4, 0xB5, 0x21, 0x84, 0x02, 0xDE, 0x85, 0xC0, 0x7B, 0xA1, 0x8B,
+ 0x48, 0xC4, 0xCD, 0xD1, 0xCF, 0xA8, 0xAD, 0x9A, 0xD4, 0x74, 0x54, 0xEB,
+ 0xFF, 0x61, 0xE3, 0x78, 0xD4, 0xEA, 0x6A, 0xF2, 0xBC, 0xFF, 0x15, 0x86,
+ 0x46, 0x43, 0x4F, 0x8B, 0x02, 0x1F, 0x0B, 0x38, 0x4A, 0x69, 0x8F, 0xF3,
+ 0xAA, 0xFB, 0xDD, 0x65, 0xED, 0xBF, 0xC4, 0x2B, 0xD2, 0x48, 0xC7, 0x4F,
+ 0x81, 0x15, 0x9E, 0x89, 0x46, 0x89, 0xF3, 0xB7, 0xDF, 0x00, 0xB5, 0xFA,
+ 0x8A, 0xFA, 0xEB, 0x62, 0xC2, 0xED, 0x9E, 0x30, 0xE0, 0xE2, 0xFC, 0x42,
+ 0x43, 0xA4, 0x23, 0x4A, 0xE7, 0x1E, 0x71, 0x58, 0xD4, 0xED, 0x07, 0xA1,
+ 0xF5, 0x65, 0x61, 0x69, 0x8E, 0x2A, 0x9C, 0x07, 0x46, 0x87, 0x22, 0x65,
+ 0x59, 0xF7, 0xA7, 0x9E, 0x30, 0x67, 0xD6, 0x89, 0x62, 0x43, 0xEE, 0xDC,
+ 0x91, 0xE3, 0x54, 0xEC, 0x81, 0x15, 0xD3, 0x6A, 0x74, 0x5D, 0x86, 0xFD,
+ 0x1B, 0x18, 0xBD, 0xD2, 0xF9, 0x92, 0x75, 0xDE, 0xAC, 0xA4, 0x5E, 0x30,
+ 0x5F, 0xBF, 0x16, 0x0A, 0xB7, 0xC8, 0x13, 0x32, 0xB6, 0xB2, 0x1F, 0x69,
+ 0x68, 0x10, 0x0B, 0xB7, 0xCD, 0xBD, 0x20, 0x2D, 0xAC, 0x62, 0x0F, 0x1E,
+ 0xF0, 0xB5, 0x22, 0x45, 0x34, 0x27, 0x27, 0x67, 0x2B, 0x50, 0x00, 0x0F,
+ 0xA0, 0xCF, 0x5C, 0x3B, 0xA2, 0x08, 0xB4, 0x7F, 0xD1, 0x21, 0xF9, 0xE8,
+ 0xAE, 0xDF, 0x7A, 0x87, 0x0A, 0xFD, 0xD1, 0x71, 0xBE, 0xD0, 0x61, 0x66,
+ 0xFD, 0xB1, 0xCA, 0x0F, 0x6E, 0x2A, 0x36, 0xF5, 0xBF, 0x3B, 0x72, 0xC6,
+ 0xB5, 0x59, 0xA8, 0x88, 0x63, 0x3A, 0x06, 0x9C, 0xF2, 0x84, 0x8A, 0xAE,
+ 0xD6, 0xA4, 0xBF, 0xFD, 0xDD, 0x78, 0xF7, 0x29, 0x13, 0x61, 0x6B, 0x15,
+ 0xAF, 0x90, 0x39, 0x14, 0x6B, 0xBC, 0xBE, 0xE5, 0x1B, 0xD5, 0x59, 0xDC,
+ 0x08, 0xCA, 0xEC, 0x8D, 0x8E, 0x32, 0x8D, 0x74, 0x98, 0xF8, 0x93, 0x3A,
+ 0x7F, 0xAE, 0xA4, 0x30, 0x16, 0x76, 0xD5, 0x8E, 0x0D, 0xA1, 0x0B, 0xB4,
+ 0xF2, 0x8C, 0xF8, 0x16, 0x26, 0xF9, 0x96, 0x14, 0x8B, 0x89, 0x2F, 0x9E,
+ 0x9F, 0x55, 0xFD, 0xFF, 0xC5, 0x40, 0xCE, 0x72, 0x8A, 0x4C, 0x2A, 0x72,
+ 0xA8, 0xA3, 0xBA, 0xB7, 0x93, 0xDD, 0x04, 0x31, 0x72, 0x04, 0x56, 0x79,
+ 0x1A, 0xE1, 0x6E, 0xB6, 0x14, 0xAF, 0xE4, 0xB0, 0x97, 0x44, 0x6B, 0x9E,
+ 0xD6, 0x7C, 0xD9, 0x46, 0x70, 0xB7, 0x7A, 0x00, 0x00, 0x60, 0xD2, 0x51,
+ 0x92, 0x49, 0xD3, 0xFB, 0xB5, 0x40, 0x36, 0xE8, 0xE3, 0xA0, 0xA3, 0x2C,
+ 0xB3, 0xB7, 0x98, 0x3F, 0xD9, 0x38, 0x32, 0x00, 0x09, 0x5A, 0x5F, 0x69,
+ 0x7B, 0xD5, 0x38, 0x21, 0xB9, 0x99, 0xEB, 0xB6, 0x1E, 0xBC, 0x54, 0x51,
+ 0x0C, 0x6A, 0x03, 0x15, 0xC8, 0x09, 0xAE, 0xF2, 0x30, 0xB8, 0x9F, 0x23,
+ 0x11, 0xEF, 0x38, 0xEC, 0x3C, 0x1F, 0x3F, 0xC5, 0xAF, 0x09, 0x4B, 0xBD,
+ 0x60, 0xE4, 0xCD, 0x8F, 0x7F, 0x5C, 0x93, 0xF4, 0x39, 0x7D, 0x63, 0xB1,
+ 0x44, 0x16, 0x3F, 0x48, 0xB5, 0xE7, 0x3E, 0x23, 0xD1, 0x09, 0x08, 0x95,
+ 0x5B, 0x26, 0x1D, 0xD8, 0x02, 0x03, 0x7A, 0x66, 0xA9, 0x6C, 0x8F, 0xA0,
+ 0xC7, 0x08, 0xF7, 0xD5, 0x4C, 0x98, 0xA3, 0xA5, 0x77, 0x4F, 0x8C, 0xB5,
+ 0x95, 0x2E, 0x38, 0x01, 0x60, 0x13, 0x39, 0xFE, 0x14, 0x98, 0x50, 0x8F,
+ 0xB0, 0xA6, 0x69, 0xA6, 0xF6, 0xDA, 0x45, 0x36, 0x89, 0xA9, 0x1A, 0xF9,
+ 0x75, 0xD4, 0x95, 0x2F, 0xD2, 0x2C, 0x21, 0x52, 0xC3, 0xEB, 0x4D, 0xFC,
+ 0x51, 0xA6, 0x6A, 0xD9, 0x5C, 0xC5, 0x8A, 0x45, 0x8E, 0x9D, 0x84, 0xB9,
+ 0xD3, 0xC0, 0xC2, 0x84, 0xA8, 0x27, 0x76, 0x15, 0x59, 0x03, 0x69, 0x40,
+ 0x2F, 0xDF, 0x67, 0x32, 0x46, 0xD6, 0x36, 0x8C, 0x00, 0x34, 0x08, 0xE0,
+ 0x3F, 0x2A, 0x3F, 0xE7, 0x50, 0xF0, 0xDB, 0xFC, 0x4D, 0x44, 0xF2, 0x37,
+ 0x44, 0xB4, 0x45, 0xEF, 0x95, 0x1E, 0x71, 0xFF, 0xA3, 0x6D, 0x4A, 0x2D,
+ 0x2D, 0xD3, 0x87, 0xFE, 0x30, 0xF1, 0xC5, 0xBB, 0xDC, 0x76, 0x16, 0x5D,
+ 0xA0, 0xF2, 0x33, 0x41, 0x57, 0x3A, 0x1D, 0xE6, 0x73, 0x00, 0x00, 0xF4,
+ 0xF8, 0x24, 0x30, 0x9E, 0x0E, 0xF9, 0x90, 0x0D, 0x4E, 0x10, 0x63, 0x55,
+ 0x89, 0x05, 0x65, 0x3D, 0x3E, 0x66, 0x23, 0x22, 0xC7, 0x88, 0xF6, 0xDE,
+ 0x77, 0xA7, 0x2B, 0x48, 0x74, 0x40, 0x7A, 0xA1, 0x98, 0x8C, 0xA2, 0x80,
+ 0x64, 0x8C, 0x57, 0x28, 0x79, 0x31, 0x8A, 0x0A, 0x12, 0xC9, 0x1B, 0xA9,
+ 0x2C, 0xE4, 0x46, 0xA7, 0x4A, 0xB0, 0xEE, 0xD7, 0x05, 0xB5, 0x70, 0x41,
+ 0xF0, 0x90, 0xB7, 0xB1, 0x1F, 0xD7, 0x74, 0x13, 0x02, 0x27, 0x58, 0xE3,
+ 0x7F, 0xDD, 0xB2, 0x13, 0xFB, 0xB9, 0xBD, 0x7F, 0xA4, 0x2A, 0x33, 0x26,
+ 0xB8, 0xAB, 0xCF, 0x33, 0xBB, 0x69, 0x2F, 0x18, 0xBC, 0x3F, 0x4D, 0x62,
+ 0x96, 0xAB, 0x9F, 0xF9, 0x8F, 0xBC, 0x53, 0xF9, 0x3A, 0xA5, 0xE0, 0xBD,
+ 0xD2, 0x5B, 0x25, 0x47, 0x6D, 0x70, 0x42, 0x02, 0x06, 0xC4, 0x3A, 0xA8,
+ 0xF1, 0xCF, 0xD2, 0x24, 0xD9, 0xA6, 0x1F, 0x7A, 0xFB, 0x36, 0xB9, 0xA7,
+ 0x90, 0x2A, 0xAC, 0x64, 0xC5, 0x45, 0xBE, 0xAC, 0xCF, 0x05, 0xDA, 0x22,
+ 0x00, 0xAA, 0xA4, 0xCE, 0x06, 0x3B, 0x06, 0x5A, 0x4F, 0xEC, 0x8A, 0xE5,
+ 0x6D, 0x70, 0x0F, 0x8F, 0x3D, 0xC6, 0xEE, 0x7E, 0x7F, 0x9B, 0xC7, 0xD5,
+ 0xB3, 0x65, 0x9A, 0x4C, 0x3E, 0x69, 0xBE, 0x81, 0x94, 0x07, 0xA1, 0x52,
+ 0x68, 0x03, 0x07, 0x78, 0x5C, 0x52, 0xED, 0xC9, 0xEB, 0x9F, 0x68, 0x2D,
+ 0x88, 0xB2, 0xBD, 0x79, 0xA8, 0xE5, 0x19, 0xAF, 0x06, 0x63, 0x42, 0xDF,
+ 0xAD, 0xA0, 0x36, 0xDF, 0x0F, 0xAE, 0x2C, 0x0C, 0x9A, 0x87, 0xA3, 0xAD,
+ 0x92, 0x98, 0xC2, 0xE0, 0x16, 0x7D, 0x80, 0xCF, 0xDE, 0xE2, 0x57, 0xEC,
+ 0x86, 0x3C, 0x2C, 0x3A, 0x7D, 0x27, 0xFA, 0x3F, 0xBB, 0x2E, 0x74, 0xD9,
+ 0x00, 0x41, 0x6D, 0xDC, 0xE5, 0x64, 0x6C, 0xEE, 0x53, 0xEB, 0x6E, 0xDD,
+ 0xF2, 0xCE, 0xFD, 0x53, 0x11, 0xBA, 0x3F, 0x22, 0x71, 0x32, 0x2B, 0x10,
+ 0x28, 0xFA, 0xD5, 0x2D, 0xF7, 0x77, 0xC9, 0x68, 0x6D, 0xC8, 0x83, 0x98,
+ 0xFB, 0x13, 0x99, 0x2B, 0x20, 0x04, 0xC4, 0xE5, 0x98, 0x1D, 0x72, 0x35,
+ 0xF9, 0x7B, 0xF0, 0x40, 0xC8, 0xCC, 0x77, 0x68, 0x9F, 0x9E, 0x92, 0xFC,
+ 0xF1, 0xF9, 0x24, 0xD2, 0x73, 0x42, 0xAF, 0x30, 0x30, 0x0F, 0x07, 0x5A,
+ 0x56, 0xE0, 0xD7, 0x22, 0x3E, 0xD8, 0x50, 0xDB, 0xD8, 0x1D, 0x03, 0xAD,
+ 0x7D, 0x6A, 0x6E, 0x40, 0xE1, 0xA2, 0x1A, 0x4C, 0x6B, 0x3E, 0xF2, 0x0C,
+ 0xA7, 0x9A, 0x86, 0x4D, 0x75, 0x5B, 0x2F, 0x2B, 0xA1, 0x40, 0x9D, 0x20,
+ 0xD4, 0xD9, 0x77, 0xD9, 0xAF, 0xDA, 0x63, 0xF7, 0x88, 0xAF, 0x7B, 0xBE,
+ 0x3E, 0x01, 0x5B, 0x42, 0xA9, 0x97, 0xC3, 0x99, 0x36, 0x7A, 0xE0, 0x5F,
+ 0x3C, 0x2C, 0x07, 0x73, 0x59, 0x15, 0xA9, 0xF6, 0x1C, 0x04, 0x50, 0xF3,
+ 0x30, 0x30, 0x27, 0x36, 0xA6, 0xFE, 0x6C, 0x32, 0x43, 0x2E, 0x4D, 0x03,
+ 0xA1, 0x9D, 0x15, 0x2F, 0xC5, 0xD9, 0x9C, 0x4A, 0x38, 0x1F, 0x22, 0x6E,
+ 0xB1, 0x2A, 0x3C, 0x83, 0xBD, 0x9A, 0x2B, 0xC2, 0x25, 0x9A, 0x72, 0x70,
+ 0x89, 0x89, 0x6A, 0xF8, 0x97, 0xA7, 0x42, 0x5E, 0x01, 0x1B, 0x52, 0x0F,
+ 0x8A, 0x25, 0xEB, 0x99, 0xF6, 0xF9, 0xF2, 0xB6, 0x26, 0xCF, 0xA6, 0x61,
+ 0xA0, 0x1C, 0x37, 0x04, 0x1A, 0x0C, 0x06, 0xB8, 0x47, 0x36, 0x9E, 0xEF,
+ 0x72, 0xBA, 0x92, 0x9C, 0x06, 0xD6, 0x75, 0x6F, 0xC6, 0x86, 0xDA, 0xA7,
+ 0xBF, 0x7E, 0xFD, 0xEE, 0x5E, 0x1C, 0x7D, 0x72, 0x11, 0xFD, 0x05, 0x9A,
+ 0x76, 0x77, 0x77, 0x93, 0xF0, 0x00, 0x01, 0xB2, 0x44, 0x02, 0x50, 0x5A,
+ 0x3F, 0x23, 0x0E, 0x97, 0x4D, 0x9C, 0x96, 0x74, 0x52, 0xA4, 0x98, 0x83,
+ 0x1C, 0x1A, 0x80, 0x69, 0xDE, 0x9B, 0xF0, 0x4F, 0xEF, 0x23, 0x3D, 0x56,
+ 0xA9, 0x88, 0xBC, 0xB1, 0x64, 0x20, 0x78, 0x89, 0xC1, 0xB2, 0x3F, 0x8A,
+ 0x4D, 0x32, 0x8E, 0x5C, 0xE0, 0x29, 0xF0, 0xCF, 0xEC, 0x39, 0x3A, 0xE2,
+ 0x82, 0x96, 0xEA, 0x38, 0x40, 0x19, 0x88, 0x78, 0xE5, 0xB9, 0x18, 0x7A,
+ 0x98, 0x63, 0x18, 0x29, 0xCF, 0x17, 0xA7, 0x57, 0xD0, 0x50, 0xFA, 0xB3,
+ 0x59, 0x80, 0x60, 0x9D, 0x14, 0x43, 0x67, 0x2F, 0x1E, 0xDD, 0x3B, 0x83,
+ 0xC1, 0x53, 0xE7, 0x27, 0xDE, 0xFB, 0xF1, 0xE2, 0x35, 0xE8, 0x04, 0x53,
+ 0xC6, 0x2B, 0xCC, 0x8C, 0x2A, 0xFE, 0x6F, 0x59, 0x3D, 0xD2, 0x8A, 0x07,
+ 0xCA, 0x76, 0x84, 0x08, 0xE1, 0xEC, 0xBD, 0x8B, 0xFD, 0x96, 0xA8, 0x24,
+ 0xFB, 0x96, 0xB0, 0xB4, 0x0C, 0x74, 0x60, 0x12, 0x56, 0x83, 0x0C, 0xC2,
+ 0xB9, 0x4F, 0x6D, 0xB7, 0x2D, 0x68, 0x6B, 0x21, 0xF1, 0x9D, 0xEF, 0x69,
+ 0x4B, 0xA1, 0x81, 0x89, 0x41, 0x51, 0xE4, 0x68, 0x29, 0xBC, 0x1A, 0x06,
+ 0xA0, 0xF6, 0xCB, 0xD8, 0x82, 0xFE, 0x6C, 0xE0, 0xF4, 0x69, 0x15, 0xF8,
+ 0xD8, 0x54, 0x00, 0xA9, 0xAD, 0x2D, 0xDC, 0xF4, 0x97, 0xF1, 0x36, 0xEA,
+ 0xD1, 0x22, 0x88, 0x8D, 0x04, 0x16, 0x8C, 0x48, 0xBD, 0x5F, 0xEE, 0x60,
+ 0x3C, 0x37, 0x6E, 0x42, 0x92, 0x05, 0x09, 0x71, 0x00, 0x14, 0xDB, 0x2F,
+ 0x73, 0xBE, 0x12, 0xDA, 0x89, 0x12, 0x0F, 0x2F, 0x6C, 0xB7, 0xE2, 0x64,
+ 0xCF, 0x3E, 0x69, 0x95, 0x9E, 0x87, 0xC9, 0xA9, 0x67, 0x0D, 0x4F, 0x04,
+ 0x5B, 0x16, 0x3A, 0xB4, 0x75, 0x7A, 0x3F, 0x17, 0x5C, 0x17, 0xF5, 0xF1,
+ 0x5A, 0x17, 0xFE, 0x85, 0x5F, 0x0C, 0x7C, 0x79, 0x3E, 0x6E, 0x24, 0x89,
+ 0xB6, 0x56, 0x74, 0x51, 0x45, 0xFE, 0x54, 0x39, 0x62, 0x91, 0xE6, 0x98,
+ 0x88, 0xB2, 0x55, 0x20, 0x7B, 0x14, 0x4B, 0x11, 0xB9, 0xD4, 0xF0, 0xC0,
+ 0x69, 0x4F, 0x88, 0xCF, 0x43, 0x4F, 0xBB, 0xCC, 0x60, 0x3C, 0x8D, 0xF0,
+ 0x7B, 0x37, 0x7F, 0x39, 0xE7, 0x15, 0x72, 0x65, 0x2F, 0x24, 0xF5, 0x06,
+ 0x40, 0xF9, 0x1A, 0x92, 0xA2, 0x29, 0x17, 0xEF, 0xF8, 0xAC, 0xD9, 0x16,
+ 0x5A, 0x35, 0xB6, 0x15, 0xED, 0xB0, 0xAD, 0x35, 0x58, 0x12, 0xA8, 0x46,
+ 0x64, 0x22, 0xE9, 0xDC, 0x1C, 0xA7, 0x0D, 0xF2, 0x7D, 0x37, 0xCB, 0xEE,
+ 0x43, 0x6C, 0xAC, 0x2A, 0xE0, 0xF3, 0xE4, 0x88, 0x3F, 0x68, 0x0D, 0x1D,
+ 0x99, 0x60, 0xF5, 0x8A, 0xE3, 0x4F, 0x3E, 0x35, 0x74, 0xB7, 0x18, 0x3B,
+ 0x88, 0x31, 0x9C, 0x52, 0xC5, 0xE6, 0xD2, 0x9C, 0x5E, 0x32, 0x91, 0xA7,
+ 0x37, 0x24, 0xC1, 0x50, 0xE6, 0x00, 0xE6, 0xFC, 0xE8, 0xDF, 0x4B, 0x85,
+ 0xB8, 0xCC, 0x6F, 0xE7, 0x68, 0x2C, 0xDA, 0x62, 0x1B, 0xBE, 0xB6, 0x9A,
+ 0x9B, 0xE2, 0x5D, 0x71, 0xC0, 0x94, 0xAB, 0x94, 0xD7, 0x06, 0x78, 0xCF,
+ 0x0F, 0xB6, 0x5D, 0x15, 0xCE, 0xC8, 0xB7, 0x2D, 0xA9, 0x66, 0xF3, 0x9F,
+ 0x70, 0xCE, 0xA3, 0x13, 0x38, 0x40, 0x03, 0x85, 0x00, 0xA4, 0x25, 0x3E,
+ 0xA0, 0x10, 0x49, 0x9B, 0xAC, 0x23, 0x4A, 0x15, 0xF0, 0xFB, 0x82, 0x58,
+ 0x55, 0x00, 0x01, 0x0E, 0xB3, 0x93, 0x18, 0xC1, 0x65, 0x7E, 0x8C, 0xEA,
+ 0xCA, 0xB1, 0x64, 0x97, 0x58, 0x81, 0x1C, 0x2F, 0x4B, 0x38, 0x62, 0x1F,
+ 0xD2, 0x7C, 0x3B, 0x04, 0xCA, 0xDB, 0xC0, 0x45, 0xAB, 0xD6, 0x35, 0x11,
+ 0x61, 0xF1, 0x3F, 0x3F, 0x66, 0x89, 0x68, 0xDB, 0x7C, 0xA2, 0xA9, 0x45,
+ 0xBF, 0x25, 0xF5, 0x64, 0xBE, 0x44, 0x12, 0x45, 0x26, 0x5F, 0x3A, 0x0F,
+ 0x02, 0x20, 0xBD, 0x5E, 0xA8, 0x71, 0xD3, 0x49, 0xE7, 0xF7, 0x6D, 0x99,
+ 0xAD, 0x9A, 0xDB, 0x0C, 0x4A, 0x45, 0x2D, 0xAA, 0x09, 0x6F, 0xC4, 0x20,
+ 0x0A, 0xE8, 0xCA, 0xC4, 0x95, 0x6E, 0xF5, 0xED, 0x7F, 0xD8, 0x4A, 0x7B,
+ 0xC8, 0x00, 0x5E, 0xA6, 0x29, 0x11, 0xB8, 0xB1, 0xF5, 0xDA, 0xE9, 0xC3,
+ 0x8E, 0xA4, 0x42, 0xD6, 0xCC, 0x2D, 0x1F, 0x49, 0x44, 0x96, 0x4E, 0xAA,
+ 0xB8, 0x0E, 0x16, 0x1A, 0x94, 0x5B, 0xE2, 0x07, 0x34, 0x78, 0x1D, 0x0A,
+ 0xB0, 0xDB, 0x4A, 0x7F, 0x38, 0xA8, 0x85, 0xD7, 0x00, 0xF4, 0x4A, 0x89,
+ 0x8E, 0x19, 0xD0, 0x3D, 0x49, 0x0F, 0x07, 0x04, 0x71, 0x85, 0x34, 0xE0,
+ 0x55, 0xDD, 0xB5, 0xF1, 0x0F, 0xDB, 0xF3, 0x73, 0x23, 0xD1, 0x5D, 0xC3,
+ 0x75, 0x6C, 0x8A, 0x30, 0xCB, 0x38, 0x13, 0xA8, 0x2B, 0x44, 0x60, 0xB4,
+ 0x84, 0x80, 0xCB, 0x1D, 0x77, 0x3C, 0x58, 0xB1, 0x42, 0x5B, 0x23, 0x63,
+ 0x5A, 0x4D, 0xE7, 0xDE, 0x2D, 0x2C, 0x1A, 0x3C, 0x9A, 0x7F, 0x84, 0x8C,
+ 0x6D, 0x69, 0x3F, 0x22, 0xAE, 0x85, 0x81, 0xC6, 0x43, 0xC9, 0x4E, 0x20,
+ 0x8B, 0x47, 0xD4, 0x1D, 0x78, 0x82, 0x89, 0x47, 0x6B, 0x62, 0x9C, 0x80,
+ 0x4F, 0x62, 0x97, 0x21, 0x98, 0x0C, 0x82, 0x8D, 0xD1, 0x54, 0x6F, 0xD4,
+ 0x7C, 0xB0, 0x35, 0x96, 0x77, 0xA6, 0x81, 0xD6, 0xC6, 0x16, 0x83, 0xE4,
+ 0x13, 0x8D, 0xC8, 0xCD, 0x0A, 0x25, 0xEB, 0x9D, 0x2F, 0xB2, 0x02, 0x40,
+ 0x28, 0x73, 0x40, 0xBB, 0x43, 0x1D, 0xBF, 0xE1, 0x7F, 0xFE, 0xB8, 0x69,
+ 0xF2, 0xC6, 0xDE, 0x2E, 0xA6, 0xC0, 0xA5, 0xF2, 0x0C, 0x2F, 0x4B, 0xD3,
+ 0xE1, 0x2F, 0x3D, 0x8A, 0x0C, 0xF9, 0x65, 0xE6, 0xFF, 0x85, 0xFF, 0x37,
+ 0x64, 0x75, 0xE0, 0x2C, 0x42, 0x6D, 0xDA, 0xC9, 0x9D, 0x79, 0xD1, 0x18,
+ 0x62, 0xAE, 0x75, 0x1A, 0x91, 0x63, 0x51, 0xAB, 0x2C, 0x37, 0x42, 0x38,
+ 0x33, 0xD1, 0xC8, 0x0B, 0x9A, 0x5D, 0x52, 0xF0, 0x44, 0x82, 0x04, 0x32,
+ 0x8E, 0x40, 0xE9, 0x00, 0xEF, 0xA3, 0x2A, 0x0E, 0x1D, 0x7B, 0xEB, 0x73,
+ 0x13, 0xC0, 0x55, 0x0C, 0x14, 0x1C, 0xC2, 0x91, 0x91, 0x31, 0xF6, 0x64,
+ 0x77, 0x1E, 0x1A, 0xF9, 0x37, 0xCA, 0x0A, 0xEF, 0x0A, 0x5D, 0x58, 0xCD,
+ 0x4E, 0x60, 0x88, 0x7F, 0x0C, 0xF9, 0x8E, 0x35, 0x12, 0x9C, 0x5B, 0xE3,
+ 0xFC, 0xD3, 0x00, 0x52, 0x76, 0x97, 0xF8, 0x8A, 0x58, 0x5E, 0xAE, 0xDB,
+ 0x1D, 0x8F, 0xD7, 0x31, 0xFB, 0x7E, 0x6A, 0x40, 0x3B, 0x8B, 0x4F, 0xD4,
+ 0xC7, 0x41, 0xB1, 0xB5, 0xCC, 0x06, 0x7D, 0xC6, 0x64, 0x29, 0xBD, 0x85,
+ 0x10, 0x48, 0x7D, 0x6F, 0x1A, 0x61, 0x25, 0xAF, 0x7B, 0x7F, 0x95, 0x24,
+ 0xD3, 0x5F, 0x0F, 0x61, 0x30, 0x43, 0xA2, 0xD5, 0x46, 0xFE, 0xD5, 0x5C,
+ 0xA8, 0xD7, 0x30, 0xE5, 0x5B, 0x41, 0x8B, 0xB7, 0x32, 0xF4, 0x05, 0xF0,
+ 0xCD, 0xB1, 0x5B, 0x5D, 0x2F, 0x77, 0x10, 0xE6, 0xA6, 0xF3, 0xE5, 0x80,
+ 0x91, 0xB2, 0x3C, 0x50, 0xC9, 0x42, 0x27, 0x2B, 0x38, 0x67, 0x13, 0x71,
+ 0x6D, 0x8B, 0x5F, 0x47, 0x36, 0xE9, 0xCF, 0xC0, 0x8D, 0x92, 0x6C, 0x13,
+ 0xFC, 0x08, 0x00, 0xF5, 0xF5, 0x0B, 0x0F, 0x47, 0xB9, 0xE4, 0xF3, 0xED,
+ 0x2D, 0x1E, 0x6A, 0x14, 0x78, 0x51, 0xA2, 0x68, 0x3E, 0x39, 0x08, 0xC7,
+ 0x78, 0xFA, 0xBB, 0x3E, 0xAD, 0xBC, 0x7E, 0x7F, 0x8D, 0xBE, 0xA2, 0x26,
+ 0x86, 0xD4, 0x0D, 0x31, 0x85, 0xA5, 0x2B, 0xE6, 0xA6, 0x24, 0x5A, 0xF1,
+ 0x14, 0xB3, 0x45, 0x58, 0x3C, 0x21, 0xDF, 0x0B, 0x56, 0x9E, 0xB1, 0xEC,
+ 0xA9, 0xD9, 0x94, 0xDA, 0x75, 0xD6, 0xF2, 0x74, 0x0D, 0x58, 0xCC, 0xAC,
+ 0x38, 0x88, 0x3E, 0xB5, 0xEB, 0x82, 0x57, 0xAF, 0xA3, 0x5B, 0x54, 0x9A,
+ 0xA4, 0xC2, 0x2B, 0xCE, 0xFC, 0x5D, 0x78, 0x59, 0x3B, 0x9E, 0x05, 0xE8,
+ 0xCB, 0x2C, 0x8E, 0xEF, 0x11, 0x12, 0xF4, 0x87, 0x06, 0x64, 0x1E, 0x9A,
+ 0x4C, 0x51, 0xFA, 0xE5, 0xEE, 0x72, 0xEF, 0x31, 0x9C, 0x44, 0x28, 0x92,
+ 0xB5, 0x38, 0xC6, 0xA9, 0x40, 0x75, 0x51, 0x0E, 0x2D, 0xD6, 0x96, 0x1C,
+ 0x3C, 0x78, 0xC1, 0x9B, 0x79, 0xFB, 0xD2, 0x3D, 0x41, 0xB8, 0x59, 0x6B,
+ 0xA0, 0xC8, 0x27, 0xE6, 0x3F, 0xC7, 0xE4, 0x84, 0xD7, 0xF8, 0x3C, 0x36,
+ 0x0B, 0x3C, 0x85, 0x59, 0x75, 0xD2, 0xF3, 0x7C, 0x43, 0xDE, 0x74, 0xF5,
+ 0x65, 0xDE, 0x5E, 0x0B, 0xB1, 0x80, 0xEC, 0x86, 0xC0, 0xDA, 0x1E, 0x4F,
+ 0xF6, 0xD3, 0x55, 0x2D, 0xA9, 0x61, 0x9E, 0x0F, 0xBA, 0xCB, 0xC6, 0x03,
+ 0x15, 0x92, 0x9A, 0x40, 0x78, 0x3B, 0xDC, 0x14, 0x93, 0x08, 0x8D, 0xC0,
+ 0xBE, 0x54, 0x96, 0xEF, 0x45, 0x22, 0xD7, 0x31, 0xF0, 0x4B, 0x55, 0x82,
+ 0x06, 0x3B, 0x1F, 0x35, 0x1C, 0xD4, 0xC6, 0x55, 0x65, 0xB1, 0xC8, 0xAC,
+ 0x9E, 0x5E, 0xDA, 0x6B, 0x1F, 0x13, 0x58, 0x52, 0x64, 0xE0, 0x4B, 0xD0,
+ 0x4E, 0xFB, 0x90, 0xD2, 0xDF, 0x90, 0xF3, 0x0C, 0x89, 0x8D, 0xC1, 0xD6,
+ 0x4C, 0x26, 0xF9, 0xFF, 0x3F, 0xE5, 0xFF, 0x4F, 0x7B, 0x23, 0xC7, 0x9E,
+ 0x5E, 0x32, 0xD5, 0xCC, 0xCC, 0x30, 0xE4, 0x12, 0x86, 0xD5, 0x5A, 0x69,
+ 0x2C, 0x14, 0x4A, 0x9A, 0x79, 0x90, 0x24, 0x2A, 0x0D, 0x7B, 0xE1, 0x5C,
+ 0x7F, 0xD5, 0xD0, 0x9B, 0x59, 0xA0, 0xC1, 0xB5, 0x35, 0xDF, 0xE4, 0x3B,
+ 0x96, 0x45, 0xEA, 0x85, 0x56, 0xE3, 0xA0, 0x78, 0x66, 0xA2, 0xB4, 0x95,
+ 0xE8, 0x83, 0x4E, 0xA5, 0x34, 0xB0, 0xCA, 0x68, 0x1B, 0x8E, 0xEF, 0x99,
+ 0xD5, 0xD7, 0xDA, 0x02, 0x68, 0xEC, 0xB8, 0x8A, 0x78, 0x1A, 0x9F, 0x31,
+ 0xDD, 0x3E, 0xB0, 0xA7, 0x47, 0x4C, 0x61, 0x8B, 0x38, 0xFD, 0xFE, 0x8C,
+ 0x11, 0xE6, 0x4F, 0xDC, 0xD7, 0x26, 0xF0, 0x49, 0x64, 0x39, 0xE0, 0xA8,
+ 0xEF, 0x57, 0x5A, 0x6E, 0xA0, 0xEE, 0xAF, 0x3E, 0x51, 0x2B, 0x59, 0x08,
+ 0x8D, 0x62, 0x48, 0x9D, 0xCC, 0x0B, 0x70, 0x35, 0x85, 0xC0, 0xDB, 0x14,
+ 0xAD, 0x31, 0x8B, 0xCD, 0x15, 0xF5, 0x1B, 0x2F, 0xDA, 0x0D, 0xE8, 0xA8,
+ 0x8C, 0xCC, 0xD3, 0xF0, 0xEC, 0x21, 0xC7, 0xF7, 0x4B, 0xF3, 0xDF, 0x98,
+ 0x49, 0xBD, 0xE7, 0xCB, 0x43, 0x18, 0xF0, 0x39, 0xDE, 0xAE, 0xD6, 0x19,
+ 0x2A, 0x1A, 0x2E, 0x04, 0xA3, 0x94, 0x0C, 0x5B, 0xC4, 0x29, 0x06, 0x82,
+ 0xEA, 0xBE, 0xDB, 0x8B, 0x7F, 0xA5, 0xC9, 0x42, 0x14, 0x11, 0x06, 0x16,
+ 0x6B, 0xE8, 0xF3, 0xB8, 0x15, 0x5A, 0xAA, 0x3E, 0xF9, 0xF0, 0x5D, 0x68,
+ 0x19, 0xFF, 0xA9, 0xAF, 0xCB, 0x67, 0x83, 0x64, 0xB4, 0x93, 0x0A, 0xAE,
+ 0xFA, 0xCC, 0x2B, 0x19, 0xF7, 0x4B, 0xBE, 0x0A, 0x29, 0x14, 0xE2, 0xAA,
+ 0x82, 0x16, 0x15, 0x33, 0xDD, 0xB9, 0x1E, 0x10, 0x11, 0x5A, 0xCE, 0x29,
+ 0xCD, 0x2F, 0x2D, 0x9D, 0xAD, 0xF4, 0x24, 0xD4, 0xA0, 0x66, 0xBB, 0xB9,
+ 0x20, 0x87, 0x25, 0x7B, 0x90, 0x16, 0x47, 0xDF, 0x07, 0x1A, 0x43, 0xF9,
+ 0xC1, 0xC0, 0x73, 0xB8, 0x1F, 0x19, 0x69, 0x83, 0xF9, 0x03, 0x06, 0x88,
+ 0x87, 0x7F, 0x66, 0x67, 0x64, 0x14, 0x46, 0x65, 0xB7, 0x6E, 0x4F, 0x88,
+ 0x0E, 0xAB, 0x0A, 0x4F, 0xDB, 0x22, 0x4E, 0x9D, 0x03, 0x3D, 0x7E, 0xA1,
+ 0x5C, 0xE2, 0xBC, 0x6C, 0xC6, 0x46, 0x02, 0xB5, 0x65, 0xAA, 0x8C, 0x24,
+ 0x86, 0x9A, 0x88, 0x2C, 0x90, 0xAC, 0xB4, 0x72, 0xED, 0x98, 0xB1, 0xCD,
+ 0x99, 0x61, 0xE6, 0x0A, 0x55, 0x27, 0xF1, 0xF6, 0x80, 0xC3, 0xCD, 0xCF,
+ 0x44, 0xF8, 0x04, 0x69, 0x51, 0x42, 0xA8, 0x26, 0x98, 0x58, 0xD7, 0xB7,
+ 0x88, 0xB4, 0x41, 0x1A, 0x07, 0x8C, 0x7C, 0x96, 0x93, 0x08, 0xD1, 0x2B,
+ 0xA3, 0x9B, 0x09, 0x14, 0x2C, 0x2C, 0xB6, 0xD9, 0x40, 0x4F, 0x65, 0x45,
+ 0xF7, 0x6C, 0x94, 0x93, 0x3F, 0x34, 0xDC, 0x1E, 0xFD, 0xFC, 0xA2, 0x3E,
+ 0x1C, 0xEA, 0x41, 0x66, 0xB0, 0xF7, 0x77, 0x4B, 0xDF, 0x74, 0xD1, 0x54,
+ 0xA1, 0x7F, 0x2F, 0xF5, 0x44, 0x2F, 0xD2, 0xA9, 0x23, 0x9E, 0xF4, 0x70,
+ 0xE9, 0xC1, 0x27, 0xFE, 0x98, 0xDD, 0xF0, 0x08, 0x5A, 0x52, 0xCE, 0x10,
+ 0xC4, 0xE9, 0x4E, 0x47, 0x0A, 0xDB, 0x54, 0x36, 0xBD, 0x57, 0x71, 0x2D,
+ 0xF0, 0xA3, 0xD8, 0x84, 0xFE, 0x67, 0x3E, 0xE2, 0x4B, 0x20, 0xD0, 0xE3,
+ 0xF3, 0x8F, 0x58, 0xC7, 0x38, 0x8E, 0x8B, 0x8A, 0xD8, 0x96, 0x80, 0x26,
+ 0x80, 0x81, 0x64, 0x11, 0x11, 0x27, 0x17, 0xD3, 0xAD, 0x5B, 0xC2, 0xB3,
+ 0x32, 0xA4, 0xD3, 0xF4, 0x88, 0xFC, 0xF0, 0xE1, 0xB9, 0xBA, 0x86, 0x0B,
+ 0x0A, 0xB0, 0x9C, 0xD4, 0xCA, 0x29, 0x7D, 0x16, 0x91, 0xE2, 0x45, 0xCC,
+ 0xEE, 0x40, 0x02, 0xA6, 0xA7, 0x9F, 0xA8, 0x10, 0x79, 0xEF, 0xF7, 0xC2,
+ 0x3B, 0x2C, 0xFF, 0x92, 0xD8, 0x5D, 0x50, 0xE4, 0x1D, 0x61, 0x4B, 0x0D,
+ 0x5E, 0x1B, 0xD2, 0x39, 0x15, 0x7C, 0x91, 0x1C, 0xD3, 0x8C, 0x28, 0x95,
+ 0x3E, 0xBB, 0x79, 0x30, 0x3B, 0xD6, 0x1E, 0x39, 0x19, 0x8B, 0xB5, 0xD4,
+ 0x11, 0x39, 0xD1, 0x6D, 0xC9, 0x96, 0xD9, 0x8E, 0x09, 0xD7, 0x00, 0x17,
+ 0x45, 0x54, 0x93, 0xAC, 0xF8, 0x27, 0x0B, 0x1E, 0x6A, 0xBD, 0xEA, 0x25,
+ 0x1F, 0xD0, 0x77, 0x9C, 0xD4, 0x01, 0xC9, 0xB9, 0x66, 0x64, 0x25, 0x00,
+ 0xE9, 0xB2, 0x44, 0x3A, 0x09, 0x84, 0x09, 0x37, 0x0C, 0x65, 0x40, 0xA9,
+ 0x3F, 0x5D, 0xB2, 0xFF, 0xC2, 0xBB, 0x0F, 0x67, 0x62, 0x6C, 0x67, 0x60,
+ 0x14, 0x32, 0xD1, 0x96, 0x8D, 0x14, 0x8E, 0xC4, 0x49, 0xA4, 0x74, 0x30,
+ 0x01, 0xD8, 0xB9, 0x9B, 0xD4, 0x4E, 0x79, 0x34, 0x42, 0x2A, 0x46, 0xCB,
+ 0x25, 0xBE, 0x83, 0x24, 0x9E, 0x72, 0xCF, 0x32, 0xF1, 0x98, 0xEE, 0x97,
+ 0xCF, 0xD6, 0x5F, 0x7E, 0xA8, 0x4B, 0x02, 0x37, 0x65, 0x2D, 0xA0, 0xBF,
+ 0x07, 0x7A, 0x84, 0x61, 0xE3, 0xED, 0xB5, 0x3F, 0x49, 0x3C, 0x86, 0x2C,
+ 0xBB, 0x72, 0xAF, 0xDA, 0xD4, 0xE1, 0xA5, 0x3B, 0xC4, 0xE6, 0x24, 0x9E,
+ 0xD2, 0x48, 0x31, 0x22, 0x99, 0x18, 0x9B, 0x38, 0x23, 0x84, 0x49, 0x40,
+ 0x53, 0xAC, 0xAD, 0x66, 0x91, 0xBB, 0x47, 0xAE, 0x37, 0x3D, 0x9C, 0xB9,
+ 0x2C, 0xC7, 0x7E, 0x21, 0xCF, 0xD7, 0x1A, 0xA4, 0x02, 0x35, 0x20, 0xEB,
+ 0x47, 0x59, 0x1D, 0xB1, 0xB9, 0x50, 0xA8, 0x04, 0xEC, 0xEE, 0xCA, 0xAC,
+ 0xEC, 0x03, 0x11, 0x18, 0xF1, 0xA0, 0x25, 0x7B, 0x81, 0x2A, 0xA2, 0x90,
+ 0x6A, 0x84, 0x51, 0x67, 0x26, 0xDB, 0xD9, 0xD4, 0xD8, 0x5C, 0x8B, 0xBE,
+ 0x17, 0x11, 0x58, 0xF5, 0x6B, 0x0C, 0x55, 0x69, 0x49, 0x52, 0x5C, 0xC1,
+ 0x38, 0xD7, 0x86, 0x28, 0x5E, 0xCB, 0xFD, 0x47, 0x39, 0x4C, 0xE6, 0x72,
+ 0x47, 0x29, 0x99, 0x0B, 0x2A, 0xF0, 0x71, 0x20, 0x3F, 0xED, 0x8A, 0xA3,
+ 0xB1, 0x09, 0x82, 0x4B, 0xDA, 0xE4, 0x2B, 0xF8, 0x03, 0xFD, 0x4B, 0x2E,
+ 0x5A, 0xCB, 0x99, 0x17, 0x2F, 0xD0, 0x49, 0x71, 0xDE, 0x82, 0x69, 0xC8,
+ 0x14, 0x14, 0x4B, 0x7C, 0x61, 0x69, 0x09, 0x9D, 0xFA, 0xB8, 0x11, 0xFD,
+ 0xE0, 0xD6, 0xC8, 0x5D, 0xD0, 0xA7, 0x79, 0x9E, 0x42, 0x75, 0xFC, 0x42,
+ 0x65, 0xAA, 0x5D, 0x04, 0x5E, 0x8C, 0x8F, 0x2E, 0x8B, 0x83, 0x39, 0xD7,
+ 0x07, 0xB9, 0xC3, 0x52, 0x15, 0x2C, 0x50, 0xA2, 0xDF, 0xAE, 0x57, 0x35,
+ 0x95, 0x46, 0xB9, 0x6B, 0x62, 0x66, 0x78, 0xAF, 0x73, 0x92, 0x08, 0xB3,
+ 0xB7, 0x8C, 0x8F, 0x11, 0x7A, 0xA6, 0xF4, 0xCC, 0x90, 0x3A, 0x24, 0xB1,
+ 0x95, 0x50, 0xD3, 0x93, 0x2A, 0xAB, 0xE6, 0x9C, 0xC7, 0xC8, 0xEA, 0xCD,
+ 0x11, 0x86, 0x4B, 0x92, 0x5B, 0x67, 0xB9, 0x64, 0xD5, 0x75, 0x02, 0x98,
+ 0x24, 0x2B, 0xAF, 0x5C, 0x89, 0xF2, 0x27, 0x04, 0x8B, 0x38, 0x81, 0x0A,
+ 0x9E, 0xF4, 0xAE, 0x4A, 0xC9, 0x36, 0x64, 0x15, 0xBA, 0xDB, 0xFC, 0xDD,
+ 0xA6, 0xF1, 0xDF, 0x96, 0xA0, 0x96, 0xD4, 0x11, 0x0B, 0x86, 0x7A, 0xD1,
+ 0x0E, 0x46, 0x5F, 0x59, 0x3C, 0x4B, 0x2C, 0x29, 0xB3, 0x01, 0xE3, 0x41,
+ 0xA2, 0xF9, 0x45, 0xED, 0xF4, 0x19, 0xA8, 0x8D, 0x4D, 0x10, 0x4A, 0xF1,
+ 0xF5, 0x68, 0x65, 0x7D, 0x1E, 0x69, 0x60, 0x67, 0x23, 0x44, 0xF5, 0x84,
+ 0x4E, 0xD4, 0x60, 0x70, 0xB2, 0x0F, 0x33, 0xC2, 0x33, 0xA9, 0xE7, 0x91,
+ 0x2B, 0xE2, 0x47, 0x8E, 0xFE, 0xCB, 0x32, 0x18, 0x84, 0x03, 0x9F, 0xA2,
+ 0x9E, 0xB2, 0x44, 0xCB, 0xB5, 0x96, 0xE1, 0x0A, 0x34, 0xF4, 0x61, 0xAC,
+ 0x8A, 0x47, 0x30, 0x5D, 0x70, 0xBA, 0x1E, 0xE5, 0x2B, 0xAC, 0x3E, 0x9D,
+ 0xF8, 0x6A, 0x10, 0x76, 0x73, 0x07, 0xEC, 0xC1, 0x7F, 0xBA, 0x6A, 0x8C,
+ 0xB5, 0x33, 0xD3, 0x49, 0x4B, 0x3B, 0x4F, 0xDD, 0x7F, 0x4C, 0x1B, 0x96,
+ 0x4A, 0x56, 0x7C, 0xDB, 0x64, 0x62, 0xD6, 0xA0, 0x94, 0xA2, 0x8E, 0xCE,
+ 0xED, 0x9F, 0xEA, 0xF7, 0xD7, 0xDB, 0x2B, 0x7C, 0x9B, 0x17, 0x80, 0x56,
+ 0xD2, 0x8A, 0x16, 0x66, 0x40, 0x30, 0xF0, 0xA0, 0xB5, 0xDF, 0xB8, 0x2C,
+ 0xE9, 0xF1, 0x95, 0xF1, 0x76, 0x40, 0x42, 0x73, 0x17, 0x78, 0xF6, 0x94,
+ 0xC5, 0x7C, 0xB8, 0x47, 0xBA, 0xEC, 0x00, 0xBD, 0x1D, 0x4C, 0x10, 0xDD,
+ 0x30, 0xDF, 0xFA, 0x83, 0x49, 0xC8, 0x26, 0xA8, 0xEA, 0x2D, 0x86, 0x17,
+ 0x2F, 0xD9, 0x19, 0xE1, 0x5C, 0x33, 0x53, 0xB1, 0xA4, 0x15, 0x50, 0xF3,
+ 0xC4, 0x30, 0xC1, 0x33, 0x3E, 0x10, 0x09, 0x5A, 0xE6, 0x3D, 0xE5, 0x48,
+ 0xA6, 0x4D, 0xBC, 0xF3, 0x69, 0xA6, 0x88, 0xED, 0x95, 0x81, 0x3F, 0x38,
+ 0xFD, 0x12, 0xDC, 0xFB, 0xDE, 0x6B, 0x46, 0xA6, 0xC0, 0x38, 0xDE, 0xFC,
+ 0x50, 0xAA, 0x0A, 0xC1, 0x24, 0x39, 0x0D, 0xA5, 0x56, 0x8B, 0xC6, 0x8D,
+ 0x9E, 0xD2, 0xF4, 0x6B, 0x42, 0xCE, 0x02, 0x40, 0xF1, 0xC1, 0xBF, 0x48,
+ 0x6B, 0x25, 0x71, 0x5A, 0x7E, 0xBB, 0xC8, 0xAC, 0x51, 0x6F, 0xE9, 0x8F,
+ 0x4C, 0x41, 0x09, 0x4B, 0x8F, 0x37, 0xC2, 0xC2, 0x93, 0x7F, 0x67, 0x2E,
+ 0xE4, 0x24, 0x18, 0x2A, 0xF5, 0x73, 0xFD, 0xBB, 0xC9, 0xEC, 0x15, 0xA8,
+ 0x8A, 0xA5, 0xD1, 0x31, 0x7D, 0xB7, 0x22, 0xB9, 0xC8, 0x07, 0xC0, 0xE0,
+ 0xFE, 0x83, 0x20, 0x01, 0x53, 0x6B, 0x7D, 0x0B, 0x80, 0xA9, 0xD3, 0x8A,
+ 0x72, 0x91, 0xA8, 0x00, 0x82, 0x2E, 0xDF, 0xBC, 0x57, 0x63, 0x98, 0x45,
+ 0xF6, 0x2A, 0x5D, 0x97, 0x0F, 0xC0, 0x03, 0x51, 0xCE, 0xA3, 0x12, 0x2E,
+ 0xE3, 0x4B, 0x63, 0x35, 0x78, 0xE7, 0xEA, 0x87, 0xEB, 0x70, 0x82, 0x3B,
+ 0xE1, 0xC5, 0x23, 0x2D, 0x7C, 0x00, 0x00, 0x03, 0x01, 0x95, 0x29, 0xBE,
+ 0xB6, 0xDC, 0xF6, 0x58, 0x50, 0xFE, 0xCE, 0xF7, 0xF7, 0x52, 0x3D, 0xB7,
+ 0xED, 0x89, 0xC1, 0x6B, 0x00, 0x2B, 0x45, 0x0E, 0x10, 0x47, 0x0B, 0xC0,
+ 0xB7, 0xBF, 0x75, 0xAA, 0x4E, 0x32, 0xD5, 0xD9, 0x1A, 0x9C, 0x51, 0xC5,
+ 0x17, 0x26, 0x6F, 0x2B, 0xFB, 0xF0, 0xBD, 0x7B, 0xEA, 0x99, 0xC9, 0xF2,
+ 0x32, 0x25, 0x4E, 0x63, 0x87, 0x86, 0xA9, 0xE0, 0xE9, 0x1E, 0x78, 0xE7,
+ 0xBA, 0x95, 0xB0, 0xE5, 0x67, 0x3D, 0x9A, 0xDC, 0xA9, 0x17, 0xD8, 0xDA,
+ 0x28, 0x8D, 0x20, 0x4E, 0xDC, 0x65, 0x3B, 0xFA, 0x95, 0x05, 0x5B, 0x3F,
+ 0xF9, 0xFE, 0x9F, 0x74, 0x5A, 0xCB, 0x93, 0x82, 0x0A, 0x96, 0xFB, 0xA3,
+ 0x64, 0x76, 0x59, 0x7D, 0x28, 0xBA, 0x9D, 0xE4, 0x40, 0x9B, 0xB1, 0x92,
+ 0x52, 0xD9, 0x29, 0x2E, 0x75, 0x93, 0xE2, 0x84, 0x0B, 0x18, 0x00, 0x7C,
+ 0xAF, 0x5D, 0xDA, 0xE9, 0x78, 0x00, 0xBD, 0xC5, 0x2D, 0xB2, 0xCA, 0x6B,
+ 0xDD, 0xFB, 0x1F, 0xD4, 0xD7, 0x6A, 0xBE, 0x22, 0x9D, 0x8C, 0x13, 0x50,
+ 0x8E, 0x8C, 0x07, 0xFB, 0x5B, 0x70, 0x16, 0xF3, 0xFE, 0x48, 0x4F, 0xF5,
+ 0x08, 0xF5, 0x96, 0xDE, 0x20, 0xDA, 0x4F, 0xEC, 0xFD, 0xD4, 0x83, 0x48,
+ 0x5A, 0xA4, 0x32, 0xE0, 0xBC, 0xA9, 0xC5, 0xCB, 0x33, 0x61, 0xA0, 0xBE,
+ 0x66, 0x8C, 0xF7, 0x10, 0x60, 0xD8, 0xC4, 0xB4, 0xBA, 0xD3, 0x8A, 0x0C,
+ 0x8F, 0x86, 0x09, 0x7A, 0x95, 0x5C, 0x07, 0x06, 0xCD, 0xDF, 0xC7, 0xD0,
+ 0x58, 0x9C, 0xFB, 0xC9, 0x42, 0x39, 0x84, 0x32, 0xD6, 0x07, 0x0F, 0x83,
+ 0x89, 0x91, 0x35, 0x40, 0x03, 0x9A, 0x1D, 0x53, 0x5F, 0x53, 0xF0, 0xD7,
+ 0xDB, 0xDE, 0xAB, 0x5E, 0x97, 0xAF, 0x6D, 0x43, 0x01, 0xB0, 0x74, 0x49,
+ 0x8E, 0x81, 0xE5, 0xA6, 0x08, 0xAC, 0xEC, 0x92, 0xE9, 0x99, 0xC7, 0xBD,
+ 0xB4, 0x0E, 0x95, 0x6E, 0xDA, 0x68, 0x6D, 0x24, 0x35, 0xE5, 0x11, 0x42,
+ 0x11, 0xCA, 0x1B, 0x49, 0x5C, 0x5C, 0x8D, 0x29, 0x1D, 0xBB, 0xD3, 0x81,
+ 0x65, 0x78, 0xA3, 0x85, 0x80, 0x2E, 0x73, 0xEE, 0x61, 0x88, 0x51, 0xBB,
+ 0x6B, 0x73, 0x14, 0xBA, 0x64, 0x5A, 0x67, 0xE6, 0x9C, 0xD8, 0x99, 0x57,
+ 0x4D, 0xC2, 0xA3, 0xF6, 0x30, 0x39, 0xA8, 0x47, 0xBE, 0x7C, 0xB1, 0xF9,
+ 0x46, 0xD7, 0x73, 0x64, 0x21, 0x94, 0xC5, 0xCC, 0x6E, 0xAC, 0xCC, 0xE6,
+ 0x57, 0x25, 0x4D, 0x94, 0xDE, 0x87, 0x4F, 0xEB, 0x05, 0x93, 0x85, 0x83,
+ 0xC2, 0xA0, 0xDD, 0x5D, 0x21, 0xB7, 0x7A, 0xDD, 0x63, 0x27, 0x46, 0xE0,
+ 0x05, 0xE7, 0xA4, 0x20, 0xAE, 0x37, 0x6E, 0xD8, 0x41, 0x17, 0x73, 0x8F,
+ 0x25, 0x8A, 0x96, 0xD5, 0x4A, 0x8E, 0x3D, 0x2D, 0x9F, 0x59, 0x24, 0x3E,
+ 0xE0, 0x01, 0x47, 0x93, 0x5F, 0xE6, 0x43, 0xFE, 0x4C, 0xE4, 0x2A, 0xB6,
+ 0xAE, 0xC5, 0x18, 0x98, 0xB5, 0x95, 0x43, 0xF9, 0x7C, 0x2E, 0x80, 0xBF,
+ 0x7A, 0x7F, 0x94, 0xC9, 0xC8, 0x13, 0xA3, 0x14, 0x76, 0x49, 0xDC, 0xC6,
+ 0x22, 0x10, 0xBD, 0xB5, 0x8B, 0x7E, 0xB9, 0x8A, 0x41, 0xB7, 0xBB, 0x0F,
+ 0xA0, 0x80, 0x9F, 0xFE, 0x68, 0x02, 0x76, 0xA3, 0xCA, 0x9A, 0x7A, 0x39,
+ 0xB5, 0x3A, 0x45, 0x45, 0x38, 0x73, 0x50, 0xB6, 0xF9, 0xFC, 0xCB, 0xDB,
+ 0x9B, 0x07, 0xA0, 0x61, 0x99, 0xFE, 0xA6, 0xBE, 0x52, 0xB8, 0xF7, 0x6F,
+ 0x93, 0x81, 0xEB, 0x2F, 0x02, 0xC2, 0x13, 0x7C, 0x29, 0x43, 0xA5, 0x65,
+ 0x9C, 0xB8, 0xF2, 0x64, 0xAB, 0x2D, 0xFD, 0x00, 0x38, 0x53, 0xE9, 0x4C,
+ 0xCC, 0xB6, 0x17, 0x0C, 0x0B, 0xE8, 0x1A, 0xCF, 0x4C, 0xBB, 0x5A, 0xA5,
+ 0x8E, 0x92, 0xAD, 0x1F, 0x87, 0xF8, 0xCD, 0xFE, 0x9C, 0x81, 0x68, 0xC6,
+ 0xF1, 0x7B, 0xED, 0x82, 0x9F, 0xA7, 0xD5, 0x5C, 0xC8, 0x52, 0x3A, 0xD9,
+ 0xFF, 0x09, 0xB4, 0xDE, 0x05, 0x6E, 0x5D, 0x62, 0x8F, 0x15, 0x2C, 0xD5,
+ 0x4E, 0x09, 0x00, 0x33, 0xBF, 0xD9, 0x21, 0x61, 0x99, 0x66, 0xC2, 0xB5,
+ 0x50, 0x2A, 0x0D, 0xD5, 0xF3, 0x02, 0x59, 0x6F, 0xEA, 0x4C, 0x83, 0x68,
+ 0xDC, 0x58, 0xF9, 0xA9, 0xA2, 0x24, 0x0C, 0xAE, 0x7D, 0x36, 0x00, 0x1E,
+ 0x1E, 0x32, 0x2F, 0x1B, 0xF0, 0xB2, 0x62, 0xE9, 0x71, 0x67, 0x32, 0x46,
+ 0xCD, 0x02, 0x8A, 0xFB, 0x69, 0xA0, 0x07, 0x22, 0xBE, 0xC1, 0x0C, 0x5F,
+ 0xFF, 0x95, 0x3A, 0x2F, 0x61, 0x1B, 0x05, 0xEF, 0xFA, 0xC0, 0x65, 0x11,
+ 0x87, 0x72, 0x6B, 0xAD, 0xC6, 0x50, 0x72, 0xEE, 0x4A, 0x4B, 0xFE, 0x01,
+ 0x7B, 0xD6, 0xBC, 0xDE, 0xF0, 0x8E, 0x24, 0x89, 0x20, 0xD0, 0x53, 0xAE,
+ 0x1E, 0xFB, 0x61, 0xC3, 0x17, 0x34, 0x98, 0x15, 0xAD, 0x88, 0x03, 0x9C,
+ 0x48, 0xCD, 0xE5, 0xF2, 0xB0, 0x4D, 0x39, 0x27, 0x2B, 0x90, 0x0A, 0x55,
+ 0x12, 0x06, 0x88, 0x13, 0x09, 0x1F, 0x55, 0x9A, 0xA0, 0xBC, 0x88, 0x8E,
+ 0xC6, 0x18, 0x43, 0x73, 0x0D, 0x73, 0x26, 0x83, 0x4C, 0x1A, 0x87, 0x80,
+ 0x43, 0xCC, 0x65, 0xEB, 0xBE, 0x72, 0xD4, 0xAA, 0x44, 0xC7, 0xEE, 0x5B,
+ 0x1A, 0xA5, 0x3D, 0x59, 0xBE, 0x5A, 0x0D, 0x7B, 0xFC, 0xB4, 0x75, 0xD0,
+ 0xAF, 0xD8, 0x1C, 0x30, 0xDA, 0x38, 0xAD, 0x9E, 0x25, 0x32, 0xDB, 0xFF,
+ 0xF9, 0xAD, 0x73, 0x6B, 0x17, 0x96, 0xBD, 0x5C, 0x84, 0xCF, 0xAF, 0x75,
+ 0x9D, 0xD0, 0x12, 0x9E, 0xC8, 0x27, 0x51, 0x67, 0x47, 0x87, 0xE1, 0xDE,
+ 0xAE, 0xAB, 0x50, 0x4E, 0x39, 0xAD, 0xD2, 0x96, 0x71, 0xD4, 0x7C, 0x07,
+ 0x57, 0xEA, 0x9D, 0x51, 0x1F, 0x16, 0xBE, 0xFF, 0x87, 0x56, 0x7B, 0x3D,
+ 0x5F, 0xCD, 0x6A, 0xAE, 0x36, 0x6C, 0x8E, 0x88, 0xE8, 0x0A, 0x5E, 0x58,
+ 0xB8, 0x66, 0x92, 0xCC, 0xF3, 0x66, 0x2C, 0x54, 0xFA, 0x95, 0xAC, 0xE0,
+ 0xDC, 0xEA, 0x62, 0x42, 0x60, 0xC8, 0xAB, 0x1E, 0xEF, 0x24, 0x8B, 0x25,
+ 0xF9, 0x99, 0x85, 0xE6, 0xB4, 0x70, 0xF0, 0x1A, 0x00, 0xCC, 0x54, 0x3C,
+ 0xE0, 0xF2, 0x6D, 0xEB, 0x8B, 0x65, 0x03, 0xB8, 0x85, 0x03, 0x2F, 0x91,
+ 0x66, 0x63, 0x11, 0xE1, 0x06, 0x90, 0x82, 0xCB, 0xA2, 0x80, 0xB2, 0x73,
+ 0xF0, 0x00, 0x21, 0x31, 0x21, 0xF7, 0x41, 0xD6, 0xE2, 0x25, 0x9A, 0xDC,
+ 0x96, 0x77, 0x9A, 0xBB, 0x19, 0x8B, 0xD8, 0x55, 0x6F, 0x57, 0x32, 0xEF,
+ 0xC7, 0x8E, 0x37, 0x36, 0x3B, 0x00, 0x20, 0xEF, 0x81, 0x0C, 0xB1, 0xD9,
+ 0xF7, 0x5D, 0x3C, 0x5F, 0x97, 0x92, 0x75, 0x6B, 0xF6, 0xFB, 0x0A, 0x76,
+ 0x5F, 0x9C, 0x50, 0x9F, 0xAF, 0xEE, 0xE0, 0xF7, 0xB6, 0x84, 0xD0, 0x57,
+ 0x77, 0x11, 0x3B, 0xE6, 0x55, 0x15, 0x33, 0xE5, 0x48, 0x05, 0xBE, 0xD6,
+ 0xDC, 0x03, 0xDF, 0x81, 0x42, 0xDD, 0xF0, 0x40, 0x36, 0x55, 0xDF, 0xD2,
+ 0xB2, 0xA5, 0xA9, 0x33, 0x1F, 0x3B, 0x4F, 0xDA, 0x15, 0xC3, 0xAC, 0xE9,
+ 0xF6, 0xD8, 0xCC, 0xB1, 0xCC, 0xB8, 0x4C, 0xE6, 0x05, 0xCB, 0x95, 0x1D,
+ 0xFD, 0xD3, 0xC8, 0xEB, 0xF4, 0x89, 0x2A, 0xC0, 0xCD, 0xBA, 0x60, 0xB8,
+ 0xA0, 0x10, 0xB1, 0x86, 0x45, 0xF5, 0x91, 0xBF, 0x6E, 0x81, 0xF9, 0x04,
+ 0xBD, 0xD1, 0x7E, 0xCE, 0x42, 0x72, 0xC7, 0xF7, 0x57, 0xD6, 0x44, 0x19,
+ 0xC2, 0x21, 0xC1, 0x47, 0xD9, 0x1E, 0xFE, 0x20, 0x0D, 0x41, 0xFC, 0x9E,
+ 0xAE, 0xDF, 0xCD, 0x89, 0x08, 0x30, 0xF2, 0x51, 0x65, 0xF7, 0x25, 0x6E,
+ 0xA9, 0xFD, 0x2B, 0xE0, 0xAB, 0x07, 0x84, 0x86, 0xA9, 0xE5, 0x3C, 0x9F,
+ 0xED, 0x36, 0xCA, 0xDC, 0x8A, 0xA8, 0xCC, 0x73, 0xFF, 0x57, 0xCD, 0xC1,
+ 0xA5, 0x5A, 0x64, 0x0C, 0xB2, 0xCE, 0x47, 0xC5, 0x8D, 0x1D, 0xD4, 0xC0,
+ 0x82, 0xC7, 0x7E, 0x9C, 0xD5, 0x49, 0xBC, 0x73, 0xC4, 0x27, 0xC2, 0xDA,
+ 0xC7, 0xF9, 0xDA, 0xCA, 0xAB, 0xBB, 0xA2, 0x7F, 0xBF, 0xA8, 0x71, 0xE1,
+ 0x79, 0x7F, 0xFC, 0x15, 0xBA, 0x2A, 0x38, 0x9D, 0xF1, 0xA8, 0x16, 0xB5,
+ 0xF1, 0x66, 0xA7, 0x4F, 0xC2, 0xCC, 0xBF, 0x2B, 0x2E, 0x94, 0x91, 0xBD,
+ 0x31, 0xFD, 0xD5, 0xA7, 0xDB, 0x3B, 0x76, 0x29, 0x38, 0x63, 0xD2, 0x51,
+ 0x24, 0x72, 0x2D, 0x14, 0x86, 0xBC, 0x03, 0x1E, 0xA0, 0xF4, 0x02, 0x57,
+ 0xE4, 0xAA, 0x89, 0xC5, 0x60, 0x5D, 0x6D, 0x8D, 0x42, 0x76, 0x86, 0xB9,
+ 0xA1, 0xBE, 0xA4, 0x4D, 0xD2, 0xAD, 0x97, 0x24, 0xE7, 0xE1, 0xF3, 0xF0,
+ 0x47, 0xF1, 0xCB, 0x61, 0xF6, 0x49, 0x88, 0xC1, 0x62, 0x78, 0x8A, 0xD4,
+ 0xC9, 0x59, 0x01, 0xC1, 0x2A, 0x1A, 0x8F, 0x6F, 0x96, 0xD0, 0x40, 0x68,
+ 0x2F, 0x80, 0x20, 0xB0, 0xC2, 0xF1, 0x4A, 0xBD, 0x51, 0xE2, 0x38, 0x07,
+ 0xC1, 0x63, 0x00, 0xEC, 0x7B, 0x44, 0xE0, 0x4A, 0x3E, 0x49, 0xE8, 0xD4,
+ 0x2F, 0x84, 0xBD, 0xB2, 0xF2, 0x7E, 0xFD, 0xF0, 0xB3, 0x2E, 0x40, 0xC4,
+ 0x57, 0x0E, 0x9C, 0xF5, 0xA4, 0x90, 0xA2, 0x7F, 0xCE, 0x6F, 0xFD, 0xE1,
+ 0x0E, 0xE4, 0xF1, 0x4C, 0x99, 0x43, 0xEB, 0xE4, 0x96, 0xF8, 0x5E, 0xC3,
+ 0x90, 0x38, 0x7C, 0xD0, 0x5C, 0x6C, 0x15, 0xEE, 0x5B, 0xD5, 0x7E, 0xD2,
+ 0x74, 0x83, 0xF6, 0x21, 0x02, 0xF9, 0x5C, 0x4C, 0xA4, 0xA6, 0x77, 0xC4,
+ 0xFD, 0x90, 0xB1, 0x43, 0x82, 0x25, 0x1D, 0xCE, 0x51, 0x3E, 0xB1, 0xC7,
+ 0x14, 0x57, 0x44, 0x94, 0x10, 0x0E, 0xD7, 0x12, 0xFC, 0x7C, 0xD8, 0x8E,
+ 0xFB, 0xD0, 0xC3, 0x96, 0x78, 0x55, 0x63, 0xE6, 0x41, 0x24, 0x5E, 0xAA,
+ 0x75, 0xEA, 0xB9, 0xB6, 0x67, 0x28, 0x74, 0x0D, 0xD7, 0x91, 0x2B, 0xAF,
+ 0xF1, 0x27, 0x57, 0xA3, 0xFB, 0x76, 0xCB, 0x56, 0x02, 0x4A, 0xE7, 0x3A,
+ 0xFF, 0xB2, 0x12, 0x36, 0xF7, 0xE5, 0x41, 0x88, 0x28, 0x6C, 0xBA, 0x7D,
+ 0x43, 0x40, 0xCB, 0xFF, 0x19, 0xFA, 0x0B, 0x32, 0x0B, 0xE0, 0x6B, 0x14,
+ 0xE0, 0xF6, 0x54, 0xA7, 0x24, 0x13, 0xEC, 0x41, 0x08, 0xCC, 0x5B, 0x5A,
+ 0xE0, 0x38, 0xFA, 0xD9, 0x8F, 0xC8, 0x83, 0x25, 0x10, 0xD2, 0x16, 0x2B,
+ 0x05, 0x10, 0xAC, 0x5D, 0xB8, 0xBE, 0x22, 0x59, 0xB8, 0x04, 0xE9, 0x78,
+ 0x3C, 0xE2, 0x6B, 0xD8, 0x9C, 0xDB, 0x02, 0x1B, 0xA1, 0xB8, 0x0D, 0x20,
+ 0x87, 0x7F, 0xD2, 0x8A, 0x0F, 0xD7, 0x02, 0xE4, 0xE4, 0xC4, 0xF6, 0x95,
+ 0xF2, 0xB2, 0x1B, 0xDC, 0x03, 0x22, 0xCB, 0xDD, 0x00, 0x32, 0x57, 0x5A,
+ 0xB6, 0xBA, 0xD7, 0x80, 0x40, 0xFA, 0xC6, 0xA7, 0x29, 0x20, 0x8C, 0x97,
+ 0x3D, 0x46, 0x53, 0xD5, 0xDE, 0xDE, 0x77, 0x40, 0x0D, 0x20, 0x99, 0x88,
+ 0x34, 0xB0, 0x6F, 0xCB, 0x95, 0xD4, 0x34, 0xF6, 0x48, 0x1B, 0x4A, 0xDE,
+ 0x67, 0x4A, 0x82, 0xD9, 0x8F, 0xCB, 0xB5, 0xD0, 0x93, 0xA1, 0xC0, 0xE7,
+ 0x46, 0x57, 0xF3, 0x24, 0x3E, 0x17, 0x0D, 0xF3, 0x36, 0xE1, 0xF8, 0xD3,
+ 0xD0, 0xA2, 0x25, 0xF6, 0xDF, 0x2F, 0xE0, 0xB7, 0x30, 0x78, 0xD5, 0x27,
+ 0x70, 0xEE, 0xBC, 0x67, 0x4B, 0xD8, 0x4A, 0x26, 0x5D, 0xB1, 0x29, 0x67,
+ 0xAA, 0x00, 0xEA, 0x4F, 0xB9, 0x82, 0x0D, 0xCC, 0x1D, 0x27, 0xF0, 0x30,
+ 0x4D, 0x88, 0xB5, 0x52, 0xF6, 0x37, 0xAE, 0xA7, 0xB2, 0xEF, 0xAD, 0x41,
+ 0x01, 0xF3, 0x25, 0x69, 0xAD, 0x40, 0xA7, 0x82, 0x16, 0x87, 0x87, 0xCC,
+ 0x36, 0x1E, 0x16, 0x76, 0x78, 0x0D, 0xC9, 0x76, 0x5D, 0xB1, 0xC3, 0x9B,
+ 0xC4, 0x56, 0x07, 0xD2, 0x5C, 0xB3, 0x9C, 0x9E, 0xD5, 0x6D, 0x1B, 0x46,
+ 0x39, 0x5B, 0x7E, 0xA2, 0x52, 0x54, 0x53, 0xC2, 0x3D, 0x40, 0x26, 0x0A,
+ 0xFD, 0x4A, 0xA1, 0x7E, 0xE2, 0x9B, 0x1D, 0x54, 0x47, 0x94, 0x00, 0x9A,
+ 0xE4, 0x77, 0x69, 0x7D, 0x0C, 0x5F, 0x9D, 0x76, 0xE1, 0x1D, 0x41, 0x56,
+ 0xC1, 0x3C, 0x73, 0x23, 0xCB, 0x93, 0xF0, 0xC3, 0x16, 0x41, 0x24, 0x64,
+ 0xC6, 0x7A, 0x9D, 0x5D, 0x1B, 0xC6, 0x8A, 0x9B, 0x40, 0x18, 0xF2, 0xDC,
+ 0x70, 0x93, 0x93, 0x1C, 0xE6, 0xD4, 0x6A, 0xB3, 0x8F, 0x9B, 0xB6, 0x83,
+ 0xE9, 0x34, 0x24, 0xD0, 0x88, 0xB5, 0x54, 0x37, 0xAD, 0x5A, 0xB3, 0x23,
+ 0xFF, 0xB0, 0x09, 0xA5, 0x89, 0xBF, 0xE4, 0xF0, 0xFA, 0x27, 0x93, 0xCC,
+ 0x33, 0xC6, 0x7F, 0xA6, 0xEE, 0x96, 0x28, 0xFA, 0x4C, 0x37, 0xB6, 0xA7,
+ 0x8A, 0x52, 0xDF, 0x7E, 0x51, 0xCD, 0xEE, 0x40, 0x9C, 0x6F, 0x21, 0x8F,
+ 0x0C, 0x9D, 0xD1, 0x70, 0x1F, 0x0F, 0xA7, 0x22, 0xA4, 0x24, 0xD3, 0xCA,
+ 0x8E, 0x21, 0xD3, 0x03, 0x91, 0xD0, 0x36, 0x71, 0x4B, 0x4B, 0xC0, 0xFC,
+ 0x7C, 0x92, 0x0A, 0x15, 0x91, 0xEB, 0x10, 0x7B, 0xCD, 0xFA, 0xD6, 0xB6,
+ 0x04, 0x1F, 0x89, 0xC3, 0x8B, 0x43, 0x9D, 0x26, 0x65, 0x34, 0x00, 0x34,
+ 0x5C, 0xA8, 0x0A, 0x7F, 0xCA, 0x6A, 0x4C, 0x1C, 0x7C, 0xFA, 0xA2, 0x6D,
+ 0x42, 0x67, 0x33, 0xC6, 0xDE, 0x5F, 0x4D, 0xB8, 0xD4, 0xD4, 0xDF, 0xCC,
+ 0x10, 0x2B, 0x58, 0xF6, 0xE1, 0x8E, 0x8F, 0xF2, 0xC1, 0x8C, 0x18, 0xA8,
+ 0x41, 0xB4, 0xA7, 0x9F, 0xE7, 0x8A, 0x16, 0x8D, 0x7B, 0x54, 0x81, 0x54,
+ 0x87, 0x98, 0x4C, 0x20, 0x45, 0xC5, 0xE4, 0xFB, 0xCE, 0xF9, 0xD0, 0x0B,
+ 0xC9, 0xC0, 0x15, 0x77, 0xDD, 0x0F, 0x23, 0x19, 0x40, 0x00, 0x07, 0x6E,
+ 0xB0, 0x5C, 0xC4, 0x85, 0xB9, 0x35, 0xA2, 0x77, 0x35, 0x28, 0x2B, 0xC0,
+ 0x61, 0x91, 0x6C, 0x5E, 0xF6, 0xBD, 0x74, 0x70, 0x77, 0x33, 0xF9, 0x38,
+ 0xD2, 0x6D, 0x2F, 0xE9, 0x01, 0x9A, 0x10, 0x5A, 0x20, 0x6B, 0x7F, 0xE5,
+ 0xD9, 0x8C, 0x25, 0x17, 0x5F, 0x0E, 0xED, 0x99, 0x8A, 0x2B, 0xA3, 0x0E,
+ 0xA3, 0x7E, 0xE0, 0x7A, 0x4A, 0x79, 0xF3, 0xED, 0x71, 0x31, 0x2B, 0x53,
+ 0x8A, 0xE6, 0xFC, 0x01, 0x85, 0xD0, 0x7F, 0xFE, 0x22, 0x96, 0x47, 0x6C,
+ 0x48, 0x41, 0x1A, 0xF2, 0x39, 0x4F, 0x16, 0x67, 0x4C, 0x2E, 0x00, 0xE1,
+ 0x86, 0x0D, 0xA1, 0x2E, 0x99, 0x2C, 0xA3, 0xEE, 0xB8, 0x21, 0x85, 0x84,
+ 0x20, 0x0A, 0xA9, 0x64, 0xD1, 0xBC, 0x79, 0xCC, 0x81, 0xDE, 0x83, 0x55,
+ 0x71, 0x5C, 0x26, 0x01, 0x99, 0x01, 0xFD, 0x40, 0x39, 0xFF, 0x66, 0xE9,
+ 0x2D, 0x80, 0xFE, 0x44, 0x97, 0x1D, 0x73, 0xEB, 0x18, 0x47, 0x6B, 0x9D,
+ 0xEA, 0x73, 0x0A, 0xD3, 0xB8, 0xEC, 0x8F, 0xC2, 0x2D, 0x2B, 0x99, 0x73,
+ 0x4C, 0xA9, 0x08, 0x06, 0x33, 0xAC, 0x05, 0x6F, 0x37, 0x79, 0xEE, 0xA9,
+ 0x28, 0x2F, 0x9C, 0x24, 0x55, 0x12, 0x59, 0xBA, 0x73, 0xFC, 0x05, 0xD7,
+ 0xA1, 0x01, 0x30, 0xE3, 0x23, 0x4B, 0x3E, 0xB4, 0x6C, 0xCE, 0xDB, 0x8A,
+ 0x28, 0xC1, 0xF0, 0x76, 0xA2, 0x56, 0x60, 0x22, 0x0F, 0x86, 0x77, 0x5C,
+ 0xA7, 0xA2, 0xC7, 0x1C, 0xAF, 0x08, 0x65, 0x77, 0xBC, 0x0A, 0x03, 0xF2,
+ 0x49, 0x93, 0xA6, 0x4D, 0x4C, 0x91, 0x6C, 0xB7, 0x6B, 0x6B, 0x28, 0xF1,
+ 0x54, 0xC7, 0x70, 0xBF, 0x26, 0xC6, 0x71, 0x07, 0x7D, 0x13, 0x62, 0x03,
+ 0xE3, 0x99, 0xF6, 0xC2, 0x20, 0x7B, 0x5E, 0xD1, 0x85, 0x49, 0xB7, 0xB8,
+ 0x6B, 0x79, 0xE3, 0xDF, 0x5C, 0x45, 0xE0, 0xF1, 0xF3, 0x78, 0x0D, 0x9C,
+ 0x85, 0xD5, 0x74, 0x34, 0x2B, 0xEC, 0x3C, 0xD3, 0xEA, 0xDB, 0x67, 0x0D,
+ 0x86, 0x80, 0x00, 0x64, 0x0A, 0xB0, 0x6B, 0x84, 0x7A, 0x44, 0x3A, 0x4B,
+ 0x68, 0xBE, 0xA9, 0x48, 0x9A, 0x2B, 0x58, 0x9E, 0xF3, 0xC2, 0x50, 0xBF,
+ 0xBD, 0xAA, 0x5F, 0x39, 0x1C, 0xE8, 0x7C, 0x90, 0x2D, 0x50, 0x5E, 0x5D,
+ 0xCE, 0x4A, 0xCF, 0xCD, 0xBE, 0x45, 0xA7, 0x17, 0xBA, 0x3C, 0xEC, 0xB4,
+ 0x72, 0x1C, 0x82, 0xC2, 0xB0, 0xEB, 0x67, 0x44, 0x44, 0x87, 0x4C, 0xD3,
+ 0x98, 0xD0, 0x3E, 0x49, 0x87, 0xF5, 0xDA, 0x95, 0x95, 0xC2, 0x7D, 0xF3,
+ 0x91, 0xE7, 0x09, 0xD5, 0x7A, 0x1A, 0xCA, 0x91, 0xE3, 0x5B, 0x37, 0x9E,
+ 0xBE, 0x1F, 0x9D, 0x0E, 0x62, 0x75, 0xD9, 0x6F, 0x9E, 0xA7, 0x53, 0x5E,
+ 0x6F, 0x75, 0x1C, 0x3C, 0x51, 0xF7, 0xBF, 0x74, 0x40, 0xBB, 0xEA, 0x3A,
+ 0x70, 0xF3, 0xB4, 0x89, 0xC2, 0x45, 0xF7, 0x12, 0x53, 0x24, 0x40, 0xCF,
+ 0xE4, 0x41, 0x5A, 0x01, 0x53, 0x3B, 0x38, 0xB0, 0x66, 0x5F, 0x93, 0xFB,
+ 0xC8, 0xCA, 0xDE, 0x1E, 0x41, 0x91, 0x58, 0x6C, 0x23, 0x7D, 0x83, 0x29,
+ 0x4C, 0xD1, 0xB7, 0xAF, 0xBA, 0xF7, 0xC6, 0xF2, 0xD2, 0xE0, 0xDF, 0xC4,
+ 0x22, 0x2F, 0xE4, 0xB1, 0xA9, 0x11, 0x96, 0x60, 0xEC, 0xC2, 0x72, 0xC8,
+ 0x63, 0x20, 0x25, 0x35, 0x64, 0xCB, 0x45, 0xA5, 0x68, 0xD7, 0xA1, 0x83,
+ 0xF3, 0xFD, 0x3F, 0xFB, 0x10, 0xD0, 0x9F, 0x26, 0x74, 0x85, 0x80, 0xC2,
+ 0x39, 0xC6, 0x22, 0x08, 0xE9, 0x37, 0xE6, 0x05, 0x34, 0xF7, 0x21, 0x92,
+ 0x7C, 0x0B, 0x2B, 0x21, 0x97, 0x39, 0x6A, 0x5B, 0x63, 0x27, 0x47, 0x25,
+ 0x37, 0x9D, 0xBE, 0x47, 0x13, 0xAC, 0xEA, 0x77, 0xD2, 0xB3, 0x8C, 0x4E,
+ 0x0C, 0x59, 0x77, 0x0D, 0x68, 0x92, 0x18, 0xE8, 0xBC, 0x10, 0x58, 0x70,
+ 0xFC, 0x99, 0xF5, 0xCB, 0x25, 0x9D, 0xA9, 0xA4, 0xB8, 0xFC, 0x60, 0x25,
+ 0x28, 0xE9, 0x23, 0xBD, 0xF3, 0x54, 0x42, 0x0A, 0x9B, 0xF7, 0x7F, 0xB2,
+ 0x92, 0x59, 0xB0, 0xD2, 0x4A, 0xCB, 0x26, 0xCE, 0xD0, 0x1C, 0x37, 0x71,
+ 0xB7, 0x12, 0x0D, 0xBB, 0xD8, 0x87, 0x24, 0xFF, 0x4C, 0x6E, 0x85, 0xED,
+ 0x88, 0x0F, 0xBE, 0xF4, 0x42, 0x1A, 0x9A, 0x03, 0xFA, 0xCF, 0xD5, 0x2A,
+ 0xF3, 0x3E, 0x61, 0x47, 0x32, 0xB9, 0x43, 0xF5, 0x0A, 0xB0, 0x84, 0x11,
+ 0x69, 0xD8, 0x9F, 0x8D, 0xEF, 0xE7, 0x39, 0xE1, 0xE7, 0x77, 0xCD, 0x7E,
+ 0x05, 0xE3, 0x15, 0x7A, 0x48, 0x38, 0x47, 0xA4, 0xAB, 0x48, 0xE2, 0x70,
+ 0xB6, 0xC1, 0xB4, 0x49, 0xE1, 0x04, 0x20, 0xE0, 0xDE, 0xB2, 0x9D, 0x63,
+ 0xE2, 0x9C, 0x39, 0x7C, 0x65, 0x10, 0xBA, 0x7B, 0x6F, 0xAA, 0xCF, 0x7A,
+ 0xE4, 0xC6, 0x32, 0x7A, 0x0A, 0x01, 0x27, 0xAA, 0x4C, 0xB4, 0x4A, 0x76,
+ 0xD2, 0xB7, 0x0E, 0x28, 0xDE, 0xDB, 0x96, 0x4A, 0xC4, 0x59, 0x53, 0xDA,
+ 0x15, 0x75, 0x12, 0x46, 0x13, 0x45, 0xAC, 0x01, 0xE5, 0x3E, 0x5C, 0x2E,
+ 0x4D, 0xE3, 0x86, 0x9F, 0xFD, 0xEA, 0x15, 0xFE, 0x27, 0x96, 0x87, 0xFB,
+ 0x73, 0x57, 0xF4, 0x1D, 0x37, 0x8A, 0xA9, 0x20, 0x12, 0xA5, 0x37, 0x6A,
+ 0x81, 0x77, 0xF9, 0x19, 0x7E, 0xED, 0x2D, 0x04, 0xBE, 0x37, 0x6E, 0xC7,
+ 0xAA, 0x22, 0x90, 0x61, 0x3D, 0x3B, 0x90, 0xA9, 0x24, 0xBB, 0xF7, 0xE6,
+ 0x9F, 0x84, 0x7C, 0x61, 0x05, 0xEE, 0x19, 0xB1, 0xF6, 0x9B, 0x5A, 0xA7,
+ 0x73, 0x6B, 0x1D, 0x39, 0x94, 0xFA, 0x79, 0x92, 0xB8, 0x58, 0x9F, 0x42,
+ 0x20, 0xAA, 0x38, 0xF1, 0xF7, 0xE1, 0x0A, 0x34, 0x16, 0x80, 0x3E, 0x8D,
+ 0x7A, 0x37, 0x98, 0x5D, 0x45, 0x76, 0x10, 0x0F, 0x9B, 0xAD, 0x19, 0x93,
+ 0xD8, 0xE0, 0xD1, 0xA6, 0xA6, 0x9F, 0x69, 0xB5, 0x47, 0x3D, 0x06, 0x54,
+ 0x15, 0x18, 0xA1, 0x00, 0xAB, 0xA4, 0xC2, 0xB1, 0x38, 0xCE, 0xD0, 0x6F,
+ 0xDE, 0xBA, 0xDD, 0x08, 0x65, 0xFA, 0xA2, 0x92, 0x61, 0x4E, 0x33, 0x20,
+ 0x59, 0x54, 0x7A, 0x9F, 0xB1, 0x77, 0x0D, 0x71, 0xF6, 0x80, 0xED, 0xF1,
+ 0x79, 0x5E, 0x81, 0xFD, 0x50, 0x57, 0xAB, 0x8B, 0x3E, 0x84, 0xBB, 0xCB,
+ 0x25, 0x89, 0xA5, 0xC4, 0x66, 0x64, 0xD6, 0xDB, 0x85, 0x68, 0xD7, 0x02,
+ 0xD1, 0x43, 0xA8, 0xE9, 0xE4, 0x27, 0x99, 0x27, 0x8F, 0x69, 0x2F, 0x74,
+ 0x2A, 0xA4, 0xF7, 0x2E, 0x98, 0xE6, 0x63, 0x80, 0x24, 0x7D, 0xF6, 0x18,
+ 0x57, 0xE0, 0xEC, 0xF8, 0xEE, 0x25, 0xFE, 0xA0, 0x85, 0x7E, 0x3F, 0x0A,
+ 0xBE, 0xB9, 0x21, 0xCB, 0xBE, 0xEC, 0x7E, 0x46, 0x3A, 0x57, 0xB3, 0xDF,
+ 0xFC, 0x95, 0xC8, 0x92, 0x4D, 0x6B, 0x8C, 0x71, 0x55, 0xE3, 0x5E, 0x0D,
+ 0x0A, 0x47, 0xD1, 0xF7, 0xD0, 0x54, 0xC3, 0x64, 0xFA, 0xD2, 0xA2, 0x7B,
+ 0x78, 0xEF, 0x25, 0x7C, 0x1C, 0x5B, 0xE4, 0xA8, 0xD5, 0x12, 0xD1, 0x1A,
+ 0x26, 0xEF, 0xC1, 0xCA, 0xB7, 0x55, 0x2C, 0x44, 0xB7, 0x9B, 0x97, 0xD0,
+ 0x14, 0x88, 0x58, 0x77, 0x06, 0xBD, 0xDD, 0x6C, 0x20, 0x1A, 0x9D, 0xAB,
+ 0x23, 0xBB, 0x13, 0xEB, 0xEA, 0x76, 0x13, 0x4F, 0x91, 0xD2, 0xE6, 0xE6,
+ 0x0E, 0x73, 0x1D, 0xD5, 0xD3, 0xA0, 0xB9, 0x75, 0xD3, 0xB3, 0x27, 0x20,
+ 0xE6, 0xE7, 0xCF, 0x38, 0x3D, 0x7D, 0xB5, 0x41, 0x48, 0x2B, 0x90, 0x60,
+ 0xBE, 0x2F, 0xBE, 0x1D, 0x10, 0xD1, 0x62, 0x15, 0x60, 0x89, 0xFA, 0xF7,
+ 0x2F, 0x3A, 0xDC, 0xDA, 0x2E, 0x11, 0x10, 0x6D, 0xC0, 0x7C, 0xF5, 0x9D,
+ 0xE2, 0x40, 0x7C, 0x37, 0x3B, 0x32, 0xF6, 0xBB, 0xDC, 0x0B, 0xA3, 0x6D,
+ 0x77, 0xF1, 0x3B, 0x9F, 0xB0, 0x68, 0x94, 0xE4, 0x45, 0xB3, 0x32, 0xB2,
+ 0xA3, 0x08, 0x55, 0xA2, 0x06, 0xEF, 0xA9, 0x2A, 0x21, 0xEE, 0xD8, 0xA3,
+ 0x67, 0xDA, 0x2A, 0xAF, 0xE9, 0x48, 0x92, 0x1B, 0xC3, 0xAF, 0x1D, 0x20,
+ 0xCC, 0xC5, 0xD1, 0x3E, 0x01, 0xC7, 0xC1, 0x2F, 0x5E, 0xC6, 0x02, 0x33,
+ 0xB1, 0x2E, 0xBF, 0x22, 0x9B, 0xF1, 0x92, 0x60, 0xB9, 0xEC, 0xBF, 0xA7,
+ 0x24, 0xB9, 0xFF, 0xB8, 0xFB, 0xFA, 0x2A, 0x2A, 0xD7, 0x2D, 0x2F, 0x00,
+ 0x0A, 0x27, 0x86, 0xD9, 0x98, 0x9C, 0xC1, 0x50, 0x5C, 0x58, 0xA0, 0xBD,
+ 0x0D, 0x74, 0xC1, 0x58, 0x9A, 0x3A, 0x06, 0x4A, 0x5C, 0x47, 0x60, 0x2D,
+ 0xC3, 0x91, 0x17, 0xBF, 0xAA, 0x41, 0x44, 0xC0, 0x81, 0xE4, 0x69, 0x4B,
+ 0xF7, 0xA6, 0x4B, 0x25, 0x4B, 0x32, 0xE2, 0xF6, 0x9C, 0x16, 0x56, 0x01,
+ 0xD5, 0x13, 0xC8, 0x8F, 0xD0, 0x26, 0x2C, 0x78, 0xC5, 0xDB, 0x4A, 0x09,
+ 0xDC, 0x1E, 0x96, 0xE3, 0x9A, 0x6B, 0x78, 0x5D, 0x8E, 0x28, 0x93, 0xD9,
+ 0xA3, 0x8C, 0x07, 0x49, 0xF3, 0x05, 0x1B, 0xFE, 0x10, 0x3D, 0xA7, 0xDD,
+ 0xD9, 0x46, 0xBF, 0x1C, 0xFF, 0x73, 0x69, 0xB9, 0xA8, 0xC4, 0x5C, 0xBB,
+ 0x38, 0xCA, 0x14, 0x18, 0x85, 0x7F, 0x89, 0xAB, 0x3F, 0x76, 0x29, 0xAB,
+ 0x09, 0xCE, 0xB2, 0xCC, 0x7D, 0xF3, 0x5C, 0xDD, 0x0A, 0x4D, 0x1A, 0x56,
+ 0x17, 0x98, 0xB9, 0x91, 0x01, 0xAD, 0x84, 0x7D, 0x88, 0x48, 0x3C, 0x40,
+ 0x7D, 0xAA, 0x7B, 0x80, 0x2F, 0x7E, 0x65, 0x6F, 0x73, 0x7A, 0x06, 0xD4,
+ 0xEC, 0x44, 0x60, 0xD9, 0xF8, 0x40, 0x99, 0xAE, 0x3A, 0x11, 0x60, 0x52,
+ 0x98, 0x99, 0x9B, 0xD5, 0x52, 0xFD, 0x4E, 0x53, 0x48, 0x36, 0x5A, 0x4D,
+ 0xE4, 0xCC, 0x54, 0x61, 0xB3, 0x7B, 0x1A, 0xA6, 0x7C, 0x1D, 0x81, 0x3A,
+ 0x0D, 0xE7, 0xF6, 0x31, 0xFD, 0xFC, 0x7A, 0x65, 0x3F, 0xF7, 0xB7, 0xE0,
+ 0x28, 0xFB, 0x4C, 0x9D, 0xBD, 0x87, 0xE2, 0x35, 0x5A, 0xB7, 0x7F, 0x23,
+ 0xAF, 0xDA, 0xF6, 0x7A, 0xED, 0xA9, 0xDE, 0x56, 0x0E, 0xBB, 0xDC, 0xA2,
+ 0xE6, 0xA0, 0x97, 0x22, 0x1C, 0x02, 0x52, 0x65, 0xAC, 0xE2, 0x77, 0x6E,
+ 0x3E, 0x3B, 0xBC, 0x14, 0xE3, 0xC9, 0x22, 0x30, 0x2A, 0x17, 0xFF, 0x28,
+ 0xC2, 0x23, 0xB5, 0xE3, 0x3E, 0x3F, 0x92, 0xAC, 0xC8, 0x9D, 0x9F, 0xBD,
+ 0x8B, 0x3D, 0x83, 0xB7, 0x1F, 0x41, 0xCD, 0x93, 0x19, 0x0E, 0xA5, 0x0B,
+ 0xE3, 0x4A, 0x2F, 0xD6, 0x17, 0x10, 0x38, 0x58, 0x4F, 0xA2, 0x4F, 0x05,
+ 0x94, 0x1F, 0xF2, 0x27, 0x2C, 0x2A, 0xD4, 0x76, 0x17, 0xB2, 0xB1, 0x86,
+ 0xF2, 0xE8, 0x20, 0x47, 0xBA, 0x15, 0x85, 0x0B, 0x96, 0x7B, 0xA7, 0x00,
+ 0x76, 0x96, 0x25, 0x3B, 0x1A, 0x0A, 0x15, 0xEE, 0x06, 0x02, 0x0F, 0x8D,
+ 0x4A, 0x09, 0x2D, 0x42, 0x9B, 0xF2, 0xD4, 0x4D, 0x6D, 0xFB, 0xAD, 0xEA,
+ 0x67, 0xDF, 0x4C, 0x7B, 0x5A, 0xF6, 0x06, 0x3B, 0x89, 0x58, 0x12, 0xC5,
+ 0x55, 0xB3, 0xBD, 0x14, 0x3C, 0x0C, 0xB3, 0x92, 0x9B, 0x54, 0xEC, 0x58,
+ 0x55, 0x60, 0x2D, 0xC2, 0x8B, 0x29, 0x2C, 0x73, 0x22, 0x3A, 0xAA, 0x61,
+ 0xD3, 0x7A, 0x1B, 0x9D, 0x75, 0x15, 0x16, 0x1E, 0xDE, 0x03, 0x03, 0x05,
+ 0xC1, 0xED, 0x95, 0x29, 0x2F, 0xB8, 0x94, 0x97, 0x34, 0x66, 0xC4, 0xD7,
+ 0x64, 0x7D, 0x02, 0xA4, 0x90, 0x39, 0xAB, 0x08, 0xF1, 0x64, 0x34, 0x88,
+ 0x81, 0x5B, 0x30, 0x77, 0xBB, 0x76, 0x98, 0x45, 0x1B, 0xEB, 0x8A, 0xDD,
+ 0x2F, 0x50, 0x45, 0xFE, 0xBE, 0x4B, 0x36, 0xD3, 0xC4, 0x12, 0x13, 0x7A,
+ 0x7A, 0xDE, 0x26, 0xEE, 0xF6, 0x46, 0x6C, 0x05, 0x64, 0x0C, 0x3E, 0xD6,
+ 0x70, 0x8A, 0x70, 0xF8, 0x57, 0x8E, 0xF9, 0x59, 0x84, 0xE9, 0xE2, 0x76,
+ 0x36, 0x04, 0x6F, 0x1F, 0xB3, 0x5A, 0xE3, 0x06, 0xDA, 0x94, 0xB7, 0x4B,
+ 0x62, 0x94, 0xFB, 0x3D, 0x76, 0x6D, 0xDC, 0xC6, 0x31, 0xB3, 0x49, 0x2A,
+ 0x24, 0xD7, 0xCA, 0xD2, 0x1E, 0x5D, 0x88, 0xC7, 0x93, 0xB7, 0x4D, 0x57,
+ 0x0E, 0x23, 0x8B, 0xD3, 0x29, 0xA6, 0x55, 0x12, 0x8F, 0x09, 0x5F, 0x5A,
+ 0x18, 0xBD, 0x88, 0xB7, 0xD6, 0xC6, 0x51, 0xAE, 0xA5, 0x50, 0x0D, 0xB1,
+ 0x84, 0xE2, 0x8A, 0x28, 0xC5, 0x06, 0xF1, 0xB3, 0x2A, 0x3F, 0xF5, 0x4B,
+ 0xDC, 0x40, 0x6A, 0x5B, 0x9C, 0xF8, 0x24, 0xF8, 0x39, 0x68, 0x9E, 0x51,
+ 0x6D, 0xAF, 0xC0, 0x7B, 0x6B, 0xC1, 0x1D, 0x04, 0xB5, 0x92, 0x9D, 0x15,
+ 0xB7, 0x30, 0xBF, 0x95, 0xD2, 0xD2, 0x0A, 0x4D, 0x31, 0x37, 0x03, 0x4A,
+ 0x15, 0xF8, 0x09, 0x09, 0x5A, 0xD2, 0x8E, 0x27, 0xAF, 0xFA, 0x29, 0x01,
+ 0xAC, 0x32, 0xEF, 0xAB, 0x55, 0x2B, 0x1F, 0x2D, 0x51, 0x08, 0x8D, 0x23,
+ 0xA2, 0xF1, 0xC8, 0x50, 0xB0, 0xC2, 0x2F, 0xAE, 0x67, 0xAC, 0xB7, 0x3F,
+ 0x64, 0x48, 0x1E, 0xBD, 0x65, 0xF1, 0x0A, 0x93, 0xFE, 0xB3, 0x09, 0x07,
+ 0x75, 0x50, 0x46, 0xCC, 0xF2, 0xC0, 0xA4, 0x12, 0x3E, 0x2D, 0xF0, 0xC5,
+ 0x5B, 0x84, 0x1C, 0xFB, 0xA0, 0xAC, 0xC5, 0x98, 0x20, 0x10, 0xF7, 0x11,
+ 0x3F, 0x5F, 0x5E, 0x7B, 0x28, 0x02, 0x70, 0x46, 0x98, 0xD2, 0x96, 0xE8,
+ 0xC1, 0xF0, 0x82, 0xE3, 0x17, 0x89, 0x5E, 0x34, 0x2C, 0xA0, 0x4B, 0xEA,
+ 0x17, 0x89, 0xC1, 0x2E, 0xF4, 0xD9, 0x57, 0x31, 0x6B, 0x56, 0xCF, 0x05,
+ 0xF6, 0x32, 0x3E, 0xC6, 0x6C, 0xA2, 0x30, 0xFA, 0x28, 0x0E, 0x1D, 0x0D,
+ 0x8B, 0x64, 0x3A, 0x22, 0x73, 0xCD, 0x65, 0xB9, 0x5F, 0x4B, 0x20, 0xEE,
+ 0x21, 0x94, 0xC2, 0x8D, 0x4E, 0x5D, 0xF3, 0x8B, 0xA0, 0x3F, 0xF8, 0xC8,
+ 0x3C, 0xC3, 0xAD, 0x6D, 0x81, 0xA1, 0xE6, 0xF6, 0xE2, 0x74, 0x6D, 0x63,
+ 0x40, 0x1C, 0x17, 0x92, 0xC4, 0x47, 0xCE, 0x8D, 0x49, 0xC7, 0x09, 0x3C,
+ 0xC7, 0x05, 0x8B, 0x79, 0xCF, 0x3A, 0x14, 0x72, 0xD6, 0x4A, 0xC6, 0x5E,
+ 0xB6, 0x1B, 0x3C, 0x52, 0xA7, 0x84, 0x12, 0x02, 0x05, 0xE9, 0x54, 0x1C,
+ 0x61, 0x5F, 0x75, 0xB9, 0x3D, 0x67, 0xBF, 0x2B, 0x84, 0xAF, 0x1D, 0x73,
+ 0x13, 0x17, 0xE8, 0x77, 0x08, 0xCC, 0x86, 0xBB, 0x1C, 0xAB, 0x16, 0x5F,
+ 0x8A, 0xC2, 0xA9, 0xDC, 0x02, 0xE4, 0xC5, 0x0A, 0x49, 0x04, 0x05, 0xDB,
+ 0xD5, 0x3B, 0xF2, 0xE6, 0x9B, 0xA6, 0x9D, 0xC6, 0xE4, 0x60, 0xA7, 0x9A,
+ 0x4B, 0x65, 0xE0, 0x72, 0x95, 0xCD, 0x89, 0x0A, 0xEF, 0xE9, 0x33, 0x54,
+ 0x27, 0x8F, 0xC6, 0x32, 0xBF, 0x29, 0xC4, 0x5C, 0xBA, 0x37, 0xDE, 0xD7,
+ 0x43, 0x99, 0x27, 0xC3, 0x90, 0xEA, 0x1C, 0x5E, 0xE0, 0x4E, 0xBC, 0x68,
+ 0x82, 0x83, 0x82, 0x3D, 0xE8, 0x3B, 0xF5, 0x8A, 0xD1, 0x2B, 0xC8, 0xFB,
+ 0xC6, 0xF8, 0xAE, 0x1F, 0x8A, 0x39, 0x78, 0x94, 0x22, 0xE0, 0xCF, 0x7F,
+ 0xF2, 0xE2, 0x3D, 0x4C, 0x3F, 0x17, 0x7E, 0xA2, 0xFC, 0x51, 0x06, 0x28,
+ 0xC8, 0x4A, 0xD2, 0x93, 0x3C, 0xA5, 0x5F, 0x98, 0x37, 0x23, 0x81, 0x9B,
+ 0x4F, 0x66, 0x96, 0xED, 0x5D, 0x19, 0xFA, 0x74, 0xBC, 0x0E, 0xEA, 0x7E,
+ 0x7B, 0x75, 0x9C, 0x23, 0x49, 0x38, 0x06, 0x76, 0xDD, 0x48, 0x62, 0xCD,
+ 0xE4, 0xF1, 0x59, 0x21, 0x98, 0xCC, 0xFC, 0x72, 0x3E, 0xC4, 0xF2, 0xE1,
+ 0x3F, 0x57, 0x8B, 0x0F, 0x6A, 0xF7, 0xA2, 0xA5, 0xEC, 0x6E, 0x7C, 0x0C,
+ 0xC2, 0x1B, 0x4F, 0xD7, 0x16, 0xE8, 0x74, 0x60, 0x02, 0x61, 0x31, 0x56,
+ 0x28, 0x67, 0x18, 0x57, 0x15, 0x95, 0xE8, 0xBB, 0xF4, 0x97, 0xDC, 0xFC,
+ 0x92, 0xA1, 0x2E, 0x60, 0xFB, 0x8F, 0x3A, 0x7A, 0x54, 0xF1, 0x3C, 0x6B,
+ 0x43, 0xF9, 0x50, 0xF7, 0xF2, 0xC6, 0x11, 0xEA, 0x19, 0xE5, 0xF4, 0xD4,
+ 0x44, 0x27, 0xA9, 0xF1, 0x39, 0xCB, 0xCC, 0xFB, 0xFE, 0xDA, 0x98, 0xF5,
+ 0x1B, 0xFC, 0x94, 0xF8, 0xB1, 0x77, 0x1F, 0x70, 0x65, 0xAE, 0xB4, 0x13,
+ 0xA5, 0x83, 0xFD, 0x5A, 0xFC, 0xEC, 0xDA, 0x05, 0xE3, 0xA0, 0x6B, 0x3E,
+ 0xC1, 0xBA, 0x66, 0x2A, 0xD5, 0xD0, 0x69, 0x74, 0x2E, 0x13, 0x23, 0x75,
+ 0x3B, 0x29, 0xC7, 0x7D, 0xA3, 0xB5, 0x05, 0xAA, 0x61, 0xC9, 0xAD, 0xDA,
+ 0x83, 0x35, 0x40, 0xFA, 0x5F, 0x35, 0x13, 0x64, 0xBF, 0x31, 0xB8, 0xAB,
+ 0xF5, 0xAD, 0x23, 0xDA, 0xA9, 0x98, 0x01, 0x35, 0x1C, 0x83, 0x1D, 0xA4,
+ 0x4D, 0xD0, 0x73, 0x6B, 0x37, 0xF6, 0x7F, 0xBF, 0xDA, 0x92, 0x39, 0xC6,
+ 0x63, 0x7D, 0xF0, 0xA6, 0x27, 0xB9, 0x88, 0x6D, 0x6A, 0x30, 0xDA, 0xE0,
+ 0xEC, 0xA5, 0x73, 0x39, 0xE9, 0x12, 0x27, 0x90, 0xE3, 0x05, 0x6D, 0xEE,
+ 0x94, 0x25, 0x37, 0xFD, 0xD1, 0x6D, 0xC2, 0xD6, 0x58, 0x36, 0x57, 0xA0,
+ 0x5D, 0x2A, 0xA8, 0xE1, 0x20, 0x00, 0xB3, 0x78, 0x98, 0x97, 0x0A, 0x57,
+ 0x84, 0x74, 0x2E, 0x7B, 0x3B, 0x58, 0x67, 0x01, 0xED, 0xAF, 0x1B, 0x74,
+ 0xDF, 0x1A, 0xFE, 0x55, 0xC5, 0x20, 0x76, 0x6C, 0x94, 0x0C, 0x38, 0x65,
+ 0xF0, 0xA7, 0xC3, 0xBA, 0x08, 0xAD, 0xA4, 0x9C, 0xEB, 0xDF, 0x7C, 0x0D,
+ 0x44, 0xD4, 0x39, 0x43, 0xB0, 0xBF, 0x6A, 0x09, 0xEF, 0x85, 0xED, 0x36,
+ 0x67, 0x41, 0x53, 0x90, 0x9A, 0xB9, 0x5A, 0x35, 0x45, 0xB4, 0xCA, 0x4B,
+ 0x59, 0x13, 0xC7, 0x8F, 0xD4, 0x46, 0x6F, 0x86, 0x80, 0x0D, 0x0D, 0x95,
+ 0xAD, 0x87, 0x5A, 0xE0, 0xF0, 0x91, 0x42, 0x96, 0x12, 0x57, 0xBF, 0x33,
+ 0x18, 0xC1, 0x55, 0x12, 0xB6, 0x1D, 0xF3, 0x0F, 0xDA, 0x1B, 0x76, 0x2C,
+ 0x3B, 0x05, 0x34, 0x27, 0x26, 0xA5, 0xE7, 0xDD, 0xCF, 0x7F, 0x6A, 0x2C,
+ 0x8B, 0xA9, 0x05, 0x79, 0x0B, 0xC9, 0x1F, 0x7B, 0x6C, 0xFA, 0x48, 0x55,
+ 0xD1, 0x9A, 0xA4, 0x92, 0x55, 0xE9, 0xF6, 0x8F, 0x07, 0x55, 0x6B, 0x84,
+ 0xC5, 0xC5, 0xED, 0x1B, 0xC4, 0x9E, 0xD1, 0x24, 0x63, 0xCB, 0xF8, 0x9D,
+ 0x85, 0x2A, 0xCE, 0x17, 0xC3, 0x62, 0x71, 0xA7, 0xAB, 0x6F, 0xB2, 0xDA,
+ 0xDD, 0x5C, 0x71, 0xBC, 0x9D, 0x1C, 0x20, 0x0C, 0xB2, 0x6E, 0x0E, 0x11,
+ 0x8B, 0xB4, 0x8A, 0x7A, 0x8D, 0x11, 0x25, 0xB2, 0x41, 0xE3, 0x5D, 0x91,
+ 0x86, 0xF7, 0xC6, 0x34, 0x5C, 0xC3, 0x4E, 0x35, 0x67, 0x43, 0x29, 0x98,
+ 0xD6, 0x0C, 0xEF, 0xA5, 0x9E, 0x64, 0xAD, 0xB3, 0xB2, 0x23, 0x38, 0xD3,
+ 0x42, 0x76, 0xF2, 0x06, 0x0D, 0x0F, 0x0D, 0xA9, 0x74, 0x29, 0x0B, 0xB6,
+ 0x83, 0xA2, 0xF2, 0xFB, 0x4B, 0x86, 0xF9, 0xC5, 0x27, 0xCB, 0xE4, 0x85,
+ 0xC3, 0x67, 0xC1, 0x25, 0x75, 0xC5, 0x5F, 0x38, 0x87, 0xCB, 0x7C, 0xF1,
+ 0x15, 0xDC, 0x56, 0xF1, 0x9E, 0x05, 0x3E, 0x81, 0xF9, 0x39, 0x78, 0x8F,
+ 0x01, 0x81, 0xD8, 0xF8, 0x53, 0x69, 0x85, 0x8F, 0x67, 0xFC, 0x1A, 0xAB,
+ 0xBD, 0x68, 0xDE, 0x89, 0x3A, 0xF5, 0x0E, 0xD4, 0x3E, 0x15, 0x85, 0xD0,
+ 0x1A, 0x30, 0x64, 0x51, 0x9B, 0xEA, 0xE2, 0xCB, 0x83, 0xC7, 0xFD, 0xFD,
+ 0x44, 0xF6, 0x14, 0x67, 0x1C, 0x78, 0xBC, 0x00, 0x42, 0x18, 0xB7, 0x2F,
+ 0xB3, 0x9B, 0x78, 0x8D, 0x0C, 0x95, 0x70, 0x3A, 0x87, 0xAF, 0xD4, 0x33,
+ 0xAF, 0x57, 0xC1, 0x72, 0x4C, 0x5B, 0x1E, 0x4F, 0x16, 0x14, 0xA0, 0x24,
+ 0x86, 0x6E, 0xE6, 0x5F, 0x01, 0xCA, 0x2E, 0x57, 0x11, 0x4F, 0x2F, 0xF8,
+ 0xEB, 0x89, 0xAB, 0x74, 0x9E, 0x3B, 0x0E, 0x99, 0x60, 0x8D, 0x49, 0x21,
+ 0x00, 0xCC, 0x09, 0x97, 0x31, 0xF9, 0x09, 0xF3, 0xB6, 0x7D, 0x98, 0xC9,
+ 0x88, 0x55, 0x8E, 0x90, 0x1A, 0x0A, 0x5D, 0xD7, 0x6D, 0x0C, 0x3E, 0x86,
+ 0x7A, 0x15, 0xDD, 0x05, 0x60, 0xBB, 0xBB, 0xF6, 0xB7, 0x7C, 0xFA, 0x69,
+ 0x00, 0x76, 0xB5, 0x53, 0x1D, 0xC1, 0xB1, 0x3F, 0x6F, 0x92, 0xAD, 0x1A,
+ 0x2F, 0x93, 0xE3, 0xA4, 0x4A, 0x82, 0x54, 0x76, 0x91, 0x0A, 0xBF, 0x0A,
+ 0x78, 0xBC, 0xC1, 0x08, 0x3F, 0x21, 0x6F, 0xF5, 0x49, 0x6A, 0x4E, 0x53,
+ 0xA7, 0xDA, 0x2B, 0xDD, 0xFE, 0xC4, 0x74, 0x75, 0x89, 0xCB, 0xBC, 0xFF,
+ 0x63, 0x3D, 0x9F, 0xE6, 0x20, 0x9D, 0xD9, 0x8B, 0x56, 0x5A, 0xAB, 0xE6,
+ 0x10, 0x78, 0x7D, 0xE1, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9A, 0x24, 0x6C,
+ 0x46, 0xFF, 0xFA, 0x59, 0xBE, 0xA9, 0x0F, 0x76, 0x3B, 0xB7, 0x2D, 0x8A,
+ 0xE8, 0x8A, 0x65, 0x12, 0xEB, 0xA0, 0x9D, 0x67, 0xF9, 0x30, 0x00, 0x2E,
+ 0x67, 0x35, 0x1A, 0xD4, 0x0B, 0x03, 0x07, 0x82, 0xEF, 0x26, 0x65, 0x10,
+ 0x64, 0xD9, 0x53, 0x41, 0x4F, 0x0F, 0x5D, 0x2B, 0xD2, 0xAD, 0x82, 0x57,
+ 0xB0, 0x56, 0x7F, 0xD1, 0x18, 0xAF, 0x3C, 0xDF, 0xE3, 0x8F, 0x95, 0x88,
+ 0x2D, 0xC8, 0x34, 0xE8, 0x67, 0xCF, 0x9B, 0x33, 0x73, 0xCA, 0x6A, 0xD8,
+ 0x24, 0xAC, 0x53, 0xBC, 0x06, 0x9E, 0xA7, 0xED, 0x65, 0x8B, 0x5E, 0x6E,
+ 0x3D, 0xDD, 0x69, 0x81, 0xB2, 0x2F, 0xE7, 0x2D, 0x78, 0x31, 0xCA, 0x31,
+ 0x68, 0xF2, 0xAE, 0xB9, 0x4A, 0x3D, 0x44, 0x19, 0xFC, 0x07, 0x47, 0xCC,
+ 0xCE, 0xF0, 0x16, 0xC7, 0x90, 0xE6, 0xBC, 0x85, 0x0A, 0x87, 0x47, 0x0A,
+ 0x80, 0x9E, 0x48, 0xA8, 0x44, 0x18, 0x0A, 0x0F, 0x72, 0x09, 0x46, 0x9B,
+ 0x61, 0x42, 0xD2, 0x13, 0xE8, 0xD7, 0xBE, 0x02, 0xF1, 0x76, 0x54, 0x02,
+ 0xBF, 0xEB, 0x6A, 0x9C, 0x6A, 0x9D, 0xA1, 0xB1, 0x5E, 0x50, 0x1A, 0xC9,
+ 0x5C, 0x66, 0xCA, 0x16, 0x7A, 0x5E, 0xE4, 0x81, 0x75, 0x77, 0xB6, 0x41,
+ 0xDB, 0x6B, 0x79, 0x17, 0x4D, 0xFF, 0xDD, 0xE0, 0x07, 0x4A, 0x4D, 0xE6,
+ 0x38, 0xCF, 0xE1, 0xC8, 0x15, 0xCA, 0x8C, 0xE7, 0x37, 0x1F, 0x37, 0x60,
+ 0x7C, 0xB3, 0xF5, 0x9F, 0x45, 0x65, 0x37, 0xBB, 0x2B, 0x2D, 0x3E, 0xEC,
+ 0x89, 0x22, 0x32, 0xD9, 0x0E, 0x6B, 0x49, 0x0D, 0x2E, 0xC2, 0x4C, 0xE1,
+ 0xA4, 0xFB, 0x6C, 0xDA, 0xBE, 0x08, 0x87, 0x01, 0xB1, 0x7A, 0x0F, 0x76,
+ 0x5B, 0x52, 0x01, 0x01, 0x59, 0x5A, 0x0D, 0xD9, 0x3B, 0x80, 0x87, 0x70,
+ 0xA0, 0x81, 0xC3, 0x84, 0x6F, 0x3F, 0x1F, 0x22, 0xA1, 0xE6, 0x45, 0xA7,
+ 0x72, 0x71, 0xF4, 0xAF, 0x8C, 0x8A, 0x48, 0xE6, 0xE7, 0xF5, 0x3F, 0x7D,
+ 0xE4, 0xC8, 0xFB, 0x5E, 0xEF, 0x37, 0xD9, 0xAD, 0x3E, 0x34, 0x9E, 0xD9,
+ 0xE3, 0x8A, 0xC1, 0x16, 0xB4, 0xF2, 0x7B, 0x3A, 0x03, 0x13, 0xA6, 0xC1,
+ 0x65, 0x3B, 0xFE, 0x28, 0x56, 0x54, 0x61, 0xE4, 0x25, 0x59, 0x48, 0x28,
+ 0xE2, 0x62, 0x5B, 0xB4, 0x5C, 0xC0, 0x45, 0x39, 0x9F, 0x4E, 0xB1, 0xB6,
+ 0xA4, 0xF2, 0x4C, 0x10, 0x73, 0x8C, 0xB8, 0x2D, 0xEF, 0x91, 0xE7, 0x9C,
+ 0x93, 0x9E, 0xDD, 0xF8, 0xAB, 0x4B, 0xF9, 0x92, 0xFB, 0x0B, 0xAE, 0x98,
+ 0x0F, 0xC0, 0xDF, 0x66, 0xF6, 0x54, 0xB1, 0x33, 0xD3, 0x21, 0x8E, 0x53,
+ 0xB9, 0x37, 0x7D, 0xD1, 0x86, 0x8A, 0x6F, 0x71, 0x60, 0x83, 0x29, 0x03,
+ 0x57, 0x51, 0x11, 0x1B, 0xB9, 0x44, 0x6F, 0x72, 0x56, 0x83, 0x97, 0xA0,
+ 0x25, 0x63, 0xB9, 0xA1, 0x73, 0xE7, 0x24, 0x5E, 0x38, 0x88, 0x17, 0x1E,
+ 0x2F, 0xFC, 0x1F, 0xDF, 0xFC, 0x66, 0xFA, 0xF6, 0x14, 0xE1, 0xDE, 0xDA,
+ 0x39, 0x3E, 0x75, 0x8A, 0x82, 0xFB, 0xB7, 0xDA, 0x31, 0xC9, 0x56, 0xA7,
+ 0x3D, 0x25, 0xE8, 0x22, 0xB8, 0x49, 0x26, 0x32, 0x8C, 0xC6, 0x6A, 0x13,
+ 0x80, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9E, 0x42, 0x78, 0x93, 0xFF, 0x00,
+ 0xB0, 0xA6, 0x2C, 0x53, 0x60, 0x86, 0x69, 0x00, 0x03, 0xBD, 0xBC, 0x12,
+ 0xEA, 0xFE, 0x8F, 0xFE, 0x01, 0xEA, 0x9E, 0x19, 0x51, 0x56, 0x3B, 0xA3,
+ 0xC4, 0xFB, 0xF1, 0xDC, 0x98, 0x55, 0x31, 0x29, 0x23, 0xDE, 0x20, 0x0F,
+ 0x2C, 0x01, 0xBD, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9E, 0x61, 0x74, 0x44,
+ 0x7F, 0x00, 0x40, 0xAE, 0x4A, 0xAA, 0xA1, 0x12, 0xE0, 0x82, 0xFC, 0x2D,
+ 0x18, 0x08, 0x1F, 0x0A, 0x2F, 0xE7, 0xA2, 0xD6, 0x13, 0x07, 0x34, 0xD0,
+ 0x35, 0x31, 0x43, 0xBB, 0x59, 0x8B, 0xC2, 0x56, 0x27, 0x30, 0xE6, 0x00,
+ 0x3E, 0x60, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9E, 0x63, 0x6A, 0x44, 0x7F,
+ 0x00, 0x40, 0x55, 0x93, 0xE1, 0xE5, 0x2E, 0x97, 0x07, 0x00, 0x00, 0x94,
+ 0x82, 0x28, 0xE2, 0xE9, 0x67, 0x5A, 0xF4, 0x50, 0x04, 0xDD, 0x00, 0x00,
+ 0x00, 0x01, 0x41, 0x9A, 0x68, 0x49, 0xA8, 0x41, 0x68, 0x99, 0x4C, 0x08,
+ 0xDF, 0xFA, 0x58, 0x00, 0x01, 0x94, 0x21, 0xB2, 0x10, 0x44, 0xD4, 0x4F,
+ 0xA1, 0xD0, 0xBC, 0xE7, 0x5C, 0xBA, 0xE1, 0x84, 0x0E, 0x48, 0x96, 0xB6,
+ 0x79, 0xE7, 0x9E, 0x4F, 0x0A, 0x8A, 0xE2, 0x19, 0x0B, 0xD1, 0x7C, 0x2B,
+ 0x7B, 0xC2, 0xA6, 0x2B, 0xC0, 0x2A, 0x76, 0xAB, 0xB0, 0x49, 0x03, 0x04,
+ 0x77, 0xCB, 0x50, 0xBA, 0xEB, 0x8B, 0x66, 0x01, 0x58, 0xA8, 0xA1, 0xE6,
+ 0xD5, 0x08, 0xF0, 0xF9, 0x55, 0x50, 0xCE, 0x29, 0x58, 0xE7, 0x00, 0x00,
+ 0x00, 0x01, 0x41, 0x9E, 0x86, 0x45, 0x11, 0x2C, 0x9F, 0x00, 0x05, 0xF1,
+ 0xF6, 0x98, 0xA0, 0xA9, 0xC6, 0xB9, 0x00, 0x00, 0x04, 0x5D, 0x00, 0x00,
+ 0x00, 0x01, 0x01, 0x9E, 0xA5, 0x74, 0x44, 0x7F, 0x00, 0x07, 0x5A, 0xC5,
+ 0x3B, 0x30, 0xFD, 0x00, 0x00, 0x03, 0x00, 0x71, 0xC1, 0x00, 0x00, 0x00,
+ 0x01, 0x01, 0x9E, 0xA7, 0x6A, 0x44, 0x7F, 0x00, 0x07, 0x52, 0xD5, 0x12,
+ 0x05, 0x20, 0x00, 0x00, 0x32, 0xA0, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9A,
+ 0xAC, 0x49, 0xA8, 0x41, 0x6C, 0x99, 0x4C, 0x08, 0xDF, 0xFA, 0x58, 0x00,
+ 0x01, 0x8C, 0xC9, 0x7F, 0x00, 0xBA, 0x6C, 0x10, 0xB1, 0x70, 0x7E, 0xBC,
+ 0x18, 0x70, 0x13, 0x44, 0x3C, 0x54, 0x00, 0x00, 0x12, 0x70, 0x00, 0x00,
+ 0x00, 0x01, 0x41, 0x9E, 0xCA, 0x45, 0x15, 0x2C, 0x9F, 0x00, 0x07, 0xBC,
+ 0x87, 0x72, 0xCC, 0x4A, 0x70, 0x00, 0x2B, 0x61, 0x00, 0x00, 0x00, 0x01,
+ 0x01, 0x9E, 0xE9, 0x74, 0x44, 0x7F, 0x00, 0x0A, 0x20, 0x3E, 0x30, 0x00,
+ 0x00, 0x08, 0x38, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9E, 0xEB, 0x6A, 0x44,
+ 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFC, 0x00, 0x00,
+ 0x00, 0x01, 0x41, 0x9A, 0xF0, 0x49, 0xA8, 0x41, 0x6C, 0x99, 0x4C, 0x08,
+ 0xDF, 0xFA, 0x58, 0x00, 0x01, 0x94, 0x94, 0xE5, 0x47, 0xB3, 0x3E, 0xC0,
+ 0x06, 0xEC, 0x22, 0x1B, 0x59, 0xC0, 0x97, 0x81, 0x00, 0x00, 0x00, 0x01,
+ 0x41, 0x9F, 0x0E, 0x45, 0x15, 0x2C, 0x9F, 0x00, 0x07, 0xEC, 0x5C, 0xF9,
+ 0x10, 0x7F, 0x8B, 0x32, 0xD0, 0x02, 0xA7, 0x00, 0x00, 0x00, 0x01, 0x01,
+ 0x9F, 0x2D, 0x74, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0xEA, 0x29,
+ 0xAC, 0x1B, 0x51, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9F, 0x2F, 0x6A, 0x44,
+ 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFC, 0x00, 0x00,
+ 0x00, 0x01, 0x41, 0x9B, 0x34, 0x49, 0xA8, 0x41, 0x6C, 0x99, 0x4C, 0x08,
+ 0xDF, 0xFA, 0x58, 0x00, 0x00, 0x03, 0x00, 0x00, 0x65, 0x1F, 0x0C, 0xB0,
+ 0x06, 0xF9, 0x55, 0x6B, 0x34, 0xE0, 0x0B, 0xD8, 0x00, 0x00, 0x00, 0x01,
+ 0x41, 0x9F, 0x52, 0x45, 0x15, 0x2C, 0x9F, 0x00, 0x00, 0x03, 0x02, 0xFA,
+ 0xBD, 0x50, 0xE6, 0xC4, 0x70, 0x3E, 0x61, 0x00, 0x00, 0x00, 0x01, 0x01,
+ 0x9F, 0x71, 0x74, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x02, 0x9A, 0x0F,
+ 0x8C, 0x07, 0xF8, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9F, 0x73, 0x6A, 0x44,
+ 0x7F, 0x00, 0x00, 0x03, 0x00, 0x02, 0x96, 0xBD, 0x90, 0x2E, 0xE0, 0x00,
+ 0x00, 0x00, 0x01, 0x41, 0x9B, 0x78, 0x49, 0xA8, 0x41, 0x6C, 0x99, 0x4C,
+ 0x08, 0xDF, 0xFA, 0x58, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x00,
+ 0x9D, 0x81, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9F, 0x96, 0x45, 0x15, 0x2C,
+ 0x9F, 0x00, 0x00, 0x03, 0x02, 0xFA, 0xBD, 0x4E, 0x00, 0x04, 0x8C, 0x00,
+ 0x00, 0x00, 0x01, 0x01, 0x9F, 0xB5, 0x74, 0x44, 0x7F, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x03, 0x00, 0x03, 0xFD, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9F,
+ 0xB7, 0x6A, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03,
+ 0xFD, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9B, 0xBC, 0x49, 0xA8, 0x41, 0x6C,
+ 0x99, 0x4C, 0x08, 0xDF, 0xFA, 0x58, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x9D, 0x80, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9F, 0xDA, 0x45,
+ 0x15, 0x2C, 0x9F, 0x00, 0x00, 0x03, 0x02, 0xFA, 0xBD, 0x4E, 0x00, 0x04,
+ 0x8D, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9F, 0xF9, 0x74, 0x44, 0x7F, 0x00,
+ 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x00, 0x01,
+ 0x01, 0x9F, 0xFB, 0x6A, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03,
+ 0x00, 0x03, 0xFD, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9B, 0xE0, 0x49, 0xA8,
+ 0x41, 0x6C, 0x99, 0x4C, 0x08, 0xDF, 0xFA, 0x58, 0x00, 0x00, 0x03, 0x00,
+ 0x00, 0x03, 0x00, 0x00, 0x9D, 0x81, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9E,
+ 0x1E, 0x45, 0x15, 0x2C, 0x9F, 0x00, 0x00, 0x03, 0x02, 0xFA, 0xBD, 0x4E,
+ 0x00, 0x04, 0x8C, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9E, 0x3D, 0x74, 0x44,
+ 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFC, 0x00, 0x00,
+ 0x00, 0x01, 0x01, 0x9E, 0x3F, 0x6A, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00,
+ 0x00, 0x03, 0x00, 0x03, 0xFD, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9A, 0x24,
+ 0x49, 0xA8, 0x41, 0x6C, 0x99, 0x4C, 0x08, 0xDF, 0xFA, 0x58, 0x00, 0x00,
+ 0x03, 0x00, 0x00, 0x03, 0x00, 0x00, 0x9D, 0x80, 0x00, 0x00, 0x00, 0x01,
+ 0x41, 0x9E, 0x42, 0x45, 0x15, 0x2C, 0x9F, 0x00, 0x00, 0x03, 0x02, 0xFA,
+ 0xBD, 0x4E, 0x00, 0x04, 0x8D, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9E, 0x61,
+ 0x74, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFC,
+ 0x00, 0x00, 0x00, 0x01, 0x01, 0x9E, 0x63, 0x6A, 0x44, 0x7F, 0x00, 0x00,
+ 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFD, 0x00, 0x00, 0x00, 0x01, 0x41,
+ 0x9A, 0x68, 0x49, 0xA8, 0x41, 0x6C, 0x99, 0x4C, 0x08, 0xDF, 0xFA, 0x58,
+ 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x00, 0x9D, 0x81, 0x00, 0x00,
+ 0x00, 0x01, 0x41, 0x9E, 0x86, 0x45, 0x15, 0x2C, 0x9F, 0x00, 0x00, 0x03,
+ 0x02, 0xFA, 0xBD, 0x4E, 0x00, 0x04, 0x8D, 0x00, 0x00, 0x00, 0x01, 0x01,
+ 0x9E, 0xA5, 0x74, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00,
+ 0x03, 0xFD, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9E, 0xA7, 0x6A, 0x44, 0x7F,
+ 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x00,
+ 0x01, 0x41, 0x9A, 0xAC, 0x49, 0xA8, 0x41, 0x6C, 0x99, 0x4C, 0x08, 0xDF,
+ 0xFA, 0x58, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x00, 0x9D, 0x80,
+ 0x00, 0x00, 0x00, 0x01, 0x41, 0x9E, 0xCA, 0x45, 0x15, 0x2C, 0x9F, 0x00,
+ 0x00, 0x03, 0x02, 0xFA, 0xBD, 0x4E, 0x00, 0x04, 0x8D, 0x00, 0x00, 0x00,
+ 0x01, 0x01, 0x9E, 0xE9, 0x74, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00,
+ 0x03, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9E, 0xEB, 0x6A,
+ 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFC, 0x00,
+ 0x00, 0x00, 0x01, 0x41, 0x9A, 0xF0, 0x49, 0xA8, 0x41, 0x6C, 0x99, 0x4C,
+ 0x08, 0xDF, 0xFA, 0x58, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x00,
+ 0x9D, 0x81, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9F, 0x0E, 0x45, 0x15, 0x2C,
+ 0x9F, 0x00, 0x00, 0x03, 0x02, 0xFA, 0xBD, 0x4E, 0x00, 0x04, 0x8D, 0x00,
+ 0x00, 0x00, 0x01, 0x01, 0x9F, 0x2D, 0x74, 0x44, 0x7F, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x03, 0x00, 0x03, 0xFD, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9F,
+ 0x2F, 0x6A, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03,
+ 0xFC, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9B, 0x34, 0x49, 0xA8, 0x41, 0x6C,
+ 0x99, 0x4C, 0x08, 0xDF, 0xFA, 0x58, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x9D, 0x80, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9F, 0x52, 0x45,
+ 0x15, 0x2C, 0x9F, 0x00, 0x00, 0x03, 0x02, 0xFA, 0xBD, 0x4E, 0x00, 0x04,
+ 0x8D, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9F, 0x71, 0x74, 0x44, 0x7F, 0x00,
+ 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x00, 0x01,
+ 0x01, 0x9F, 0x73, 0x6A, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03,
+ 0x00, 0x03, 0xFC, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9B, 0x78, 0x49, 0xA8,
+ 0x41, 0x6C, 0x99, 0x4C, 0x08, 0xDF, 0xFA, 0x58, 0x00, 0x00, 0x03, 0x00,
+ 0x00, 0x03, 0x00, 0x00, 0x9D, 0x81, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9F,
+ 0x96, 0x45, 0x15, 0x2C, 0x9F, 0x00, 0x00, 0x03, 0x02, 0xFA, 0xBD, 0x4E,
+ 0x00, 0x04, 0x8C, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9F, 0xB5, 0x74, 0x44,
+ 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFD, 0x00, 0x00,
+ 0x00, 0x01, 0x01, 0x9F, 0xB7, 0x6A, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00,
+ 0x00, 0x03, 0x00, 0x03, 0xFD, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9B, 0xBC,
+ 0x49, 0xA8, 0x41, 0x6C, 0x99, 0x4C, 0x08, 0xDF, 0xFA, 0x58, 0x00, 0x00,
+ 0x03, 0x00, 0x00, 0x03, 0x00, 0x00, 0x9D, 0x80, 0x00, 0x00, 0x00, 0x01,
+ 0x41, 0x9F, 0xDA, 0x45, 0x15, 0x2C, 0x9F, 0x00, 0x00, 0x03, 0x02, 0xFA,
+ 0xBD, 0x4E, 0x00, 0x04, 0x8D, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9F, 0xF9,
+ 0x74, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFC,
+ 0x00, 0x00, 0x00, 0x01, 0x01, 0x9F, 0xFB, 0x6A, 0x44, 0x7F, 0x00, 0x00,
+ 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFD, 0x00, 0x00, 0x00, 0x01, 0x41,
+ 0x9B, 0xE0, 0x49, 0xA8, 0x41, 0x6C, 0x99, 0x4C, 0x08, 0xDF, 0xFA, 0x58,
+ 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x00, 0x9D, 0x81, 0x00, 0x00,
+ 0x00, 0x01, 0x41, 0x9E, 0x1E, 0x45, 0x15, 0x2C, 0x9F, 0x00, 0x00, 0x03,
+ 0x02, 0xFA, 0xBD, 0x4E, 0x00, 0x04, 0x8C, 0x00, 0x00, 0x00, 0x01, 0x01,
+ 0x9E, 0x3D, 0x74, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00,
+ 0x03, 0xFC, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9E, 0x3F, 0x6A, 0x44, 0x7F,
+ 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFD, 0x00, 0x00, 0x00,
+ 0x01, 0x41, 0x9A, 0x24, 0x49, 0xA8, 0x41, 0x6C, 0x99, 0x4C, 0x08, 0xDF,
+ 0xFA, 0x58, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x00, 0x9D, 0x80,
+ 0x00, 0x00, 0x00, 0x01, 0x41, 0x9E, 0x42, 0x45, 0x15, 0x2C, 0x9F, 0x00,
+ 0x00, 0x03, 0x02, 0xFA, 0xBD, 0x4E, 0x00, 0x04, 0x8D, 0x00, 0x00, 0x00,
+ 0x01, 0x01, 0x9E, 0x61, 0x74, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00,
+ 0x03, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9E, 0x63, 0x6A,
+ 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFD, 0x00,
+ 0x00, 0x00, 0x01, 0x41, 0x9A, 0x68, 0x49, 0xA8, 0x41, 0x6C, 0x99, 0x4C,
+ 0x08, 0xDF, 0xFA, 0x58, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x00,
+ 0x9D, 0x81, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9E, 0x86, 0x45, 0x15, 0x2C,
+ 0x9F, 0x00, 0x00, 0x03, 0x02, 0xFA, 0xBD, 0x4E, 0x00, 0x04, 0x8D, 0x00,
+ 0x00, 0x00, 0x01, 0x01, 0x9E, 0xA5, 0x74, 0x44, 0x7F, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x03, 0x00, 0x03, 0xFD, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9E,
+ 0xA7, 0x6A, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03,
+ 0xFC, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9A, 0xAC, 0x49, 0xA8, 0x41, 0x6C,
+ 0x99, 0x4C, 0x08, 0xDF, 0xFA, 0x58, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x9D, 0x80, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9E, 0xCA, 0x45,
+ 0x15, 0x2C, 0x9F, 0x00, 0x00, 0x03, 0x02, 0xFA, 0xBD, 0x4E, 0x00, 0x04,
+ 0x8D, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9E, 0xE9, 0x74, 0x44, 0x7F, 0x00,
+ 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x00, 0x01,
+ 0x01, 0x9E, 0xEB, 0x6A, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03,
+ 0x00, 0x03, 0xFC, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9A, 0xF0, 0x49, 0xA8,
+ 0x41, 0x6C, 0x99, 0x4C, 0x08, 0xDF, 0xFA, 0x58, 0x00, 0x00, 0x03, 0x00,
+ 0x00, 0x03, 0x00, 0x00, 0x9D, 0x81, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9F,
+ 0x0E, 0x45, 0x15, 0x2C, 0x9F, 0x00, 0x00, 0x03, 0x02, 0xFA, 0xBD, 0x4E,
+ 0x00, 0x04, 0x8D, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9F, 0x2D, 0x74, 0x44,
+ 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFD, 0x00, 0x00,
+ 0x00, 0x01, 0x01, 0x9F, 0x2F, 0x6A, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00,
+ 0x00, 0x03, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9B, 0x34,
+ 0x49, 0xA8, 0x41, 0x6C, 0x99, 0x4C, 0x08, 0xDF, 0xFA, 0x58, 0x00, 0x00,
+ 0x03, 0x00, 0x00, 0x03, 0x00, 0x00, 0x9D, 0x80, 0x00, 0x00, 0x00, 0x01,
+ 0x41, 0x9F, 0x52, 0x45, 0x15, 0x2C, 0x9F, 0x00, 0x00, 0x03, 0x02, 0xFA,
+ 0xBD, 0x4E, 0x00, 0x04, 0x8D, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9F, 0x71,
+ 0x74, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFC,
+ 0x00, 0x00, 0x00, 0x01, 0x01, 0x9F, 0x73, 0x6A, 0x44, 0x7F, 0x00, 0x00,
+ 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x00, 0x01, 0x41,
+ 0x9B, 0x78, 0x49, 0xA8, 0x41, 0x6C, 0x99, 0x4C, 0x08, 0xDF, 0xFA, 0x58,
+ 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x00, 0x9D, 0x81, 0x00, 0x00,
+ 0x00, 0x01, 0x41, 0x9F, 0x96, 0x45, 0x15, 0x2C, 0x9F, 0x00, 0x00, 0x03,
+ 0x02, 0xFA, 0xBD, 0x4E, 0x00, 0x04, 0x8C, 0x00, 0x00, 0x00, 0x01, 0x01,
+ 0x9F, 0xB5, 0x74, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00,
+ 0x03, 0xFD, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9F, 0xB7, 0x6A, 0x44, 0x7F,
+ 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFD, 0x00, 0x00, 0x00,
+ 0x01, 0x41, 0x9B, 0xBC, 0x49, 0xA8, 0x41, 0x6C, 0x99, 0x4C, 0x08, 0xDF,
+ 0xFA, 0x58, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x00, 0x9D, 0x80,
+ 0x00, 0x00, 0x00, 0x01, 0x41, 0x9F, 0xDA, 0x45, 0x15, 0x2C, 0x9F, 0x00,
+ 0x00, 0x03, 0x02, 0xFA, 0xBD, 0x4E, 0x00, 0x04, 0x8D, 0x00, 0x00, 0x00,
+ 0x01, 0x01, 0x9F, 0xF9, 0x74, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00,
+ 0x03, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9F, 0xFB, 0x6A,
+ 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFD, 0x00,
+ 0x00, 0x00, 0x01, 0x41, 0x9B, 0xE0, 0x49, 0xA8, 0x41, 0x6C, 0x99, 0x4C,
+ 0x08, 0xDF, 0xFA, 0x58, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x00,
+ 0x9D, 0x81, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9E, 0x1E, 0x45, 0x15, 0x2C,
+ 0x9F, 0x00, 0x00, 0x03, 0x02, 0xFA, 0xBD, 0x4E, 0x00, 0x04, 0x8C, 0x00,
+ 0x00, 0x00, 0x01, 0x01, 0x9E, 0x3D, 0x74, 0x44, 0x7F, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x03, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9E,
+ 0x3F, 0x6A, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03,
+ 0xFD, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9A, 0x24, 0x49, 0xA8, 0x41, 0x6C,
+ 0x99, 0x4C, 0x08, 0xDF, 0xFA, 0x58, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x9D, 0x80, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9E, 0x42, 0x45,
+ 0x15, 0x2C, 0x9F, 0x00, 0x00, 0x03, 0x02, 0xFA, 0xBD, 0x4E, 0x00, 0x04,
+ 0x8D, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9E, 0x61, 0x74, 0x44, 0x7F, 0x00,
+ 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x00, 0x01,
+ 0x01, 0x9E, 0x63, 0x6A, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03,
+ 0x00, 0x03, 0xFD, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9A, 0x68, 0x49, 0xA8,
+ 0x41, 0x6C, 0x99, 0x4C, 0x08, 0xDF, 0xFA, 0x58, 0x00, 0x00, 0x03, 0x00,
+ 0x00, 0x03, 0x00, 0x00, 0x9D, 0x81, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9E,
+ 0x86, 0x45, 0x15, 0x2C, 0x9F, 0x00, 0x00, 0x03, 0x02, 0xFA, 0xBD, 0x4E,
+ 0x00, 0x04, 0x8D, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9E, 0xA5, 0x74, 0x44,
+ 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFD, 0x00, 0x00,
+ 0x00, 0x01, 0x01, 0x9E, 0xA7, 0x6A, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00,
+ 0x00, 0x03, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9A, 0xAC,
+ 0x49, 0xA8, 0x41, 0x6C, 0x99, 0x4C, 0x08, 0xDF, 0xFA, 0x58, 0x00, 0x00,
+ 0x03, 0x00, 0x00, 0x03, 0x00, 0x00, 0x9D, 0x80, 0x00, 0x00, 0x00, 0x01,
+ 0x41, 0x9E, 0xCA, 0x45, 0x15, 0x2C, 0x9F, 0x00, 0x00, 0x03, 0x02, 0xFA,
+ 0xBD, 0x4E, 0x00, 0x04, 0x8D, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9E, 0xE9,
+ 0x74, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFC,
+ 0x00, 0x00, 0x00, 0x01, 0x01, 0x9E, 0xEB, 0x6A, 0x44, 0x7F, 0x00, 0x00,
+ 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x00, 0x01, 0x41,
+ 0x9A, 0xF0, 0x49, 0xA8, 0x41, 0x6C, 0x99, 0x4C, 0x08, 0xDF, 0xFA, 0x58,
+ 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x00, 0x9D, 0x81, 0x00, 0x00,
+ 0x00, 0x01, 0x41, 0x9F, 0x0E, 0x45, 0x15, 0x2C, 0x9F, 0x00, 0x00, 0x03,
+ 0x02, 0xFA, 0xBD, 0x4E, 0x00, 0x04, 0x8D, 0x00, 0x00, 0x00, 0x01, 0x01,
+ 0x9F, 0x2D, 0x74, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00,
+ 0x03, 0xFD, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9F, 0x2F, 0x6A, 0x44, 0x7F,
+ 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x00,
+ 0x01, 0x41, 0x9B, 0x34, 0x49, 0xA8, 0x41, 0x6C, 0x99, 0x4C, 0x08, 0xDF,
+ 0xFA, 0x58, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x00, 0x9D, 0x80,
+ 0x00, 0x00, 0x00, 0x01, 0x41, 0x9F, 0x52, 0x45, 0x15, 0x2C, 0x9F, 0x00,
+ 0x00, 0x03, 0x02, 0xFA, 0xBD, 0x4E, 0x00, 0x04, 0x8D, 0x00, 0x00, 0x00,
+ 0x01, 0x01, 0x9F, 0x71, 0x74, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00,
+ 0x03, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9F, 0x73, 0x6A,
+ 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFC, 0x00,
+ 0x00, 0x00, 0x01, 0x41, 0x9B, 0x78, 0x49, 0xA8, 0x41, 0x6C, 0x99, 0x4C,
+ 0x08, 0xDF, 0xFA, 0x58, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x00,
+ 0x9D, 0x81, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9F, 0x96, 0x45, 0x15, 0x2C,
+ 0x9F, 0x00, 0x00, 0x03, 0x02, 0xFA, 0xBD, 0x4E, 0x00, 0x04, 0x8C, 0x00,
+ 0x00, 0x00, 0x01, 0x01, 0x9F, 0xB5, 0x74, 0x44, 0x7F, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x03, 0x00, 0x03, 0xFD, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9F,
+ 0xB7, 0x6A, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03,
+ 0xFD, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9B, 0xBC, 0x49, 0xA8, 0x41, 0x6C,
+ 0x99, 0x4C, 0x08, 0xDF, 0xFA, 0x58, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x9D, 0x80, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9F, 0xDA, 0x45,
+ 0x15, 0x2C, 0x9F, 0x00, 0x00, 0x03, 0x02, 0xFA, 0xBD, 0x4E, 0x00, 0x04,
+ 0x8D, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9F, 0xF9, 0x74, 0x44, 0x7F, 0x00,
+ 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x00, 0x01,
+ 0x01, 0x9F, 0xFB, 0x6A, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03,
+ 0x00, 0x03, 0xFD, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9B, 0xE0, 0x49, 0xA8,
+ 0x41, 0x6C, 0x99, 0x4C, 0x08, 0xDF, 0xFA, 0x58, 0x00, 0x00, 0x03, 0x00,
+ 0x00, 0x03, 0x00, 0x00, 0x9D, 0x81, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9E,
+ 0x1E, 0x45, 0x15, 0x2C, 0x9F, 0x00, 0x00, 0x03, 0x02, 0xFA, 0xBD, 0x4E,
+ 0x00, 0x04, 0x8C, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9E, 0x3D, 0x74, 0x44,
+ 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFC, 0x00, 0x00,
+ 0x00, 0x01, 0x01, 0x9E, 0x3F, 0x6A, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00,
+ 0x00, 0x03, 0x00, 0x03, 0xFD, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9A, 0x24,
+ 0x49, 0xA8, 0x41, 0x6C, 0x99, 0x4C, 0x08, 0xDF, 0xFA, 0x58, 0x00, 0x00,
+ 0x03, 0x00, 0x00, 0x03, 0x00, 0x00, 0x9D, 0x80, 0x00, 0x00, 0x00, 0x01,
+ 0x41, 0x9E, 0x42, 0x45, 0x15, 0x2C, 0x9F, 0x00, 0x00, 0x03, 0x02, 0xFA,
+ 0xBD, 0x4E, 0x00, 0x04, 0x8D, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9E, 0x61,
+ 0x74, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFC,
+ 0x00, 0x00, 0x00, 0x01, 0x01, 0x9E, 0x63, 0x6A, 0x44, 0x7F, 0x00, 0x00,
+ 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFD, 0x00, 0x00, 0x00, 0x01, 0x41,
+ 0x9A, 0x68, 0x49, 0xA8, 0x41, 0x6C, 0x99, 0x4C, 0x08, 0xDF, 0xFA, 0x58,
+ 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x00, 0x9D, 0x81, 0x00, 0x00,
+ 0x00, 0x01, 0x41, 0x9E, 0x86, 0x45, 0x15, 0x2C, 0x9F, 0x00, 0x00, 0x03,
+ 0x02, 0xFA, 0xBD, 0x4E, 0x00, 0x04, 0x8D, 0x00, 0x00, 0x00, 0x01, 0x01,
+ 0x9E, 0xA5, 0x74, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00,
+ 0x03, 0xFD, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9E, 0xA7, 0x6A, 0x44, 0x7F,
+ 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x00,
+ 0x01, 0x41, 0x9A, 0xAC, 0x49, 0xA8, 0x41, 0x6C, 0x99, 0x4C, 0x08, 0xDF,
+ 0xFA, 0x58, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x00, 0x9D, 0x80,
+ 0x00, 0x00, 0x00, 0x01, 0x41, 0x9E, 0xCA, 0x45, 0x15, 0x2C, 0x9F, 0x00,
+ 0x00, 0x03, 0x02, 0xFA, 0xBD, 0x4E, 0x00, 0x04, 0x8D, 0x00, 0x00, 0x00,
+ 0x01, 0x01, 0x9E, 0xE9, 0x74, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00,
+ 0x03, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9E, 0xEB, 0x6A,
+ 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFC, 0x00,
+ 0x00, 0x00, 0x01, 0x41, 0x9A, 0xF0, 0x49, 0xA8, 0x41, 0x6C, 0x99, 0x4C,
+ 0x08, 0xDF, 0xFA, 0x58, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x00,
+ 0x9D, 0x81, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9F, 0x0E, 0x45, 0x15, 0x2C,
+ 0x9F, 0x00, 0x00, 0x03, 0x02, 0xFA, 0xBD, 0x4E, 0x00, 0x04, 0x8D, 0x00,
+ 0x00, 0x00, 0x01, 0x01, 0x9F, 0x2D, 0x74, 0x44, 0x7F, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x03, 0x00, 0x03, 0xFD, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9F,
+ 0x2F, 0x6A, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03,
+ 0xFC, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9B, 0x34, 0x49, 0xA8, 0x41, 0x6C,
+ 0x99, 0x4C, 0x08, 0xDF, 0xFA, 0x58, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x9D, 0x80, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9F, 0x52, 0x45,
+ 0x15, 0x2C, 0x9F, 0x00, 0x00, 0x03, 0x02, 0xFA, 0xBD, 0x4E, 0x00, 0x04,
+ 0x8D, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9F, 0x71, 0x74, 0x44, 0x7F, 0x00,
+ 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x00, 0x01,
+ 0x01, 0x9F, 0x73, 0x6A, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03,
+ 0x00, 0x03, 0xFC, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9B, 0x78, 0x49, 0xA8,
+ 0x41, 0x6C, 0x99, 0x4C, 0x08, 0xDF, 0xFA, 0x58, 0x00, 0x00, 0x03, 0x00,
+ 0x00, 0x03, 0x00, 0x00, 0x9D, 0x81, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9F,
+ 0x96, 0x45, 0x15, 0x2C, 0x9F, 0x00, 0x00, 0x03, 0x02, 0xFA, 0xBD, 0x4E,
+ 0x00, 0x04, 0x8C, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9F, 0xB5, 0x74, 0x44,
+ 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFD, 0x00, 0x00,
+ 0x00, 0x01, 0x01, 0x9F, 0xB7, 0x6A, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00,
+ 0x00, 0x03, 0x00, 0x03, 0xFD, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9B, 0xBC,
+ 0x49, 0xA8, 0x41, 0x6C, 0x99, 0x4C, 0x08, 0xDF, 0xFA, 0x58, 0x00, 0x00,
+ 0x03, 0x00, 0x00, 0x03, 0x00, 0x00, 0x9D, 0x80, 0x00, 0x00, 0x00, 0x01,
+ 0x41, 0x9F, 0xDA, 0x45, 0x15, 0x2C, 0x9F, 0x00, 0x00, 0x03, 0x02, 0xFA,
+ 0xBD, 0x4E, 0x00, 0x04, 0x8D, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9F, 0xF9,
+ 0x74, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFC,
+ 0x00, 0x00, 0x00, 0x01, 0x01, 0x9F, 0xFB, 0x6A, 0x44, 0x7F, 0x00, 0x00,
+ 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFD, 0x00, 0x00, 0x00, 0x01, 0x41,
+ 0x9B, 0xE0, 0x49, 0xA8, 0x41, 0x6C, 0x99, 0x4C, 0x08, 0xDF, 0xFA, 0x58,
+ 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x00, 0x9D, 0x81, 0x00, 0x00,
+ 0x00, 0x01, 0x41, 0x9E, 0x1E, 0x45, 0x15, 0x2C, 0x9F, 0x00, 0x00, 0x03,
+ 0x02, 0xFA, 0xBD, 0x4E, 0x00, 0x04, 0x8C, 0x00, 0x00, 0x00, 0x01, 0x01,
+ 0x9E, 0x3D, 0x74, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00,
+ 0x03, 0xFC, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9E, 0x3F, 0x6A, 0x44, 0x7F,
+ 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFD, 0x00, 0x00, 0x00,
+ 0x01, 0x41, 0x9A, 0x24, 0x49, 0xA8, 0x41, 0x6C, 0x99, 0x4C, 0x08, 0xDF,
+ 0xFA, 0x58, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x00, 0x9D, 0x80,
+ 0x00, 0x00, 0x00, 0x01, 0x41, 0x9E, 0x42, 0x45, 0x15, 0x2C, 0x9F, 0x00,
+ 0x00, 0x03, 0x02, 0xFA, 0xBD, 0x4E, 0x00, 0x04, 0x8D, 0x00, 0x00, 0x00,
+ 0x01, 0x01, 0x9E, 0x61, 0x74, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00,
+ 0x03, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9E, 0x63, 0x6A,
+ 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFD, 0x00,
+ 0x00, 0x00, 0x01, 0x41, 0x9A, 0x68, 0x49, 0xA8, 0x41, 0x6C, 0x99, 0x4C,
+ 0x08, 0xDF, 0xFA, 0x58, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x00,
+ 0x9D, 0x81, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9E, 0x86, 0x45, 0x15, 0x2C,
+ 0x9F, 0x00, 0x00, 0x03, 0x02, 0xFA, 0xBD, 0x4E, 0x00, 0x04, 0x8D, 0x00,
+ 0x00, 0x00, 0x01, 0x01, 0x9E, 0xA5, 0x74, 0x44, 0x7F, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x03, 0x00, 0x03, 0xFD, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9E,
+ 0xA7, 0x6A, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03,
+ 0xFC, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9A, 0xAC, 0x49, 0xA8, 0x41, 0x6C,
+ 0x99, 0x4C, 0x08, 0xDF, 0xFA, 0x58, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x9D, 0x80, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9E, 0xCA, 0x45,
+ 0x15, 0x2C, 0x9F, 0x00, 0x00, 0x03, 0x02, 0xFA, 0xBD, 0x4E, 0x00, 0x04,
+ 0x8D, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9E, 0xE9, 0x74, 0x44, 0x7F, 0x00,
+ 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x00, 0x01,
+ 0x01, 0x9E, 0xEB, 0x6A, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03,
+ 0x00, 0x03, 0xFC, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9A, 0xF0, 0x49, 0xA8,
+ 0x41, 0x6C, 0x99, 0x4C, 0x08, 0xDF, 0xFA, 0x58, 0x00, 0x00, 0x03, 0x00,
+ 0x00, 0x03, 0x00, 0x00, 0x9D, 0x81, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9F,
+ 0x0E, 0x45, 0x15, 0x2C, 0x9F, 0x00, 0x00, 0x03, 0x02, 0xFA, 0xBD, 0x4E,
+ 0x00, 0x04, 0x8D, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9F, 0x2D, 0x74, 0x44,
+ 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFD, 0x00, 0x00,
+ 0x00, 0x01, 0x01, 0x9F, 0x2F, 0x6A, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00,
+ 0x00, 0x03, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9B, 0x34,
+ 0x49, 0xA8, 0x41, 0x6C, 0x99, 0x4C, 0x08, 0xDF, 0xFA, 0x58, 0x00, 0x00,
+ 0x03, 0x00, 0x00, 0x03, 0x00, 0x00, 0x9D, 0x80, 0x00, 0x00, 0x00, 0x01,
+ 0x41, 0x9F, 0x52, 0x45, 0x15, 0x2C, 0x9F, 0x00, 0x00, 0x03, 0x02, 0xFA,
+ 0xBD, 0x4E, 0x00, 0x04, 0x8D, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9F, 0x71,
+ 0x74, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFC,
+ 0x00, 0x00, 0x00, 0x01, 0x01, 0x9F, 0x73, 0x6A, 0x44, 0x7F, 0x00, 0x00,
+ 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x00, 0x01, 0x41,
+ 0x9B, 0x78, 0x49, 0xA8, 0x41, 0x6C, 0x99, 0x4C, 0x08, 0xDF, 0xFA, 0x58,
+ 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x00, 0x9D, 0x81, 0x00, 0x00,
+ 0x00, 0x01, 0x41, 0x9F, 0x96, 0x45, 0x15, 0x2C, 0x9F, 0x00, 0x00, 0x03,
+ 0x02, 0xFA, 0xBD, 0x4E, 0x00, 0x04, 0x8C, 0x00, 0x00, 0x00, 0x01, 0x01,
+ 0x9F, 0xB5, 0x74, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00,
+ 0x03, 0xFD, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9F, 0xB7, 0x6A, 0x44, 0x7F,
+ 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFD, 0x00, 0x00, 0x00,
+ 0x01, 0x41, 0x9B, 0xBC, 0x49, 0xA8, 0x41, 0x6C, 0x99, 0x4C, 0x08, 0xDF,
+ 0xFA, 0x58, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x00, 0x9D, 0x80,
+ 0x00, 0x00, 0x00, 0x01, 0x41, 0x9F, 0xDA, 0x45, 0x15, 0x2C, 0x9F, 0x00,
+ 0x00, 0x03, 0x02, 0xFA, 0xBD, 0x4E, 0x00, 0x04, 0x8D, 0x00, 0x00, 0x00,
+ 0x01, 0x01, 0x9F, 0xF9, 0x74, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00,
+ 0x03, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9F, 0xFB, 0x6A,
+ 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFD, 0x00,
+ 0x00, 0x00, 0x01, 0x41, 0x9B, 0xE0, 0x49, 0xA8, 0x41, 0x6C, 0x99, 0x4C,
+ 0x08, 0xDF, 0xFA, 0x58, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x00,
+ 0x9D, 0x81, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9E, 0x1E, 0x45, 0x15, 0x2C,
+ 0x9F, 0x00, 0x00, 0x03, 0x02, 0xFA, 0xBD, 0x4E, 0x00, 0x04, 0x8C, 0x00,
+ 0x00, 0x00, 0x01, 0x01, 0x9E, 0x3D, 0x74, 0x44, 0x7F, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x03, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9E,
+ 0x3F, 0x6A, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03,
+ 0xFD, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9A, 0x24, 0x49, 0xA8, 0x41, 0x6C,
+ 0x99, 0x4C, 0x08, 0xDF, 0xFA, 0x58, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x9D, 0x80, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9E, 0x42, 0x45,
+ 0x15, 0x2C, 0x9F, 0x00, 0x00, 0x03, 0x02, 0xFA, 0xBD, 0x4E, 0x00, 0x04,
+ 0x8D, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9E, 0x61, 0x74, 0x44, 0x7F, 0x00,
+ 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x00, 0x01,
+ 0x01, 0x9E, 0x63, 0x6A, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03,
+ 0x00, 0x03, 0xFD, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9A, 0x68, 0x49, 0xA8,
+ 0x41, 0x6C, 0x99, 0x4C, 0x08, 0xDF, 0xFA, 0x58, 0x00, 0x00, 0x03, 0x00,
+ 0x00, 0x03, 0x00, 0x00, 0x9D, 0x81, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9E,
+ 0x86, 0x45, 0x15, 0x2C, 0x9F, 0x00, 0x00, 0x03, 0x02, 0xFA, 0xBD, 0x4E,
+ 0x00, 0x04, 0x8D, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9E, 0xA5, 0x74, 0x44,
+ 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFD, 0x00, 0x00,
+ 0x00, 0x01, 0x01, 0x9E, 0xA7, 0x6A, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00,
+ 0x00, 0x03, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9A, 0xAC,
+ 0x49, 0xA8, 0x41, 0x6C, 0x99, 0x4C, 0x08, 0xDF, 0xFA, 0x58, 0x00, 0x00,
+ 0x03, 0x00, 0x00, 0x03, 0x00, 0x00, 0x9D, 0x80, 0x00, 0x00, 0x00, 0x01,
+ 0x41, 0x9E, 0xCA, 0x45, 0x15, 0x2C, 0x9F, 0x00, 0x00, 0x03, 0x02, 0xFA,
+ 0xBD, 0x4E, 0x00, 0x04, 0x8D, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9E, 0xE9,
+ 0x74, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFC,
+ 0x00, 0x00, 0x00, 0x01, 0x01, 0x9E, 0xEB, 0x6A, 0x44, 0x7F, 0x00, 0x00,
+ 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x00, 0x01, 0x41,
+ 0x9A, 0xF0, 0x49, 0xA8, 0x41, 0x6C, 0x99, 0x4C, 0x08, 0xDF, 0xFA, 0x58,
+ 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x00, 0x9D, 0x81, 0x00, 0x00,
+ 0x00, 0x01, 0x41, 0x9F, 0x0E, 0x45, 0x15, 0x2C, 0x9F, 0x00, 0x00, 0x03,
+ 0x02, 0xFA, 0xBD, 0x4E, 0x00, 0x04, 0x8D, 0x00, 0x00, 0x00, 0x01, 0x01,
+ 0x9F, 0x2D, 0x74, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00,
+ 0x03, 0xFD, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9F, 0x2F, 0x6A, 0x44, 0x7F,
+ 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x00,
+ 0x01, 0x41, 0x9B, 0x34, 0x49, 0xA8, 0x41, 0x6C, 0x99, 0x4C, 0x08, 0xDF,
+ 0xFA, 0x58, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x00, 0x9D, 0x80,
+ 0x00, 0x00, 0x00, 0x01, 0x41, 0x9F, 0x52, 0x45, 0x15, 0x2C, 0x9F, 0x00,
+ 0x00, 0x03, 0x02, 0xFA, 0xBD, 0x4E, 0x00, 0x04, 0x8D, 0x00, 0x00, 0x00,
+ 0x01, 0x01, 0x9F, 0x71, 0x74, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00,
+ 0x03, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9F, 0x73, 0x6A,
+ 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFC, 0x00,
+ 0x00, 0x00, 0x01, 0x41, 0x9B, 0x78, 0x49, 0xA8, 0x41, 0x6C, 0x99, 0x4C,
+ 0x08, 0xDF, 0xFA, 0x58, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x00,
+ 0x9D, 0x81, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9F, 0x96, 0x45, 0x15, 0x2C,
+ 0x9F, 0x00, 0x00, 0x03, 0x02, 0xFA, 0xBD, 0x4E, 0x00, 0x04, 0x8C, 0x00,
+ 0x00, 0x00, 0x01, 0x01, 0x9F, 0xB5, 0x74, 0x44, 0x7F, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x03, 0x00, 0x03, 0xFD, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9F,
+ 0xB7, 0x6A, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03,
+ 0xFD, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9B, 0xBC, 0x49, 0xA8, 0x41, 0x6C,
+ 0x99, 0x4C, 0x08, 0xBF, 0xFA, 0x58, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x9D, 0x80, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9F, 0xDA, 0x45,
+ 0x15, 0x2C, 0x9F, 0x00, 0x00, 0x03, 0x02, 0xFA, 0xBD, 0x4E, 0x00, 0x04,
+ 0x8D, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9F, 0xF9, 0x74, 0x44, 0x7F, 0x00,
+ 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x00, 0x01,
+ 0x01, 0x9F, 0xFB, 0x6A, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03,
+ 0x00, 0x03, 0xFD, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9B, 0xE0, 0x49, 0xA8,
+ 0x41, 0x6C, 0x99, 0x4C, 0x08, 0xBF, 0xFA, 0x58, 0x00, 0x00, 0x03, 0x00,
+ 0x00, 0x03, 0x00, 0x00, 0x9D, 0x81, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9E,
+ 0x1E, 0x45, 0x15, 0x2C, 0x9F, 0x00, 0x00, 0x03, 0x02, 0xFA, 0xBD, 0x4E,
+ 0x00, 0x04, 0x8C, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9E, 0x3D, 0x74, 0x44,
+ 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFC, 0x00, 0x00,
+ 0x00, 0x01, 0x01, 0x9E, 0x3F, 0x6A, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00,
+ 0x00, 0x03, 0x00, 0x03, 0xFD, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9A, 0x24,
+ 0x49, 0xA8, 0x41, 0x6C, 0x99, 0x4C, 0x08, 0xBF, 0xFA, 0x58, 0x00, 0x00,
+ 0x03, 0x00, 0x00, 0x03, 0x00, 0x00, 0x9D, 0x80, 0x00, 0x00, 0x00, 0x01,
+ 0x41, 0x9E, 0x42, 0x45, 0x15, 0x2C, 0x9F, 0x00, 0x00, 0x03, 0x02, 0xFA,
+ 0xBD, 0x4E, 0x00, 0x04, 0x8D, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9E, 0x61,
+ 0x74, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFC,
+ 0x00, 0x00, 0x00, 0x01, 0x01, 0x9E, 0x63, 0x6A, 0x44, 0x7F, 0x00, 0x00,
+ 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFD, 0x00, 0x00, 0x00, 0x01, 0x41,
+ 0x9A, 0x68, 0x49, 0xA8, 0x41, 0x6C, 0x99, 0x4C, 0x08, 0x9F, 0xF3, 0x20,
+ 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x01, 0x81, 0x00, 0x00, 0x00,
+ 0x01, 0x41, 0x9E, 0x86, 0x45, 0x15, 0x2C, 0x9F, 0x00, 0x00, 0x03, 0x02,
+ 0xFA, 0xBD, 0x4E, 0x00, 0x04, 0x8D, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9E,
+ 0xA5, 0x74, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03,
+ 0xFD, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9E, 0xA7, 0x6A, 0x44, 0x7F, 0x00,
+ 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x00, 0x01,
+ 0x41, 0x9A, 0xAC, 0x49, 0xA8, 0x41, 0x6C, 0x99, 0x4C, 0x09, 0xFF, 0xE4,
+ 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x04, 0x9C, 0x00, 0x00,
+ 0x00, 0x01, 0x41, 0x9E, 0xCA, 0x45, 0x15, 0x2C, 0x9F, 0x00, 0x00, 0x03,
+ 0x02, 0xFA, 0xBD, 0x4E, 0x00, 0x04, 0x8D, 0x00, 0x00, 0x00, 0x01, 0x01,
+ 0x9E, 0xE9, 0x74, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00,
+ 0x03, 0xFC, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9E, 0xEB, 0x6A, 0x44, 0x7F,
+ 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x00,
+ 0x01, 0x41, 0x9A, 0xF0, 0x49, 0xA8, 0x41, 0x6C, 0x99, 0x4C, 0x09, 0x7F,
+ 0x87, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x00, 0x11, 0xB1, 0x00,
+ 0x00, 0x00, 0x01, 0x41, 0x9F, 0x0E, 0x45, 0x15, 0x2C, 0x9F, 0x00, 0x00,
+ 0x03, 0x02, 0xFA, 0xBD, 0x4E, 0x00, 0x04, 0x8D, 0x00, 0x00, 0x00, 0x01,
+ 0x01, 0x9F, 0x2D, 0x74, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03,
+ 0x00, 0x03, 0xFD, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9F, 0x2F, 0x6A, 0x44,
+ 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFC, 0x00, 0x00,
+ 0x00, 0x01, 0x41, 0x9B, 0x34, 0x49, 0xA8, 0x41, 0x6C, 0x99, 0x4C, 0x0B,
+ 0xFF, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x20,
+ 0xE0, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9F, 0x52, 0x45, 0x15, 0x2C, 0x9F,
+ 0x00, 0x00, 0x03, 0x02, 0xFA, 0xBD, 0x4E, 0x00, 0x04, 0x8D, 0x00, 0x00,
+ 0x00, 0x01, 0x01, 0x9F, 0x71, 0x74, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00,
+ 0x00, 0x03, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9F, 0x73,
+ 0x6A, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFC,
+ 0x00, 0x00, 0x00, 0x01, 0x41, 0x9B, 0x78, 0x49, 0xA8, 0x41, 0x6C, 0x99,
+ 0x4C, 0x09, 0x3F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03,
+ 0x01, 0xE1, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9F, 0x96, 0x45, 0x15, 0x2C,
+ 0x9F, 0x00, 0x00, 0x03, 0x02, 0xFA, 0xBD, 0x4E, 0x00, 0x04, 0x8C, 0x00,
+ 0x00, 0x00, 0x01, 0x01, 0x9F, 0xB5, 0x74, 0x44, 0x7F, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x03, 0x00, 0x03, 0xFD, 0x00, 0x00, 0x00, 0x01, 0x01, 0x9F,
+ 0xB7, 0x6A, 0x44, 0x7F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03,
+ 0xFD, 0x00, 0x00, 0x00, 0x01, 0x41, 0x9B, 0xB9, 0x49, 0xA8, 0x41, 0x6C,
+ 0x99, 0x4C, 0x08, 0x8F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x00,
+ 0x07, 0x1C
+};
diff --git a/components/drivers/usb/cherryusb/demo/cherryusb_mjpeg.h b/components/drivers/usb/cherryusb/demo/cherryusb_mjpeg.h
new file mode 100644
index 0000000000..ce92b4adc0
--- /dev/null
+++ b/components/drivers/usb/cherryusb/demo/cherryusb_mjpeg.h
@@ -0,0 +1,2067 @@
+const unsigned char cherryusb_mjpeg[24775] = {
+ 0xFF, 0xD8, 0xFF, 0xE0, 0x00, 0x10, 0x4A, 0x46, 0x49, 0x46, 0x00, 0x01,
+ 0x01, 0x02, 0x00, 0x1D, 0x00, 0x1A, 0x00, 0x00, 0xFF, 0xDB, 0x00, 0x43,
+ 0x00, 0x14, 0x0E, 0x0F, 0x12, 0x0F, 0x0D, 0x14, 0x12, 0x10, 0x12, 0x17,
+ 0x15, 0x14, 0x18, 0x1E, 0x32, 0x21, 0x1E, 0x1C, 0x1C, 0x1E, 0x3D, 0x2C,
+ 0x2E, 0x24, 0x32, 0x49, 0x40, 0x4C, 0x4B, 0x47, 0x40, 0x46, 0x45, 0x50,
+ 0x5A, 0x73, 0x62, 0x50, 0x55, 0x6D, 0x56, 0x45, 0x46, 0x64, 0x88, 0x65,
+ 0x6D, 0x77, 0x7B, 0x81, 0x82, 0x81, 0x4E, 0x60, 0x8D, 0x97, 0x8C, 0x7D,
+ 0x96, 0x73, 0x7E, 0x81, 0x7C, 0xFF, 0xDB, 0x00, 0x43, 0x01, 0x15, 0x17,
+ 0x17, 0x1E, 0x1A, 0x1E, 0x3B, 0x21, 0x21, 0x3B, 0x7C, 0x53, 0x46, 0x53,
+ 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C,
+ 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C,
+ 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C,
+ 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C,
+ 0x7C, 0x7C, 0xFF, 0xC0, 0x00, 0x11, 0x08, 0x01, 0xE0, 0x02, 0x80, 0x03,
+ 0x01, 0x22, 0x00, 0x02, 0x11, 0x01, 0x03, 0x11, 0x01, 0xFF, 0xC4, 0x00,
+ 0x1B, 0x00, 0x01, 0x00, 0x01, 0x05, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x01, 0x02, 0x04, 0x05,
+ 0x06, 0x07, 0xFF, 0xC4, 0x00, 0x46, 0x10, 0x00, 0x01, 0x02, 0x02, 0x05,
+ 0x07, 0x08, 0x08, 0x06, 0x02, 0x01, 0x05, 0x01, 0x00, 0x03, 0x00, 0x01,
+ 0x00, 0x02, 0x03, 0x04, 0x05, 0x11, 0x12, 0x15, 0x91, 0x16, 0x21, 0x51,
+ 0x53, 0x54, 0x92, 0xB1, 0x13, 0x14, 0x31, 0x34, 0x52, 0x72, 0x73, 0xA1,
+ 0x06, 0x33, 0x35, 0x41, 0x93, 0xA2, 0xC1, 0xE1, 0x22, 0x32, 0x44, 0x61,
+ 0x71, 0x81, 0x63, 0x82, 0x23, 0x24, 0x42, 0x62, 0x83, 0xD1, 0xF0, 0x43,
+ 0xB2, 0xF1, 0xFF, 0xC4, 0x00, 0x19, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0x02, 0x03, 0x04, 0x05, 0xFF, 0xC4, 0x00, 0x23, 0x11, 0x01, 0x00,
+ 0x02, 0x02, 0x01, 0x04, 0x03, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x11, 0x02, 0x12, 0x51, 0x21, 0x31, 0x32, 0xB1,
+ 0x13, 0x14, 0x61, 0x03, 0x04, 0x41, 0xFF, 0xDA, 0x00, 0x0C, 0x03, 0x01,
+ 0x00, 0x02, 0x11, 0x03, 0x11, 0x00, 0x3F, 0x00, 0xC7, 0x73, 0x8D, 0xA3,
+ 0x9C, 0xF4, 0xAA, 0x5A, 0x76, 0x93, 0x8A, 0x3B, 0xF3, 0x1F, 0xE5, 0x51,
+ 0x79, 0x9F, 0x6A, 0x65, 0x5B, 0x4E, 0xD2, 0x71, 0x4B, 0x4E, 0xD2, 0x71,
+ 0x54, 0x44, 0x2D, 0x5B, 0x4E, 0xD2, 0x71, 0x4B, 0x4E, 0xD2, 0x71, 0x54,
+ 0x44, 0x2D, 0x5B, 0x4E, 0xD2, 0x71, 0x4B, 0x4E, 0xD2, 0x71, 0x54, 0x44,
+ 0x2D, 0x5B, 0x4E, 0xD2, 0x71, 0x4B, 0x4E, 0xD2, 0x71, 0x54, 0x44, 0x2D,
+ 0x5B, 0x4E, 0xD2, 0x71, 0x4B, 0x4E, 0xD2, 0x71, 0x54, 0x44, 0x2D, 0x5B,
+ 0x4E, 0xD2, 0x71, 0x4B, 0x4E, 0xD2, 0x71, 0x54, 0x44, 0x2D, 0x5B, 0x4E,
+ 0xD2, 0x71, 0x4B, 0x4E, 0xD2, 0x71, 0x54, 0x44, 0x2D, 0x5B, 0x4E, 0xD2,
+ 0x71, 0x4B, 0x4E, 0xD2, 0x71, 0x54, 0x44, 0x2D, 0x5B, 0x4E, 0xD2, 0x71,
+ 0x4B, 0x4E, 0xD2, 0x71, 0x54, 0x44, 0x2D, 0x5B, 0x4E, 0xD2, 0x71, 0x4B,
+ 0x4E, 0xD2, 0x71, 0x54, 0x44, 0x2D, 0x5B, 0x4E, 0xD2, 0x71, 0x4B, 0x4E,
+ 0xD2, 0x71, 0x54, 0x44, 0x2D, 0x5B, 0x4E, 0xD2, 0x71, 0x4B, 0x4E, 0xD2,
+ 0x71, 0x54, 0x44, 0x2D, 0x5B, 0x4E, 0xD2, 0x71, 0x4B, 0x4E, 0xD2, 0x71,
+ 0x54, 0x44, 0x2D, 0x5B, 0x4E, 0xD2, 0x71, 0x4B, 0x4E, 0xD2, 0x71, 0x54,
+ 0x44, 0x2D, 0x5B, 0x4E, 0xD2, 0x71, 0x4B, 0x4E, 0xD2, 0x71, 0x54, 0x44,
+ 0x2D, 0x5B, 0x4E, 0xD2, 0x71, 0x4B, 0x4E, 0xD2, 0x71, 0x54, 0x44, 0x2D,
+ 0x5B, 0x4E, 0xD2, 0x71, 0x4B, 0x4E, 0xD2, 0x71, 0x59, 0x8F, 0x64, 0x09,
+ 0x46, 0x43, 0x6C, 0x58, 0x5C, 0xB4, 0x57, 0xB4, 0x39, 0xD5, 0xB8, 0x80,
+ 0xD0, 0x7A, 0x06, 0x6F, 0x7A, 0xAC, 0x28, 0x52, 0xB1, 0xE6, 0xE5, 0x84,
+ 0x30, 0x43, 0x62, 0x1A, 0x9F, 0x0C, 0x93, 0xF8, 0x7F, 0xB5, 0x69, 0x8D,
+ 0xFF, 0x00, 0xEB, 0x0A, 0xD3, 0xB4, 0x9C, 0x52, 0xD3, 0xB4, 0x9C, 0x56,
+ 0x44, 0x49, 0x28, 0xAC, 0x63, 0xDF, 0xF8, 0x08, 0x67, 0xE6, 0x68, 0x70,
+ 0x25, 0xBF, 0xC8, 0x48, 0x72, 0x31, 0x9E, 0xD6, 0x9F, 0xC0, 0xD2, 0xFC,
+ 0xEC, 0x6B, 0x9E, 0x01, 0x77, 0xF0, 0x12, 0x97, 0x78, 0xE5, 0x8F, 0x69,
+ 0xDA, 0x4E, 0x29, 0x69, 0xDA, 0x4E, 0x2A, 0x68, 0x52, 0x71, 0xA2, 0x87,
+ 0x90, 0x03, 0x43, 0x1D, 0x65, 0xC5, 0xC6, 0xAB, 0x27, 0xF7, 0x55, 0xE6,
+ 0x71, 0x44, 0x1E, 0x58, 0xD8, 0x10, 0xC8, 0x24, 0x12, 0xE1, 0x9E, 0xA3,
+ 0x56, 0x6D, 0x3D, 0x09, 0x46, 0xF1, 0xCA, 0x0B, 0x4E, 0xD2, 0x71, 0x4B,
+ 0x4E, 0xD2, 0x71, 0x52, 0xF3, 0x48, 0xBC, 0xE7, 0x9B, 0xD9, 0x1C, 0xA7,
+ 0xF3, 0x9B, 0xA2, 0xBE, 0x9F, 0xE1, 0x5F, 0x16, 0x0B, 0x1B, 0x23, 0x06,
+ 0x28, 0x1F, 0x8D, 0xCE, 0x70, 0x26, 0xBE, 0x9A, 0xAA, 0x4A, 0x37, 0x86,
+ 0x3D, 0xA7, 0x69, 0x38, 0xA5, 0xA7, 0x69, 0x38, 0xAC, 0x86, 0xC1, 0x61,
+ 0xA3, 0xCC, 0x53, 0x99, 0xFC, 0xB0, 0x65, 0x75, 0xFB, 0xAA, 0x59, 0x13,
+ 0x30, 0x60, 0xCA, 0xC5, 0xB0, 0xE9, 0x47, 0xBE, 0x18, 0xAB, 0xFE, 0x52,
+ 0xE3, 0xF8, 0xBF, 0x71, 0xEE, 0x4A, 0x4F, 0x93, 0xAD, 0x35, 0xF6, 0x9D,
+ 0xA4, 0xE2, 0x96, 0x9D, 0xA4, 0xE2, 0xB3, 0xA5, 0xE0, 0x40, 0x26, 0x69,
+ 0xC1, 0xA6, 0x3B, 0x21, 0x80, 0x59, 0xD2, 0x2B, 0xCE, 0xA8, 0xF8, 0x30,
+ 0x9F, 0x29, 0x16, 0x2F, 0x20, 0xE9, 0x77, 0x30, 0x8A, 0xAB, 0x71, 0x21,
+ 0xF5, 0xFB, 0xB3, 0xAB, 0x49, 0xF2, 0x75, 0xA6, 0x15, 0xA7, 0x69, 0x38,
+ 0xA5, 0xA7, 0x69, 0x38, 0xAA, 0x22, 0xCB, 0xA5, 0xAB, 0x69, 0xDA, 0x4E,
+ 0x29, 0x69, 0xDA, 0x4E, 0x2A, 0x88, 0x85, 0xAB, 0x69, 0xDA, 0x4E, 0x29,
+ 0x69, 0xDA, 0x4E, 0x2A, 0x88, 0x85, 0xAB, 0x69, 0xDA, 0x4E, 0x29, 0x69,
+ 0xDA, 0x4E, 0x2A, 0x88, 0x85, 0xAB, 0x69, 0xDA, 0x4E, 0x29, 0x69, 0xDA,
+ 0x4E, 0x2A, 0x88, 0x85, 0xAB, 0x69, 0xDA, 0x4E, 0x29, 0x69, 0xDA, 0x4E,
+ 0x2A, 0x88, 0x85, 0xAB, 0x69, 0xDA, 0x4E, 0x29, 0x69, 0xDA, 0x4E, 0x2A,
+ 0x88, 0x85, 0xAB, 0x69, 0xDA, 0x4E, 0x29, 0x69, 0xDA, 0x4E, 0x2A, 0x88,
+ 0x85, 0xAB, 0x69, 0xDA, 0x4E, 0x29, 0x69, 0xDA, 0x4E, 0x2A, 0x88, 0x85,
+ 0xAB, 0x69, 0xDA, 0x4E, 0x29, 0x69, 0xDA, 0x4E, 0x2A, 0x88, 0x85, 0xAB,
+ 0x69, 0xDA, 0x4E, 0x29, 0x69, 0xDA, 0x4E, 0x2A, 0x88, 0x85, 0xAB, 0x69,
+ 0xDA, 0x4E, 0x29, 0x69, 0xDA, 0x4E, 0x2A, 0x88, 0x85, 0xAB, 0x69, 0xDA,
+ 0x4E, 0x29, 0x69, 0xDA, 0x4E, 0x2A, 0x88, 0x85, 0xAB, 0x69, 0xDA, 0x4E,
+ 0x29, 0x69, 0xDA, 0x4E, 0x2A, 0x88, 0x85, 0xAB, 0x69, 0xDA, 0x4E, 0x29,
+ 0x69, 0xDA, 0x4E, 0x2A, 0x88, 0x85, 0xAB, 0x69, 0xDA, 0x4E, 0x29, 0x69,
+ 0xDA, 0x4E, 0x2A, 0x88, 0x85, 0xAB, 0x69, 0xDA, 0x4E, 0x2A, 0xAD, 0x71,
+ 0xB4, 0x33, 0x9E, 0x95, 0x6A, 0xAB, 0x7F, 0x30, 0xFE, 0x50, 0x89, 0x1D,
+ 0xF9, 0x8F, 0xF2, 0xA8, 0xAA, 0xEF, 0xCC, 0x7F, 0x95, 0x44, 0x24, 0x44,
+ 0x45, 0x50, 0x44, 0x44, 0x04, 0x44, 0x40, 0x44, 0x44, 0x04, 0x44, 0x40,
+ 0x44, 0x44, 0x04, 0x44, 0x40, 0x44, 0x44, 0x04, 0x44, 0x40, 0x44, 0x44,
+ 0x04, 0x44, 0x40, 0x44, 0x44, 0x04, 0x44, 0x40, 0x44, 0x44, 0x04, 0x44,
+ 0x40, 0x44, 0x44, 0x19, 0xD1, 0x9A, 0xC9, 0xD6, 0xC3, 0x88, 0xD8, 0xD0,
+ 0xD9, 0x10, 0x30, 0x35, 0xED, 0x88, 0xEB, 0x39, 0xC7, 0xBC, 0x15, 0x74,
+ 0x13, 0x2D, 0x2D, 0x35, 0x2A, 0x03, 0xDA, 0xE7, 0x35, 0xD5, 0xC5, 0x88,
+ 0x09, 0xB3, 0xFC, 0x05, 0xAF, 0x45, 0x6D, 0x8D, 0x3A, 0x55, 0xF4, 0x65,
+ 0x4B, 0x44, 0x6B, 0x44, 0xD5, 0xA7, 0x00, 0x5F, 0x0C, 0x81, 0x5F, 0xBC,
+ 0xD6, 0x16, 0x5B, 0xA2, 0xB2, 0x3F, 0x25, 0x11, 0xAE, 0x96, 0x68, 0x0C,
+ 0x68, 0x77, 0x29, 0xF9, 0x9A, 0x47, 0xED, 0xEF, 0x5A, 0xA4, 0x4B, 0x27,
+ 0x08, 0x99, 0xB6, 0x74, 0x69, 0x86, 0xC4, 0x96, 0x99, 0xFC, 0x60, 0xB9,
+ 0xF1, 0x83, 0x86, 0x6A, 0xAB, 0x19, 0xF3, 0xD4, 0xA2, 0x98, 0x88, 0xD7,
+ 0x4A, 0x4A, 0xB1, 0xAE, 0xAC, 0xB1, 0xAE, 0xAC, 0x68, 0xAD, 0xC5, 0x63,
+ 0x22, 0x96, 0x46, 0x11, 0x0D, 0x9F, 0x2A, 0xD1, 0x47, 0x09, 0x8F, 0xFF,
+ 0x00, 0x98, 0xB7, 0x90, 0x1F, 0xC6, 0x9C, 0x33, 0x28, 0x59, 0x62, 0x62,
+ 0x45, 0x90, 0x79, 0x56, 0x43, 0x89, 0x0D, 0xE4, 0xD4, 0xF3, 0x50, 0x70,
+ 0x3F, 0xBA, 0xC7, 0x8B, 0x1E, 0x24, 0x60, 0xC0, 0xF2, 0x2A, 0x60, 0xA9,
+ 0xA0, 0x00, 0x00, 0xC1, 0x44, 0xAD, 0xA4, 0x60, 0xCD, 0x88, 0x61, 0x40,
+ 0x93, 0x6C, 0xB9, 0x88, 0xD8, 0xAE, 0x31, 0x43, 0xDD, 0x60, 0xD6, 0x00,
+ 0xAA, 0xAA, 0xAB, 0xD2, 0xA5, 0x60, 0x7C, 0x27, 0xD7, 0x29, 0x3C, 0xC6,
+ 0xC1, 0x26, 0xB0, 0x1C, 0xFA, 0xAA, 0x1F, 0xBB, 0x56, 0xB5, 0x12, 0xD7,
+ 0x46, 0xD1, 0x91, 0xE1, 0x18, 0xF3, 0xA6, 0x04, 0x56, 0xC1, 0x11, 0x00,
+ 0x0C, 0x75, 0x76, 0x73, 0xD7, 0x9F, 0xF8, 0xF7, 0xAB, 0x0C, 0x5B, 0x12,
+ 0xD1, 0x9B, 0x31, 0x34, 0xD9, 0x8B, 0x4D, 0xA9, 0x8C, 0x0E, 0x2E, 0xA8,
+ 0xE9, 0xAC, 0xF4, 0x2D, 0x72, 0x25, 0xA7, 0xC7, 0x02, 0x22, 0x28, 0xE8,
+ 0x22, 0x22, 0x02, 0x22, 0x20, 0x22, 0x22, 0x02, 0x22, 0x20, 0x22, 0x22,
+ 0x02, 0x22, 0x20, 0x22, 0x22, 0x02, 0x22, 0x20, 0x22, 0x22, 0x02, 0x22,
+ 0x20, 0x22, 0x22, 0x02, 0x22, 0x20, 0x22, 0x22, 0x02, 0x22, 0x20, 0x22,
+ 0x22, 0x02, 0xAB, 0x7F, 0x30, 0xFE, 0x55, 0x15, 0x5B, 0xF9, 0x87, 0xF2,
+ 0xA2, 0xC7, 0x76, 0xF2, 0x17, 0xA3, 0xED, 0x8D, 0x09, 0x91, 0x39, 0xC9,
+ 0x16, 0xDA, 0x1D, 0x55, 0x8E, 0x8A, 0xFF, 0x00, 0xB5, 0x7E, 0x4D, 0xB7,
+ 0x6A, 0x3B, 0x9F, 0x75, 0xB7, 0x94, 0xEA, 0x70, 0x7C, 0x36, 0xF0, 0x5A,
+ 0x53, 0x49, 0xCD, 0x57, 0xEB, 0x06, 0xE8, 0x5D, 0x27, 0x5C, 0x7B, 0xBE,
+ 0x66, 0x7F, 0xE9, 0xCF, 0x19, 0xEF, 0xE9, 0x7E, 0x4D, 0xB7, 0x6A, 0x3B,
+ 0x9F, 0x74, 0xC9, 0xB6, 0xED, 0x47, 0x73, 0xEE, 0xAC, 0xBD, 0x26, 0xF5,
+ 0x83, 0x74, 0x25, 0xE9, 0x37, 0xAC, 0x1B, 0xA1, 0x67, 0x6C, 0x38, 0x63,
+ 0xED, 0xE7, 0xCF, 0xA5, 0xF9, 0x36, 0xDD, 0xA8, 0xEE, 0x7D, 0xD3, 0x26,
+ 0xDB, 0xB5, 0x1D, 0xCF, 0xBA, 0xB2, 0xF4, 0x9B, 0xD6, 0x0D, 0xD0, 0x97,
+ 0xA4, 0xDE, 0xB0, 0x6E, 0x84, 0xDB, 0x0E, 0x0F, 0xB7, 0x9F, 0x3E, 0x97,
+ 0xE4, 0xDB, 0x76, 0xA3, 0xB9, 0xF7, 0x4C, 0x9B, 0x6E, 0xD4, 0x77, 0x3E,
+ 0xEA, 0xCB, 0xD2, 0x6F, 0x58, 0x37, 0x42, 0x5E, 0x93, 0x7A, 0xC1, 0xBA,
+ 0x13, 0x6C, 0x38, 0x3E, 0xDE, 0x7C, 0xFA, 0x5F, 0x93, 0x6D, 0xDA, 0x8E,
+ 0xE7, 0xDD, 0x32, 0x6D, 0xBB, 0x51, 0xDC, 0xFB, 0xAB, 0x2F, 0x49, 0xBD,
+ 0x60, 0xDD, 0x09, 0x7A, 0x4D, 0xEB, 0x06, 0xE8, 0x4D, 0xB0, 0xE0, 0xFB,
+ 0x79, 0xF3, 0xE9, 0x7E, 0x4D, 0xB7, 0x6A, 0x3B, 0x9F, 0x74, 0xC9, 0xB6,
+ 0xED, 0x47, 0x73, 0xEE, 0xAC, 0xBD, 0x26, 0xF5, 0x83, 0x74, 0x25, 0xE9,
+ 0x37, 0xAC, 0x1B, 0xA1, 0x36, 0xC3, 0x83, 0xED, 0xE7, 0xCF, 0xA5, 0xF9,
+ 0x36, 0xDD, 0xA8, 0xEE, 0x7D, 0xD3, 0x26, 0xDB, 0xB5, 0x1D, 0xCF, 0xBA,
+ 0xB2, 0xF4, 0x9B, 0xD6, 0x0D, 0xD0, 0x97, 0xA4, 0xDE, 0xB0, 0x6E, 0x84,
+ 0xDB, 0x0E, 0x0F, 0xB7, 0x9F, 0x3E, 0x97, 0xE4, 0xDB, 0x76, 0xA3, 0xB9,
+ 0xF7, 0x4C, 0x9B, 0x6E, 0xD4, 0x77, 0x3E, 0xEA, 0xCB, 0xD2, 0x6F, 0x58,
+ 0x37, 0x42, 0x5E, 0x93, 0x7A, 0xC1, 0xBA, 0x13, 0x6C, 0x38, 0x3E, 0xDE,
+ 0x7C, 0xFA, 0x5F, 0x93, 0x6D, 0xDA, 0x8E, 0xE7, 0xDD, 0x32, 0x6D, 0xBB,
+ 0x51, 0xDC, 0xFB, 0xAB, 0x2F, 0x49, 0xBD, 0x60, 0xDD, 0x09, 0x7A, 0x4D,
+ 0xEB, 0x06, 0xE8, 0x4D, 0xB0, 0xE0, 0xFB, 0x79, 0xF3, 0xE9, 0x7E, 0x4D,
+ 0xB7, 0x6A, 0x3B, 0x9F, 0x74, 0xC9, 0xB6, 0xED, 0x47, 0x73, 0xEE, 0xAC,
+ 0xBD, 0x26, 0xF5, 0x83, 0x74, 0x25, 0xE9, 0x37, 0xAC, 0x1B, 0xA1, 0x36,
+ 0xC3, 0x83, 0xED, 0xE7, 0xCF, 0xA5, 0xF9, 0x36, 0xDD, 0xA8, 0xEE, 0x7D,
+ 0xD3, 0x26, 0xDB, 0xB5, 0x1D, 0xCF, 0xBA, 0xB2, 0xF4, 0x9B, 0xD6, 0x0D,
+ 0xD0, 0x97, 0xA4, 0xDE, 0xB0, 0x6E, 0x84, 0xDB, 0x0E, 0x0F, 0xB7, 0x9F,
+ 0x3E, 0x97, 0xE4, 0xDB, 0x76, 0xA3, 0xB9, 0xF7, 0x4C, 0x9B, 0x6E, 0xD4,
+ 0x77, 0x3E, 0xEA, 0xCB, 0xD2, 0x6F, 0x58, 0x37, 0x42, 0x5E, 0x93, 0x7A,
+ 0xC1, 0xBA, 0x13, 0x6C, 0x38, 0x3E, 0xDE, 0x7C, 0xFA, 0x5F, 0x93, 0x6D,
+ 0xDA, 0x8E, 0xE7, 0xDD, 0x32, 0x6D, 0xBB, 0x51, 0xDC, 0xFB, 0xAB, 0x2F,
+ 0x49, 0xBD, 0x60, 0xDD, 0x09, 0x7A, 0x4D, 0xEB, 0x06, 0xE8, 0x4D, 0xB0,
+ 0xE0, 0xFB, 0x79, 0xF3, 0xE9, 0x7E, 0x4D, 0xB7, 0x6A, 0x3B, 0x9F, 0x74,
+ 0xC9, 0xB6, 0xED, 0x47, 0x73, 0xEE, 0xAC, 0xBD, 0x26, 0xF5, 0x83, 0x74,
+ 0x25, 0xE9, 0x37, 0xAC, 0x1B, 0xA1, 0x36, 0xC3, 0x83, 0xED, 0xE7, 0xCF,
+ 0xA5, 0xF9, 0x36, 0xDD, 0xA8, 0xEE, 0x7D, 0xD3, 0x26, 0xDB, 0xB5, 0x1D,
+ 0xCF, 0xBA, 0xB2, 0xF4, 0x9B, 0xD6, 0x0D, 0xD0, 0x97, 0xA4, 0xDE, 0xB0,
+ 0x6E, 0x84, 0xDB, 0x0E, 0x0F, 0xB7, 0x9F, 0x3E, 0x97, 0xE4, 0xDB, 0x76,
+ 0xA3, 0xB9, 0xF7, 0x4C, 0x9B, 0x6E, 0xD4, 0x77, 0x3E, 0xEA, 0xCB, 0xD2,
+ 0x6F, 0x58, 0x37, 0x42, 0x5E, 0x93, 0x7A, 0xC1, 0xBA, 0x13, 0x6C, 0x38,
+ 0x3E, 0xDE, 0x7C, 0xFA, 0x5F, 0x93, 0x6D, 0xDA, 0x8E, 0xE7, 0xDD, 0x32,
+ 0x6D, 0xBB, 0x51, 0xDC, 0xFB, 0xAB, 0x2F, 0x49, 0xBD, 0x60, 0xDD, 0x09,
+ 0x7A, 0x4D, 0xEB, 0x06, 0xE8, 0x4D, 0xB0, 0xE0, 0xFB, 0x79, 0xF3, 0xE9,
+ 0x7E, 0x4D, 0xB7, 0x6A, 0x3B, 0x9F, 0x74, 0xC9, 0xB6, 0xED, 0x47, 0x73,
+ 0xEE, 0xAC, 0xBD, 0x26, 0xF5, 0x83, 0x74, 0x25, 0xE9, 0x37, 0xAC, 0x1B,
+ 0xA1, 0x36, 0xC3, 0x83, 0xED, 0xE7, 0xCF, 0xA5, 0xF9, 0x36, 0xDD, 0xA8,
+ 0xEE, 0x7D, 0xD3, 0x26, 0xDB, 0xB5, 0x1D, 0xCF, 0xBA, 0xB2, 0xF4, 0x9B,
+ 0xD6, 0x0D, 0xD0, 0x97, 0xA4, 0xDE, 0xB0, 0x6E, 0x84, 0xDB, 0x0E, 0x0F,
+ 0xB7, 0x9F, 0x3E, 0x97, 0xE4, 0xDB, 0x76, 0xA3, 0xB9, 0xF7, 0x4C, 0x9B,
+ 0x6E, 0xD4, 0x77, 0x3E, 0xEA, 0xCB, 0xD2, 0x6F, 0x58, 0x37, 0x42, 0xCE,
+ 0xA2, 0xE6, 0xE3, 0x4C, 0xC4, 0x88, 0x22, 0xB8, 0x10, 0x05, 0x63, 0x30,
+ 0x0A, 0xC4, 0xE1, 0x33, 0x44, 0x7F, 0xAB, 0x39, 0xFF, 0x00, 0xBE, 0x98,
+ 0x99, 0x36, 0xDD, 0xA8, 0xEE, 0x7D, 0xD3, 0x26, 0xDB, 0xB5, 0x1D, 0xCF,
+ 0xBA, 0xC9, 0xA5, 0xA7, 0x23, 0xCA, 0xC4, 0x86, 0x20, 0xB8, 0x34, 0x10,
+ 0x49, 0xCC, 0x0A, 0xD7, 0xDE, 0xD3, 0x9A, 0xC1, 0xBA, 0x17, 0x78, 0xFE,
+ 0x37, 0x16, 0x4F, 0xFA, 0xB3, 0x8F, 0xFB, 0xE9, 0x3E, 0x4D, 0xB7, 0x6A,
+ 0x3B, 0x9F, 0x74, 0xC9, 0xB6, 0xED, 0x47, 0x73, 0xEE, 0xA0, 0xBD, 0xA7,
+ 0x35, 0x83, 0x74, 0x25, 0xED, 0x39, 0xAC, 0x1B, 0xA1, 0x5F, 0x80, 0xFB,
+ 0x79, 0xF3, 0xE9, 0x3E, 0x4D, 0xB7, 0x6A, 0x3B, 0x9F, 0x74, 0xC9, 0xB6,
+ 0xED, 0x47, 0x73, 0xEE, 0xA0, 0xBD, 0xA7, 0x35, 0x83, 0x74, 0x25, 0xED,
+ 0x39, 0xAC, 0x1B, 0xA1, 0x3E, 0x03, 0xED, 0xE7, 0xCF, 0xA4, 0xF9, 0x36,
+ 0xDD, 0xA8, 0xEE, 0x7D, 0xD3, 0x26, 0xDB, 0xB5, 0x1D, 0xCF, 0xBA, 0x82,
+ 0xF6, 0x9C, 0xD6, 0x0D, 0xD0, 0x97, 0xB4, 0xE6, 0xB0, 0x6E, 0x84, 0xF8,
+ 0x0F, 0xB7, 0x9F, 0x3E, 0x93, 0xE4, 0xDB, 0x76, 0xA3, 0xB9, 0xF7, 0x4C,
+ 0x9B, 0x6E, 0xD4, 0x77, 0x3E, 0xEA, 0x0B, 0xDA, 0x73, 0x58, 0x37, 0x42,
+ 0x5E, 0xD3, 0x9A, 0xC1, 0xBA, 0x13, 0xE0, 0x3E, 0xDE, 0x7C, 0xFA, 0x4F,
+ 0x93, 0x6D, 0xDA, 0x8E, 0xE7, 0xDD, 0x32, 0x6D, 0xBB, 0x51, 0xDC, 0xFB,
+ 0xA8, 0x2F, 0x69, 0xCD, 0x60, 0xDD, 0x09, 0x7B, 0x4E, 0x6B, 0x06, 0xE8,
+ 0x4F, 0x80, 0xFB, 0x79, 0xF3, 0xE9, 0x3E, 0x4D, 0xB7, 0x6A, 0x3B, 0x9F,
+ 0x74, 0xC9, 0xB6, 0xED, 0x47, 0x73, 0xEE, 0xA0, 0xBD, 0xA7, 0x35, 0x83,
+ 0x74, 0x25, 0xED, 0x39, 0xAC, 0x1B, 0xA1, 0x3E, 0x03, 0xED, 0xE7, 0xCF,
+ 0xA4, 0xF9, 0x36, 0xDD, 0xA8, 0xEE, 0x7D, 0xD3, 0x26, 0xDB, 0xB5, 0x1D,
+ 0xCF, 0xBA, 0x82, 0xF6, 0x9C, 0xD6, 0x0D, 0xD0, 0x97, 0xB4, 0xE6, 0xB0,
+ 0x6E, 0x84, 0xF8, 0x0F, 0xB7, 0x9F, 0x3E, 0x93, 0xE4, 0xDB, 0x76, 0xA3,
+ 0xB9, 0xF7, 0x4C, 0x9B, 0x6E, 0xD4, 0x77, 0x3E, 0xEA, 0x0B, 0xDA, 0x73,
+ 0x58, 0x37, 0x42, 0x5E, 0xD3, 0x9A, 0xC1, 0xBA, 0x13, 0xE0, 0x3E, 0xDE,
+ 0x7C, 0xFA, 0x4F, 0x93, 0x6D, 0xDA, 0x8E, 0xE7, 0xDD, 0x32, 0x6D, 0xBB,
+ 0x51, 0xDC, 0xFB, 0xA8, 0x2F, 0x69, 0xCD, 0x60, 0xDD, 0x09, 0x7B, 0x4E,
+ 0x6B, 0x06, 0xE8, 0x4F, 0x80, 0xFB, 0x79, 0xF3, 0xE9, 0x3E, 0x4D, 0xB7,
+ 0x6A, 0x3B, 0x9F, 0x74, 0xC9, 0xB6, 0xED, 0x47, 0x73, 0xEE, 0xA0, 0xBD,
+ 0xA7, 0x35, 0x83, 0x74, 0x25, 0xED, 0x39, 0xAC, 0x1B, 0xA1, 0x3E, 0x03,
+ 0xED, 0xE7, 0xCF, 0xA4, 0xF9, 0x36, 0xDD, 0xA8, 0xEE, 0x7D, 0xD3, 0x26,
+ 0xDB, 0xB5, 0x1D, 0xCF, 0xBA, 0x82, 0xF6, 0x9C, 0xD6, 0x0D, 0xD0, 0x97,
+ 0xB4, 0xE6, 0xB0, 0x6E, 0x84, 0xF8, 0x0F, 0xB7, 0x9F, 0x3E, 0x93, 0xE4,
+ 0xDB, 0x76, 0xA3, 0xB9, 0xF7, 0x4C, 0x9B, 0x6E, 0xD4, 0x77, 0x3E, 0xEA,
+ 0x0B, 0xDA, 0x73, 0x58, 0x37, 0x42, 0x5E, 0xD3, 0x9A, 0xC1, 0xBA, 0x13,
+ 0xE0, 0x3E, 0xDE, 0x7C, 0xFA, 0x4F, 0x93, 0x6D, 0xDA, 0x8E, 0xE7, 0xDD,
+ 0x32, 0x6D, 0xBB, 0x51, 0xDC, 0xFB, 0xA8, 0x2F, 0x69, 0xCD, 0x60, 0xDD,
+ 0x09, 0x7B, 0x4E, 0x6B, 0x06, 0xE8, 0x4F, 0x80, 0xFB, 0x79, 0xF3, 0xE9,
+ 0x3E, 0x4D, 0xB7, 0x6A, 0x3B, 0x9F, 0x74, 0xC9, 0xB6, 0xED, 0x47, 0x73,
+ 0xEE, 0xA0, 0xBD, 0xA7, 0x35, 0x83, 0x74, 0x25, 0xED, 0x39, 0xAC, 0x1B,
+ 0xA1, 0x3E, 0x03, 0xED, 0xE7, 0xCF, 0xA4, 0xF9, 0x36, 0xDD, 0xA8, 0xEE,
+ 0x7D, 0xD3, 0x26, 0xDB, 0xB5, 0x1D, 0xCF, 0xBA, 0x82, 0xF6, 0x9C, 0xD6,
+ 0x0D, 0xD0, 0x97, 0xB4, 0xE6, 0xB0, 0x6E, 0x84, 0xF8, 0x0F, 0xB7, 0x9F,
+ 0x3E, 0x93, 0xE4, 0xDB, 0x76, 0xA3, 0xB9, 0xF7, 0x4C, 0x9B, 0x6E, 0xD4,
+ 0x77, 0x3E, 0xEA, 0x0B, 0xDA, 0x73, 0x58, 0x37, 0x42, 0x5E, 0xD3, 0x9A,
+ 0xC1, 0xBA, 0x13, 0xE0, 0x3E, 0xDE, 0x7C, 0xFA, 0x4F, 0x93, 0x6D, 0xDA,
+ 0x8E, 0xE7, 0xDD, 0x32, 0x6D, 0xBB, 0x51, 0xDC, 0xFB, 0xA8, 0x2F, 0x69,
+ 0xCD, 0x60, 0xDD, 0x09, 0x7B, 0x4E, 0x6B, 0x06, 0xE8, 0x4F, 0x80, 0xFB,
+ 0x79, 0xF3, 0xE9, 0x3E, 0x4D, 0xB7, 0x6A, 0x3B, 0x9F, 0x74, 0xC9, 0xB6,
+ 0xED, 0x47, 0x73, 0xEE, 0xA0, 0xBD, 0xA7, 0x35, 0x83, 0x74, 0x25, 0xED,
+ 0x39, 0xAC, 0x1B, 0xA1, 0x3E, 0x03, 0xED, 0xE7, 0xCF, 0xA4, 0xF9, 0x36,
+ 0xDD, 0xA8, 0xEE, 0x7D, 0xD5, 0x91, 0x7D, 0x1F, 0x6C, 0x18, 0x4F, 0x89,
+ 0xCE, 0x49, 0xB0, 0xD2, 0xEA, 0xAC, 0x74, 0xD5, 0xFD, 0xAB, 0x05, 0x2D,
+ 0x39, 0x5F, 0xAC, 0x1B, 0xA1, 0x6F, 0x66, 0xBA, 0x9C, 0x6F, 0x0D, 0xDC,
+ 0x16, 0x32, 0xFE, 0x51, 0x8B, 0x78, 0x7F, 0xA7, 0x3C, 0xA7, 0xBF, 0xA2,
+ 0x57, 0xA9, 0x41, 0xF0, 0xDB, 0xC1, 0x73, 0x47, 0xA4, 0xAE, 0x96, 0x57,
+ 0xA9, 0x41, 0xF0, 0xDB, 0xC1, 0x73, 0x44, 0x1A, 0xCE, 0x65, 0xC7, 0xFA,
+ 0x76, 0x87, 0x9B, 0xFB, 0x79, 0x28, 0x8A, 0xB5, 0x1D, 0x09, 0x51, 0xD0,
+ 0xB9, 0x38, 0xA8, 0x8A, 0xB5, 0x1D, 0x09, 0x51, 0xD0, 0x82, 0x88, 0xAB,
+ 0x51, 0xD0, 0x95, 0x1D, 0x08, 0x28, 0x8A, 0xB5, 0x1D, 0x09, 0x51, 0xD0,
+ 0x82, 0x88, 0xAB, 0x51, 0xD0, 0x95, 0x1D, 0x08, 0x28, 0x8A, 0xB5, 0x1D,
+ 0x09, 0x51, 0xD0, 0x82, 0x88, 0xAB, 0x51, 0xD0, 0x95, 0x1D, 0x08, 0x32,
+ 0x20, 0xB0, 0xC4, 0x95, 0x88, 0xD6, 0x00, 0x5F, 0x68, 0x1A, 0xBD, 0xF5,
+ 0x2C, 0x9A, 0xC7, 0x2B, 0x14, 0x43, 0x6D, 0x79, 0xDA, 0x2B, 0x65, 0x44,
+ 0x8C, 0xDA, 0x0F, 0xB9, 0x6B, 0xAA, 0x3A, 0x12, 0xA3, 0xA1, 0x6A, 0x32,
+ 0xA5, 0xB6, 0xCE, 0x18, 0x0D, 0x6B, 0xC3, 0x6A, 0x77, 0xFC, 0xA7, 0xF2,
+ 0x01, 0xD1, 0x50, 0xD2, 0xB1, 0xE0, 0x86, 0x8A, 0x44, 0x81, 0x64, 0xB6,
+ 0xB7, 0x55, 0x57, 0x47, 0x41, 0x58, 0x95, 0x1D, 0x09, 0x51, 0xD0, 0xAE,
+ 0xC5, 0xB3, 0x84, 0x31, 0x10, 0x43, 0x6C, 0xC5, 0x91, 0x12, 0xB7, 0x66,
+ 0x15, 0x02, 0x45, 0x59, 0xAB, 0xAB, 0xF7, 0x54, 0xE6, 0xF0, 0x5D, 0x10,
+ 0xB3, 0x3B, 0x48, 0x01, 0xC6, 0xB3, 0xD0, 0x3D, 0xE1, 0x61, 0x54, 0x74,
+ 0x25, 0x47, 0x42, 0x9B, 0x7E, 0x16, 0xCC, 0x6C, 0x38, 0x71, 0x21, 0xB0,
+ 0x81, 0x5F, 0xE1, 0x71, 0x6B, 0x2B, 0xE9, 0xCF, 0xD0, 0xAB, 0x0E, 0x5A,
+ 0x09, 0xB5, 0x69, 0xA6, 0xB0, 0xEA, 0x8B, 0x43, 0xAB, 0xB2, 0x2A, 0x58,
+ 0x55, 0x1D, 0x09, 0x51, 0xD0, 0x97, 0xF8, 0x58, 0x7A, 0x73, 0x2A, 0x2A,
+ 0xD4, 0x74, 0x25, 0x47, 0x42, 0xCA, 0x28, 0x8A, 0xB5, 0x1D, 0x09, 0x51,
+ 0xD0, 0x82, 0x88, 0xAB, 0x51, 0xD0, 0x95, 0x1D, 0x08, 0x28, 0x8A, 0xB5,
+ 0x1D, 0x09, 0x51, 0xD0, 0x82, 0x88, 0xAB, 0x51, 0xD0, 0x95, 0x1D, 0x08,
+ 0x28, 0x8A, 0xB5, 0x1D, 0x09, 0x51, 0xD0, 0x82, 0x88, 0xAB, 0x51, 0xD0,
+ 0x95, 0x1D, 0x08, 0x28, 0xB6, 0x74, 0x27, 0xAD, 0x8B, 0xDD, 0x0B, 0x5B,
+ 0x51, 0xD0, 0xB6, 0x74, 0x27, 0xAD, 0x8B, 0xDD, 0x0B, 0x78, 0x79, 0x2E,
+ 0x3D, 0xD1, 0xD3, 0xDE, 0xBA, 0x17, 0x74, 0xF1, 0x5A, 0xA5, 0xB6, 0xA7,
+ 0x87, 0xFC, 0xD0, 0xBB, 0xA7, 0x8A, 0xD5, 0x54, 0x74, 0x2F, 0xA5, 0x87,
+ 0x89, 0x97, 0x75, 0x11, 0x56, 0xA3, 0xA1, 0x2A, 0x3A, 0x16, 0x99, 0x51,
+ 0x15, 0x6A, 0x3A, 0x12, 0xA3, 0xA1, 0x05, 0x11, 0x56, 0xA3, 0xA1, 0x2A,
+ 0x3A, 0x10, 0x51, 0x15, 0x6A, 0x3A, 0x12, 0xA3, 0xA1, 0x05, 0x11, 0x56,
+ 0xA3, 0xA1, 0x2A, 0x3A, 0x10, 0x51, 0x15, 0x6A, 0x3A, 0x12, 0xA3, 0xA1,
+ 0x05, 0x11, 0x56, 0xA3, 0xA1, 0x2A, 0x3A, 0x10, 0x64, 0x49, 0x80, 0xF1,
+ 0x1D, 0x99, 0x8B, 0x9D, 0x0F, 0xF0, 0x8D, 0x26, 0xB0, 0xB2, 0x5A, 0x2C,
+ 0x16, 0x30, 0x30, 0x18, 0x82, 0x08, 0x06, 0xC9, 0x16, 0x81, 0xAF, 0xDD,
+ 0x5F, 0xBD, 0x6B, 0xAA, 0x3A, 0x12, 0xA3, 0xA1, 0x66, 0x62, 0xDA, 0x89,
+ 0xA6, 0xD1, 0x8D, 0x0D, 0x7C, 0x7A, 0xB3, 0xB8, 0xB5, 0x87, 0xF0, 0xB4,
+ 0x07, 0x0F, 0xEB, 0xA2, 0xB5, 0x8F, 0x18, 0x36, 0xF1, 0x87, 0x55, 0x9A,
+ 0x89, 0x6D, 0x63, 0x37, 0xED, 0x5D, 0x7E, 0xEA, 0xD6, 0x1D, 0x47, 0x42,
+ 0x54, 0x74, 0x24, 0x62, 0x5B, 0x60, 0x1B, 0x2E, 0xF1, 0x30, 0xD1, 0x5B,
+ 0x41, 0x8A, 0xD0, 0x49, 0x23, 0x36, 0x73, 0xD0, 0xA9, 0xCD, 0xA1, 0x5B,
+ 0x65, 0xA8, 0x6E, 0x61, 0x2E, 0x70, 0xB0, 0x1D, 0x59, 0x20, 0x0C, 0xC5,
+ 0x60, 0x54, 0x74, 0x25, 0x47, 0x42, 0x6B, 0xFA, 0x5B, 0x3A, 0x2C, 0x18,
+ 0x70, 0xE1, 0x4C, 0x06, 0xB0, 0x12, 0x03, 0x48, 0xCF, 0x59, 0x1A, 0x7F,
+ 0x85, 0x80, 0xAB, 0x51, 0xD0, 0x95, 0x1D, 0x0A, 0xC4, 0x52, 0x4C, 0xA8,
+ 0x8A, 0xB5, 0x1D, 0x09, 0x51, 0xD0, 0xAA, 0x28, 0x8A, 0xB5, 0x1D, 0x09,
+ 0x51, 0xD0, 0x82, 0x88, 0xAB, 0x51, 0xD0, 0x95, 0x1D, 0x08, 0x28, 0x8A,
+ 0xB5, 0x1D, 0x09, 0x51, 0xD0, 0x82, 0x88, 0xAB, 0x51, 0xD0, 0x95, 0x1D,
+ 0x08, 0x28, 0x8A, 0xB5, 0x1D, 0x09, 0x51, 0xD0, 0x82, 0x88, 0xAB, 0x51,
+ 0xD0, 0x95, 0x1D, 0x08, 0x03, 0xA4, 0x2E, 0xA6, 0x6B, 0xA9, 0x46, 0xF0,
+ 0xDD, 0xC1, 0x72, 0xC0, 0x1A, 0xC6, 0x65, 0xD4, 0xCD, 0x75, 0x28, 0xDE,
+ 0x1B, 0xB8, 0x2E, 0x3F, 0xD7, 0xB3, 0xBF, 0xF1, 0xF2, 0x56, 0x57, 0xA9,
+ 0x41, 0xF0, 0xDB, 0xC1, 0x56, 0x00, 0x1C, 0xDE, 0x19, 0x20, 0x7E, 0x41,
+ 0xC1, 0x52, 0x57, 0xA9, 0x41, 0xF0, 0xDB, 0xC1, 0x56, 0x17, 0x55, 0x67,
+ 0x70, 0x70, 0x5C, 0x61, 0xBC, 0xFC, 0xA5, 0x8C, 0x69, 0x5A, 0x3C, 0x1A,
+ 0x8C, 0xD4, 0x20, 0x47, 0xEE, 0x97, 0xB5, 0x1D, 0xB5, 0x41, 0xC5, 0x79,
+ 0xF4, 0x7F, 0x5F, 0x13, 0xBC, 0x78, 0xA8, 0xD5, 0xA6, 0x5E, 0x8B, 0x7B,
+ 0x51, 0xDB, 0x54, 0x1C, 0x52, 0xF6, 0xA3, 0xB6, 0xA8, 0x38, 0xAF, 0x3A,
+ 0x44, 0xA1, 0xE8, 0xB7, 0xB5, 0x1D, 0xB5, 0x41, 0xC5, 0x2F, 0x6A, 0x3B,
+ 0x6A, 0x83, 0x8A, 0xF3, 0xA4, 0x4A, 0x1E, 0x8B, 0x7B, 0x51, 0xDB, 0x54,
+ 0x1C, 0x52, 0xF6, 0xA3, 0xB6, 0xA8, 0x38, 0xAF, 0x3A, 0x44, 0xA1, 0xE8,
+ 0xB7, 0xB5, 0x1D, 0xB5, 0x41, 0xC5, 0x2F, 0x6A, 0x3B, 0x6A, 0x83, 0x8A,
+ 0xF3, 0xA4, 0x4A, 0x1E, 0x8B, 0x7B, 0x51, 0xDB, 0x54, 0x1C, 0x52, 0xF6,
+ 0xA3, 0xB6, 0xA8, 0x38, 0xAF, 0x3A, 0x44, 0xA1, 0xE8, 0xB7, 0xB5, 0x1D,
+ 0xB5, 0x41, 0xC5, 0x2F, 0x6A, 0x3B, 0x6A, 0x83, 0x8A, 0xF3, 0xA4, 0x4A,
+ 0x1E, 0x8B, 0x7B, 0x51, 0xDB, 0x54, 0x1C, 0x52, 0xF6, 0xA3, 0xB6, 0xA8,
+ 0x38, 0xAF, 0x3A, 0x44, 0xA1, 0xE8, 0xB7, 0xB5, 0x1D, 0xB5, 0x41, 0xC5,
+ 0x5F, 0x0A, 0x91, 0x91, 0x8D, 0x11, 0xB0, 0xE1, 0x4C, 0x42, 0x7B, 0xDD,
+ 0x98, 0x00, 0x7A, 0x57, 0x9B, 0xAC, 0xEA, 0x1B, 0x35, 0x27, 0x06, 0xAD,
+ 0x28, 0x3D, 0x06, 0x34, 0x48, 0x50, 0x21, 0x98, 0x91, 0x5C, 0xD6, 0x30,
+ 0x74, 0x93, 0xEE, 0x58, 0xB7, 0xB5, 0x1D, 0xB5, 0x41, 0xC5, 0x43, 0xE9,
+ 0x0F, 0xB1, 0x23, 0xFF, 0x00, 0x03, 0x8A, 0xE0, 0x10, 0x7A, 0x2D, 0xED,
+ 0x47, 0x6D, 0x50, 0x71, 0x4B, 0xDA, 0x8E, 0xDA, 0xA0, 0xE2, 0xBC, 0xE9,
+ 0x12, 0x87, 0xA2, 0xDE, 0xD4, 0x76, 0xD5, 0x07, 0x14, 0xBD, 0xA8, 0xED,
+ 0xAA, 0x0E, 0x2B, 0xCE, 0x91, 0x28, 0x7A, 0x2D, 0xED, 0x47, 0x6D, 0x50,
+ 0x71, 0x4B, 0xDA, 0x8E, 0xDA, 0xA0, 0xE2, 0xBC, 0xE9, 0x12, 0x87, 0xA2,
+ 0xDE, 0xD4, 0x76, 0xD5, 0x07, 0x14, 0xBD, 0xA8, 0xED, 0xAA, 0x0E, 0x2B,
+ 0xCE, 0x91, 0x28, 0x7A, 0x2D, 0xED, 0x47, 0x6D, 0x50, 0x71, 0x4B, 0xDA,
+ 0x8E, 0xDA, 0xA0, 0xE2, 0xBC, 0xE9, 0x12, 0x87, 0xA2, 0xDE, 0xD4, 0x76,
+ 0xD5, 0x07, 0x14, 0xBD, 0xA8, 0xED, 0xAA, 0x0E, 0x2B, 0xCE, 0x91, 0x28,
+ 0x7A, 0x2D, 0xED, 0x47, 0x6D, 0x50, 0x71, 0x4B, 0xDA, 0x8E, 0xDA, 0xA0,
+ 0xE2, 0xBC, 0xE9, 0x12, 0x87, 0xA2, 0xDE, 0xD4, 0x76, 0xD5, 0x07, 0x14,
+ 0xBD, 0xA8, 0xED, 0xAA, 0x0E, 0x2B, 0xCE, 0x91, 0x28, 0x7A, 0x5C, 0xBC,
+ 0xDC, 0xAC, 0xD1, 0x22, 0x5E, 0x2B, 0x22, 0x16, 0xF4, 0xD9, 0xF7, 0x2B,
+ 0xEA, 0x02, 0x67, 0x37, 0x63, 0xEA, 0xB9, 0x4F, 0x43, 0xCF, 0xFD, 0x4C,
+ 0x5F, 0xEB, 0xEA, 0xBA, 0xCF, 0xD4, 0xFF, 0x00, 0xA7, 0xD5, 0x41, 0x4A,
+ 0x81, 0x9A, 0xCE, 0x3F, 0xEC, 0xFA, 0xAB, 0x26, 0x27, 0x25, 0x65, 0x48,
+ 0x13, 0x11, 0x59, 0x0C, 0xBB, 0x38, 0xB5, 0xEF, 0x57, 0xFE, 0xA8, 0xF7,
+ 0x3E, 0xAB, 0x97, 0xF4, 0xD3, 0xD7, 0x4B, 0x77, 0x4F, 0x15, 0xA1, 0xBE,
+ 0xBD, 0xA8, 0xED, 0xAA, 0x0E, 0x29, 0x7B, 0x51, 0xDB, 0x54, 0x1C, 0x57,
+ 0x9D, 0xA2, 0x0F, 0x44, 0xBD, 0xA8, 0xED, 0xAA, 0x0E, 0x29, 0x7B, 0x51,
+ 0xDB, 0x54, 0x1C, 0x57, 0x9D, 0xA2, 0x0F, 0x44, 0xBD, 0xA8, 0xED, 0xAA,
+ 0x0E, 0x29, 0x7B, 0x51, 0xDB, 0x54, 0x1C, 0x57, 0x9D, 0xA2, 0x0F, 0x44,
+ 0xBD, 0xA8, 0xED, 0xAA, 0x0E, 0x29, 0x7B, 0x51, 0xDB, 0x54, 0x1C, 0x57,
+ 0x9D, 0xA2, 0x0F, 0x44, 0xBD, 0xA8, 0xED, 0xAA, 0x0E, 0x29, 0x7B, 0x51,
+ 0xDB, 0x54, 0x1C, 0x57, 0x9D, 0xA2, 0x0F, 0x44, 0xBD, 0xA8, 0xED, 0xAA,
+ 0x0E, 0x29, 0x7B, 0x51, 0xDB, 0x54, 0x1C, 0x57, 0x9D, 0xA2, 0x0F, 0x44,
+ 0xBD, 0xA8, 0xED, 0xAA, 0x0E, 0x29, 0x7B, 0x51, 0xDB, 0x54, 0x1C, 0x57,
+ 0x9D, 0xA2, 0x0F, 0x44, 0xBD, 0xA8, 0xED, 0xAA, 0x0E, 0x29, 0x7B, 0x51,
+ 0xDB, 0x54, 0x1C, 0x57, 0x9D, 0xA2, 0x0F, 0x44, 0xBD, 0xA8, 0xED, 0xAA,
+ 0x0E, 0x2B, 0x2E, 0x0C, 0x48, 0x51, 0xE1, 0x88, 0x90, 0x5C, 0xD7, 0xB0,
+ 0xF4, 0x11, 0xEF, 0x5E, 0x60, 0xBB, 0xFF, 0x00, 0x47, 0x3D, 0x8B, 0x2F,
+ 0xFC, 0x1E, 0x28, 0x32, 0x22, 0xD2, 0x52, 0x30, 0x62, 0x3A, 0x1C, 0x59,
+ 0x88, 0x4D, 0x7B, 0x4D, 0x44, 0x13, 0xD0, 0xAC, 0xBD, 0xA8, 0xED, 0xAA,
+ 0x0E, 0x2B, 0x8C, 0xA7, 0xFD, 0xB3, 0x35, 0xDF, 0x5A, 0xE4, 0x1E, 0x89,
+ 0x7B, 0x51, 0xDB, 0x54, 0x1C, 0x52, 0xF6, 0xA3, 0xB6, 0xA8, 0x38, 0xAF,
+ 0x3B, 0x44, 0x1E, 0x89, 0x7B, 0x51, 0xDB, 0x54, 0x1C, 0x52, 0xF6, 0xA3,
+ 0xB6, 0xA8, 0x38, 0xAF, 0x3B, 0x44, 0x1E, 0x89, 0x7B, 0x51, 0xDB, 0x54,
+ 0x1C, 0x52, 0xF6, 0xA3, 0xB6, 0xA8, 0x38, 0xAF, 0x3B, 0x44, 0x1E, 0x89,
+ 0x7B, 0x51, 0xDB, 0x54, 0x1C, 0x52, 0xF6, 0xA3, 0xB6, 0xA8, 0x38, 0xAF,
+ 0x3B, 0x44, 0x1E, 0x89, 0x7B, 0x51, 0xDB, 0x54, 0x1C, 0x52, 0xF6, 0xA3,
+ 0xB6, 0xA8, 0x38, 0xAF, 0x3B, 0x44, 0x1E, 0x89, 0x7B, 0x51, 0xDB, 0x54,
+ 0x1C, 0x52, 0xF6, 0xA3, 0xB6, 0xA8, 0x38, 0xAF, 0x3B, 0x44, 0x1E, 0x89,
+ 0x7B, 0x51, 0xDB, 0x54, 0x1C, 0x52, 0xF6, 0xA3, 0xB6, 0xA8, 0x38, 0xAF,
+ 0x3B, 0x44, 0x1E, 0x89, 0x7B, 0x51, 0xDB, 0x54, 0x1C, 0x55, 0x45, 0x2D,
+ 0x47, 0x13, 0x50, 0x9A, 0x84, 0x4F, 0xF2, 0xBC, 0xE9, 0x5F, 0x03, 0xD7,
+ 0x43, 0xEF, 0x0E, 0x28, 0x3D, 0x2E, 0x60, 0x0E, 0x6D, 0x10, 0x80, 0x3F,
+ 0x21, 0xE0, 0xAD, 0x9A, 0xEA, 0x51, 0xBC, 0x37, 0x70, 0x55, 0x8D, 0xD5,
+ 0x1F, 0xE1, 0x9E, 0x0A, 0x93, 0x5D, 0x4A, 0x37, 0x86, 0xEE, 0x0A, 0x4F,
+ 0x66, 0xB0, 0xF2, 0x85, 0x65, 0x7A, 0x94, 0x1F, 0x0D, 0xBC, 0x15, 0x61,
+ 0x75, 0x56, 0x77, 0x07, 0x05, 0x49, 0x5E, 0xA5, 0x07, 0xC3, 0x6F, 0x05,
+ 0x58, 0x5D, 0x55, 0x9D, 0xC1, 0xC1, 0x48, 0x33, 0xF2, 0x97, 0x9A, 0xC7,
+ 0xF5, 0xF1, 0x3B, 0xC7, 0x8A, 0x8D, 0x49, 0x1F, 0xD7, 0xC4, 0xEF, 0x1E,
+ 0x2A, 0x35, 0xA8, 0x64, 0x44, 0x44, 0x51, 0x3A, 0x3A, 0x11, 0x10, 0x6D,
+ 0xB9, 0x48, 0x6D, 0x73, 0x26, 0x1A, 0xE6, 0xDA, 0x9A, 0x7B, 0x2D, 0x0E,
+ 0xCD, 0x46, 0xB7, 0xD7, 0xA2, 0xB2, 0x07, 0xF4, 0xA4, 0x74, 0x48, 0x82,
+ 0x7A, 0x1B, 0x9E, 0xE8, 0xD6, 0x04, 0x5A, 0xC1, 0x89, 0x18, 0x39, 0xBE,
+ 0xFA, 0xAA, 0x0B, 0x4A, 0x88, 0x37, 0x32, 0x86, 0x09, 0x10, 0xE3, 0x30,
+ 0xB1, 0x9C, 0xA4, 0xCC, 0x32, 0xE6, 0x57, 0x55, 0x82, 0x03, 0xAB, 0xFE,
+ 0xB3, 0x8E, 0x1E, 0xE5, 0x64, 0x17, 0x1A, 0x99, 0x78, 0x3D, 0xAE, 0x89,
+ 0xCA, 0x8E, 0x4C, 0xC4, 0x70, 0x71, 0x02, 0xA3, 0xD3, 0xFB, 0x57, 0x67,
+ 0xA7, 0xF7, 0x5A, 0x94, 0x41, 0xB6, 0x82, 0x63, 0x0E, 0xBE, 0xFA, 0xFF,
+ 0x00, 0xE4, 0x67, 0x27, 0x6D, 0xC0, 0x90, 0x6D, 0x0A, 0xEA, 0xFD, 0xAA,
+ 0xAF, 0xF6, 0xE8, 0x56, 0x4D, 0x47, 0x6C, 0x69, 0x69, 0x90, 0x22, 0x44,
+ 0x79, 0x6C, 0x40, 0x47, 0x2A, 0xEB, 0x55, 0x0A, 0xCF, 0xE5, 0xD1, 0xEE,
+ 0x5A, 0xC4, 0x40, 0x44, 0x44, 0x04, 0x44, 0x40, 0x59, 0xB4, 0x3F, 0xB4,
+ 0xA0, 0xFF, 0x00, 0x2B, 0x09, 0x66, 0xD0, 0xFE, 0xD2, 0x83, 0xFC, 0xA9,
+ 0x3D, 0x91, 0xD9, 0x7A, 0x43, 0xEC, 0x48, 0xFD, 0xD0, 0xB8, 0x05, 0xDF,
+ 0xFA, 0x43, 0xEC, 0x48, 0xFD, 0xD0, 0xB8, 0x04, 0x80, 0x44, 0x45, 0x54,
+ 0x44, 0x44, 0x04, 0x44, 0x41, 0xB4, 0x97, 0x74, 0x6E, 0x6D, 0x29, 0xC9,
+ 0x44, 0x0D, 0x86, 0x0B, 0xB9, 0x40, 0xE7, 0x80, 0xDF, 0xCD, 0xEF, 0x07,
+ 0xA7, 0x32, 0x46, 0x9A, 0x87, 0x0A, 0x56, 0x1B, 0x60, 0x44, 0x8C, 0xD6,
+ 0x92, 0xFB, 0x22, 0x1C, 0x4B, 0x22, 0xAB, 0x46, 0xAA, 0xC2, 0xD5, 0xA2,
+ 0x0D, 0xA0, 0x6F, 0xFD, 0x43, 0x26, 0x3F, 0x0F, 0x22, 0x25, 0x80, 0x2E,
+ 0xAC, 0x55, 0x58, 0x87, 0x55, 0x5F, 0xCD, 0x6B, 0x56, 0x88, 0x80, 0x88,
+ 0x88, 0x08, 0x88, 0x80, 0x88, 0x88, 0x3A, 0x2F, 0x44, 0x3A, 0xD4, 0x4F,
+ 0xEB, 0xEA, 0xBA, 0xDF, 0xD4, 0xFF, 0x00, 0xA7, 0xD5, 0x72, 0x5E, 0x88,
+ 0x75, 0xA8, 0x9F, 0xD7, 0xD5, 0x75, 0xBF, 0xA9, 0xFF, 0x00, 0x4F, 0xAA,
+ 0xCA, 0x29, 0xFA, 0xA3, 0xDC, 0xFA, 0xAE, 0x5F, 0xD3, 0x4F, 0x5D, 0x2D,
+ 0xDD, 0x3C, 0x57, 0x51, 0xFA, 0xA3, 0xDC, 0xFA, 0xAE, 0x5F, 0xD3, 0x4F,
+ 0x5D, 0x2D, 0xDD, 0x3C, 0x56, 0x87, 0x32, 0x88, 0x88, 0xA2, 0x22, 0x20,
+ 0x2C, 0xC9, 0x16, 0xB2, 0x61, 0x8F, 0x95, 0x88, 0xF6, 0xB0, 0x38, 0x87,
+ 0xB5, 0xCE, 0xF7, 0x11, 0xD3, 0xE4, 0x4E, 0x01, 0x61, 0xA2, 0x0D, 0xCB,
+ 0x26, 0x1D, 0x1A, 0x58, 0xBE, 0x0F, 0x2C, 0xDA, 0xE3, 0xBA, 0xA6, 0xC2,
+ 0x8A, 0x18, 0x43, 0x6C, 0xB4, 0x00, 0x74, 0xF4, 0x2B, 0x18, 0xE8, 0x71,
+ 0x21, 0xCB, 0x40, 0x8A, 0x5A, 0xD7, 0xD6, 0xE7, 0x35, 0xEE, 0x39, 0xC3,
+ 0xAD, 0x9C, 0xCE, 0x3F, 0xBF, 0xFF, 0x00, 0x16, 0xA5, 0x10, 0x6E, 0x5E,
+ 0xE8, 0xD5, 0xC2, 0xE4, 0x22, 0x34, 0x42, 0xE5, 0x5F, 0x6C, 0x17, 0x80,
+ 0xDA, 0xAD, 0x7B, 0xC7, 0xBF, 0x32, 0x89, 0xC6, 0x21, 0x64, 0x3B, 0xB5,
+ 0xD6, 0x61, 0xD6, 0xEB, 0x60, 0x38, 0x03, 0x5D, 0xA3, 0x55, 0xAF, 0xDA,
+ 0xCD, 0x9E, 0x9C, 0xDD, 0x2B, 0x56, 0x88, 0x37, 0x11, 0x26, 0x60, 0x41,
+ 0x84, 0x79, 0x28, 0xB1, 0x18, 0xD3, 0x30, 0xF3, 0x54, 0x07, 0x59, 0xAC,
+ 0x54, 0xCF, 0x2A, 0xEB, 0xA9, 0x6B, 0xA7, 0x80, 0x13, 0xD3, 0x15, 0x59,
+ 0xAB, 0x94, 0x75, 0x56, 0x7A, 0x2A, 0xAF, 0xDC, 0xA0, 0x44, 0x04, 0x44,
+ 0x40, 0x44, 0x44, 0x05, 0xDF, 0xFA, 0x39, 0xEC, 0x59, 0x7F, 0xE0, 0xF1,
+ 0x5C, 0x02, 0xEF, 0xFD, 0x1C, 0xF6, 0x2C, 0xBF, 0xF0, 0x78, 0xA2, 0x39,
+ 0x1A, 0x7F, 0xDB, 0x33, 0x5D, 0xF5, 0xAE, 0x5B, 0x1A, 0x7F, 0xDB, 0x33,
+ 0x5D, 0xF5, 0xAE, 0x54, 0x81, 0x11, 0x14, 0x51, 0x11, 0x10, 0x16, 0x55,
+ 0x1E, 0x58, 0x22, 0xC5, 0xE5, 0x3F, 0x2F, 0x24, 0xFF, 0x00, 0x7D, 0x44,
+ 0xE6, 0x58, 0xA8, 0x83, 0x6B, 0x05, 0xD0, 0x5D, 0x2D, 0x0D, 0x90, 0xBF,
+ 0x09, 0x70, 0x8C, 0xD0, 0x1E, 0xE0, 0x4D, 0x65, 0xAD, 0xAB, 0x42, 0xBE,
+ 0x4C, 0x18, 0x30, 0xE1, 0xC3, 0x7D, 0x6D, 0x8A, 0x1B, 0x14, 0xD4, 0xD7,
+ 0x00, 0xE1, 0x58, 0x6D, 0x59, 0xFD, 0xC7, 0x31, 0x5A, 0x74, 0x41, 0x9D,
+ 0x49, 0x90, 0xE3, 0x00, 0x92, 0x6D, 0xD8, 0xA9, 0xC1, 0xCE, 0x0E, 0x77,
+ 0x49, 0xE9, 0x23, 0xA5, 0x60, 0xA2, 0x20, 0x22, 0x22, 0x02, 0x22, 0x20,
+ 0x2B, 0xE0, 0x7A, 0xE8, 0x7D, 0xE1, 0xC5, 0x58, 0xAF, 0x81, 0xEB, 0xA1,
+ 0xF7, 0x87, 0x14, 0x47, 0xA5, 0x46, 0xEA, 0x8F, 0xF0, 0xCF, 0x05, 0x49,
+ 0xAE, 0xA5, 0x1B, 0xC3, 0x77, 0x05, 0x58, 0xDD, 0x51, 0xFE, 0x19, 0xE0,
+ 0xA9, 0x35, 0xD4, 0xA3, 0x78, 0x6E, 0xE0, 0xA4, 0xF6, 0x6B, 0x0F, 0x28,
+ 0x56, 0x57, 0xA9, 0x41, 0xF0, 0xDB, 0xC1, 0x5D, 0x04, 0x57, 0x2F, 0x0C,
+ 0x69, 0x60, 0xE0, 0xAD, 0x95, 0xEA, 0x50, 0x7C, 0x36, 0xF0, 0x55, 0x83,
+ 0x9A, 0x59, 0x9D, 0xC1, 0xC1, 0x48, 0x33, 0xF2, 0x97, 0x3F, 0x17, 0xD1,
+ 0x58, 0x4E, 0x88, 0xE7, 0x07, 0x3C, 0x82, 0x49, 0xFC, 0xC1, 0x5B, 0x92,
+ 0x90, 0xF4, 0xBF, 0x78, 0x2D, 0x5C, 0x5F, 0x48, 0xA9, 0x26, 0xC5, 0x7B,
+ 0x44, 0x71, 0x50, 0x71, 0x03, 0xF0, 0x85, 0x6E, 0x52, 0x52, 0x7A, 0xF1,
+ 0xBA, 0x11, 0x96, 0xDB, 0x25, 0x21, 0xE9, 0x7E, 0xF0, 0x4C, 0x94, 0x87,
+ 0xA5, 0xFB, 0xC1, 0x6A, 0x72, 0x92, 0x93, 0xD7, 0x8D, 0xD0, 0x99, 0x49,
+ 0x49, 0xEB, 0xC6, 0xE8, 0x54, 0x6D, 0xB2, 0x52, 0x1E, 0x97, 0xEF, 0x04,
+ 0xC9, 0x48, 0x7A, 0x5F, 0xBC, 0x16, 0xA7, 0x29, 0x29, 0x3D, 0x78, 0xDD,
+ 0x09, 0x94, 0x94, 0x9E, 0xBC, 0x6E, 0x84, 0x1B, 0x6C, 0x94, 0x87, 0xA5,
+ 0xFB, 0xC1, 0x32, 0x52, 0x1E, 0x97, 0xEF, 0x05, 0xA9, 0xCA, 0x4A, 0x4F,
+ 0x5E, 0x37, 0x42, 0x65, 0x25, 0x27, 0xAF, 0x1B, 0xA1, 0x06, 0xDB, 0x25,
+ 0x21, 0xE9, 0x7E, 0xF0, 0x4C, 0x94, 0x87, 0xA5, 0xFB, 0xC1, 0x6A, 0x72,
+ 0x92, 0x93, 0xD7, 0x8D, 0xD0, 0x99, 0x49, 0x49, 0xEB, 0xC6, 0xE8, 0x41,
+ 0xB6, 0xC9, 0x48, 0x7A, 0x5F, 0xBC, 0x13, 0x25, 0x21, 0xE9, 0x7E, 0xF0,
+ 0x5A, 0x9C, 0xA4, 0xA4, 0xF5, 0xE3, 0x74, 0x26, 0x52, 0x52, 0x7A, 0xF1,
+ 0xBA, 0x10, 0x6D, 0xB2, 0x52, 0x1E, 0x97, 0xEF, 0x04, 0xC9, 0x48, 0x7A,
+ 0x5F, 0xBC, 0x16, 0xA7, 0x29, 0x29, 0x3D, 0x78, 0xDD, 0x09, 0x94, 0x94,
+ 0x9E, 0xBC, 0x6E, 0x84, 0x1B, 0x6C, 0x94, 0x87, 0xA5, 0xFB, 0xC1, 0x32,
+ 0x52, 0x1E, 0x97, 0xEF, 0x05, 0xA9, 0xCA, 0x4A, 0x4F, 0x5E, 0x37, 0x42,
+ 0x65, 0x25, 0x27, 0xAF, 0x1B, 0xA1, 0x06, 0xDB, 0x25, 0x21, 0xE9, 0x7E,
+ 0xF0, 0x52, 0xCB, 0x7A, 0x36, 0xD9, 0x68, 0xED, 0x8A, 0xC2, 0xEB, 0x4D,
+ 0xE8, 0xAD, 0xC1, 0x69, 0x32, 0x92, 0x93, 0xD7, 0x8D, 0xD0, 0xB2, 0xA8,
+ 0xCA, 0x7A, 0x7E, 0x3C, 0xFC, 0x28, 0x71, 0x62, 0x87, 0x30, 0x9C, 0xE2,
+ 0xC8, 0x15, 0xA8, 0x3A, 0xA9, 0xE9, 0x46, 0xCE, 0xC9, 0xBE, 0x5D, 0xE4,
+ 0x80, 0xE1, 0xEE, 0x5A, 0x1C, 0x94, 0x87, 0xA5, 0xFB, 0xC1, 0x6E, 0x29,
+ 0x99, 0x88, 0x92, 0xB4, 0x5C, 0x58, 0xD0, 0x5D, 0x65, 0xED, 0x00, 0x82,
+ 0xB9, 0x1C, 0xA4, 0xA4, 0xF5, 0xE3, 0x74, 0x20, 0xDB, 0x64, 0xA4, 0x3D,
+ 0x2F, 0xDE, 0x09, 0x92, 0x90, 0xF4, 0xBF, 0x78, 0x2D, 0x4E, 0x52, 0x52,
+ 0x7A, 0xF1, 0xBA, 0x13, 0x29, 0x29, 0x3D, 0x78, 0xDD, 0x0A, 0x8D, 0xB6,
+ 0x4A, 0x43, 0xD2, 0xFD, 0xE0, 0x99, 0x29, 0x0F, 0x4B, 0xF7, 0x82, 0xD4,
+ 0xE5, 0x25, 0x27, 0xAF, 0x1B, 0xA1, 0x32, 0x92, 0x93, 0xD7, 0x8D, 0xD0,
+ 0x83, 0x6D, 0x92, 0x90, 0xF4, 0xBF, 0x78, 0x26, 0x4A, 0x43, 0xD2, 0xFD,
+ 0xE0, 0xB5, 0x39, 0x49, 0x49, 0xEB, 0xC6, 0xE8, 0x4C, 0xA4, 0xA4, 0xF5,
+ 0xE3, 0x74, 0x20, 0xDB, 0x64, 0xA4, 0x3D, 0x2F, 0xDE, 0x09, 0x92, 0x90,
+ 0xF4, 0xBF, 0x78, 0x2D, 0x4E, 0x52, 0x52, 0x7A, 0xF1, 0xBA, 0x13, 0x29,
+ 0x29, 0x3D, 0x78, 0xDD, 0x08, 0x36, 0xD9, 0x29, 0x0F, 0x4B, 0xF7, 0x82,
+ 0x64, 0xA4, 0x3D, 0x2F, 0xDE, 0x0B, 0x53, 0x94, 0x94, 0x9E, 0xBC, 0x6E,
+ 0x84, 0xCA, 0x4A, 0x4F, 0x5E, 0x37, 0x42, 0x0D, 0xB6, 0x4A, 0x43, 0xD2,
+ 0xFD, 0xE0, 0x99, 0x29, 0x0F, 0x4B, 0xF7, 0x82, 0xD4, 0xE5, 0x25, 0x27,
+ 0xAF, 0x1B, 0xA1, 0x32, 0x92, 0x93, 0xD7, 0x8D, 0xD0, 0x83, 0x6D, 0x92,
+ 0x90, 0xF4, 0xBF, 0x78, 0x26, 0x4A, 0x43, 0xD2, 0xFD, 0xE0, 0xB5, 0x39,
+ 0x49, 0x49, 0xEB, 0xC6, 0xE8, 0x4C, 0xA4, 0xA4, 0xF5, 0xE3, 0x74, 0x20,
+ 0xDB, 0x64, 0xA4, 0x3D, 0x2F, 0xDE, 0x09, 0x92, 0x90, 0xF4, 0xBF, 0x78,
+ 0x2D, 0x4E, 0x52, 0x52, 0x7A, 0xF1, 0xBA, 0x13, 0x29, 0x29, 0x3D, 0x78,
+ 0xDD, 0x08, 0x3A, 0x5A, 0x2A, 0x86, 0x14, 0x74, 0x72, 0xF6, 0x56, 0x43,
+ 0xBA, 0x6B, 0x35, 0xAD, 0xA7, 0xEA, 0x7F, 0xD3, 0xEA, 0xB4, 0x1E, 0x8D,
+ 0xD2, 0xB3, 0x53, 0xD1, 0xE2, 0x36, 0x65, 0xF6, 0xC0, 0x02, 0xAC, 0xD5,
+ 0x54, 0xB7, 0xFF, 0x00, 0xA9, 0xFF, 0x00, 0x4F, 0xAA, 0x82, 0x9F, 0xAA,
+ 0x3D, 0xCF, 0xAA, 0xC2, 0xA5, 0x28, 0x68, 0x34, 0xA3, 0xE1, 0xBA, 0x33,
+ 0xDE, 0xDB, 0x02, 0xA1, 0x65, 0x66, 0xFE, 0xA8, 0xF7, 0x3E, 0xAB, 0x45,
+ 0xE9, 0x35, 0x27, 0x35, 0x21, 0x16, 0x00, 0x96, 0x89, 0x60, 0x39, 0xA6,
+ 0xBC, 0xC0, 0xAD, 0x0B, 0xB2, 0x46, 0x4F, 0x5D, 0x1B, 0xC9, 0x32, 0x46,
+ 0x4F, 0x5D, 0x1B, 0xC9, 0x68, 0x72, 0x8E, 0x93, 0xD7, 0xFC, 0xA1, 0x32,
+ 0x8E, 0x93, 0xD7, 0xFC, 0xA1, 0x51, 0xBE, 0xC9, 0x19, 0x3D, 0x74, 0x6F,
+ 0x24, 0xC9, 0x19, 0x3D, 0x74, 0x6F, 0x25, 0xA1, 0xCA, 0x3A, 0x4F, 0x5F,
+ 0xF2, 0x84, 0xCA, 0x3A, 0x4F, 0x5F, 0xF2, 0x84, 0x1B, 0xEC, 0x91, 0x93,
+ 0xD7, 0x46, 0xF2, 0x4C, 0x91, 0x93, 0xD7, 0x46, 0xF2, 0x5A, 0x1C, 0xA3,
+ 0xA4, 0xF5, 0xFF, 0x00, 0x28, 0x4C, 0xA3, 0xA4, 0xF5, 0xFF, 0x00, 0x28,
+ 0x41, 0xBE, 0xC9, 0x19, 0x3D, 0x74, 0x6F, 0x24, 0xC9, 0x19, 0x3D, 0x74,
+ 0x6F, 0x25, 0xA1, 0xCA, 0x3A, 0x4F, 0x5F, 0xF2, 0x84, 0xCA, 0x3A, 0x4F,
+ 0x5F, 0xF2, 0x84, 0x1B, 0xEC, 0x91, 0x93, 0xD7, 0x46, 0xF2, 0x4C, 0x91,
+ 0x93, 0xD7, 0x46, 0xF2, 0x5A, 0x1C, 0xA3, 0xA4, 0xF5, 0xFF, 0x00, 0x28,
+ 0x4C, 0xA3, 0xA4, 0xF5, 0xFF, 0x00, 0x28, 0x41, 0xBE, 0xC9, 0x19, 0x3D,
+ 0x74, 0x6F, 0x24, 0xC9, 0x19, 0x3D, 0x74, 0x6F, 0x25, 0xA1, 0xCA, 0x3A,
+ 0x4F, 0x5F, 0xF2, 0x84, 0xCA, 0x3A, 0x4F, 0x5F, 0xF2, 0x84, 0x1B, 0xEC,
+ 0x91, 0x93, 0xD7, 0x46, 0xF2, 0x4C, 0x91, 0x93, 0xD7, 0x46, 0xF2, 0x5A,
+ 0x1C, 0xA3, 0xA4, 0xF5, 0xFF, 0x00, 0x28, 0x4C, 0xA3, 0xA4, 0xF5, 0xFF,
+ 0x00, 0x28, 0x41, 0xBE, 0xC9, 0x19, 0x3D, 0x74, 0x6F, 0x24, 0xC9, 0x19,
+ 0x3D, 0x74, 0x6F, 0x25, 0xA1, 0xCA, 0x3A, 0x4F, 0x5F, 0xF2, 0x84, 0xCA,
+ 0x3A, 0x4F, 0x5F, 0xF2, 0x84, 0x1B, 0xEC, 0x91, 0x93, 0xD7, 0x46, 0xF2,
+ 0x5B, 0x89, 0x19, 0x46, 0x48, 0xCA, 0xB2, 0x5E, 0x1B, 0x8B, 0x9A, 0xCE,
+ 0x82, 0x7A, 0x57, 0x13, 0x94, 0x74, 0x9E, 0xBF, 0xE5, 0x0B, 0xAF, 0xA1,
+ 0x26, 0x22, 0xCD, 0x51, 0x90, 0x63, 0x46, 0x75, 0xA7, 0xBA, 0xBA, 0xCF,
+ 0xF6, 0xA0, 0xC4, 0x9C, 0xF4, 0x6A, 0x56, 0x72, 0x6A, 0x24, 0x78, 0x91,
+ 0x62, 0x07, 0x3C, 0xD6, 0x40, 0xAA, 0xA5, 0x0E, 0x48, 0xC9, 0xEB, 0xA3,
+ 0x79, 0x2D, 0x75, 0x2F, 0x4E, 0x4F, 0xCB, 0x52, 0x51, 0xE0, 0xC2, 0x8D,
+ 0x53, 0x1A, 0xEA, 0x80, 0xB2, 0x16, 0x16, 0x51, 0xD2, 0x7A, 0xFF, 0x00,
+ 0x94, 0x2A, 0x37, 0xD9, 0x23, 0x27, 0xAE, 0x8D, 0xE4, 0x99, 0x23, 0x27,
+ 0xAE, 0x8D, 0xE4, 0xB4, 0x39, 0x47, 0x49, 0xEB, 0xFE, 0x50, 0x99, 0x47,
+ 0x49, 0xEB, 0xFE, 0x50, 0x83, 0x7D, 0x92, 0x32, 0x7A, 0xE8, 0xDE, 0x49,
+ 0x92, 0x32, 0x7A, 0xE8, 0xDE, 0x4B, 0x43, 0x94, 0x74, 0x9E, 0xBF, 0xE5,
+ 0x09, 0x94, 0x74, 0x9E, 0xBF, 0xE5, 0x08, 0x37, 0xD9, 0x23, 0x27, 0xAE,
+ 0x8D, 0xE4, 0x99, 0x23, 0x27, 0xAE, 0x8D, 0xE4, 0xB4, 0x39, 0x47, 0x49,
+ 0xEB, 0xFE, 0x50, 0x99, 0x47, 0x49, 0xEB, 0xFE, 0x50, 0x83, 0x7D, 0x92,
+ 0x32, 0x7A, 0xE8, 0xDE, 0x49, 0x92, 0x32, 0x7A, 0xE8, 0xDE, 0x4B, 0x43,
+ 0x94, 0x74, 0x9E, 0xBF, 0xE5, 0x09, 0x94, 0x74, 0x9E, 0xBF, 0xE5, 0x08,
+ 0x37, 0xD9, 0x23, 0x27, 0xAE, 0x8D, 0xE4, 0x99, 0x23, 0x27, 0xAE, 0x8D,
+ 0xE4, 0xB4, 0x39, 0x47, 0x49, 0xEB, 0xFE, 0x50, 0x99, 0x47, 0x49, 0xEB,
+ 0xFE, 0x50, 0x83, 0x7D, 0x92, 0x32, 0x7A, 0xE8, 0xDE, 0x49, 0x92, 0x32,
+ 0x7A, 0xE8, 0xDE, 0x4B, 0x43, 0x94, 0x74, 0x9E, 0xBF, 0xE5, 0x09, 0x94,
+ 0x74, 0x9E, 0xBF, 0xE5, 0x08, 0x37, 0xD9, 0x23, 0x27, 0xAE, 0x8D, 0xE4,
+ 0x99, 0x23, 0x27, 0xAE, 0x8D, 0xE4, 0xB4, 0x39, 0x47, 0x49, 0xEB, 0xFE,
+ 0x50, 0x99, 0x47, 0x49, 0xEB, 0xFE, 0x50, 0x83, 0x7D, 0x92, 0x32, 0x7A,
+ 0xE8, 0xDE, 0x4A, 0xAD, 0xF4, 0x4E, 0x51, 0xAE, 0x0E, 0x11, 0xA2, 0xD6,
+ 0x0D, 0x7E, 0xE5, 0xA0, 0xCA, 0x3A, 0x4F, 0x5F, 0xF2, 0x85, 0x74, 0x3F,
+ 0x48, 0xA9, 0x27, 0x44, 0x63, 0x4C, 0x7C, 0xC4, 0x81, 0xF9, 0x42, 0x0E,
+ 0xDE, 0x38, 0xAA, 0x5A, 0x20, 0xD0, 0xC3, 0xC1, 0x5B, 0x35, 0xD4, 0xA3,
+ 0x78, 0x6E, 0xE0, 0xAE, 0x8C, 0x6B, 0x95, 0x88, 0x7F, 0xF0, 0x3C, 0x15,
+ 0xB3, 0x5D, 0x4A, 0x37, 0x86, 0xEE, 0x0B, 0x33, 0xD9, 0xAC, 0x3C, 0xA1,
+ 0x59, 0x5E, 0xA5, 0x07, 0xC3, 0x6F, 0x05, 0x58, 0x5D, 0x55, 0x9D, 0xC1,
+ 0xC1, 0x52, 0x57, 0xA9, 0x41, 0xF0, 0xDB, 0xC1, 0x56, 0x17, 0x55, 0x67,
+ 0x70, 0x70, 0x52, 0x0C, 0xFC, 0xA5, 0xE6, 0xB1, 0xFD, 0x7C, 0x4E, 0xF1,
+ 0xE2, 0xA3, 0x52, 0x47, 0xF5, 0xF1, 0x3B, 0xC7, 0x8A, 0x8D, 0x6A, 0x19,
+ 0x11, 0x11, 0x14, 0x44, 0x44, 0x13, 0x49, 0xC1, 0x13, 0x13, 0x50, 0xA0,
+ 0xB8, 0x90, 0x1E, 0xEA, 0xAB, 0x1D, 0x2B, 0x31, 0xB4, 0x74, 0x37, 0x18,
+ 0x45, 0xFC, 0xAC, 0x20, 0xE7, 0x96, 0x90, 0xE0, 0x09, 0xA8, 0x0A, 0xEB,
+ 0x1F, 0xFE, 0xF7, 0xAC, 0x08, 0x31, 0x5D, 0x02, 0x2B, 0x62, 0x32, 0xAB,
+ 0x4D, 0x35, 0x8A, 0xD5, 0xF0, 0x66, 0xA2, 0x40, 0x65, 0x96, 0x59, 0xAA,
+ 0xD5, 0xAC, 0xE3, 0xDF, 0x51, 0x1F, 0x54, 0x19, 0x30, 0xA8, 0xE0, 0x5F,
+ 0x66, 0x23, 0xCD, 0x5C, 0xA0, 0x68, 0x2D, 0xE8, 0x73, 0x4B, 0x49, 0x04,
+ 0x60, 0xA9, 0x06, 0x4E, 0x14, 0xC9, 0x86, 0xE8, 0x4F, 0x7B, 0x5A, 0x62,
+ 0x06, 0x38, 0x3A, 0xAA, 0xC5, 0x60, 0x90, 0x46, 0x05, 0x47, 0x0A, 0x7E,
+ 0x34, 0x28, 0x70, 0xE1, 0x8B, 0x2E, 0x6C, 0x37, 0x5A, 0x6D, 0xA1, 0xFC,
+ 0xE6, 0xFE, 0x33, 0x9C, 0x55, 0x04, 0xEC, 0x46, 0x39, 0x86, 0x1B, 0x19,
+ 0x0D, 0xAC, 0x75, 0xA0, 0xD6, 0x8C, 0xD5, 0xE9, 0x3E, 0xF2, 0x82, 0x56,
+ 0xC9, 0xB1, 0xD2, 0xC2, 0x23, 0x4B, 0xDE, 0x6C, 0x17, 0x17, 0x32, 0xA2,
+ 0x18, 0x74, 0x11, 0xD2, 0x3F, 0x95, 0x82, 0xB2, 0x5B, 0x38, 0xF6, 0xB4,
+ 0x55, 0x0E, 0x1F, 0x28, 0x1B, 0x60, 0x44, 0xA8, 0xDA, 0x02, 0xAA, 0xB4,
+ 0xD5, 0xD1, 0xFB, 0x2C, 0x64, 0x04, 0x44, 0x40, 0x44, 0x44, 0x05, 0x9B,
+ 0x43, 0xFB, 0x4A, 0x0F, 0xF2, 0xB0, 0x96, 0x6D, 0x0F, 0xED, 0x28, 0x3F,
+ 0xCA, 0x93, 0xD9, 0x1D, 0x97, 0xA4, 0x3E, 0xC4, 0x8F, 0xDD, 0x0B, 0x80,
+ 0x5D, 0xFF, 0x00, 0xA4, 0x3E, 0xC4, 0x8F, 0xDD, 0x0B, 0x80, 0x48, 0x04,
+ 0x44, 0x55, 0x44, 0x44, 0x40, 0x44, 0x44, 0x19, 0x02, 0x5C, 0x59, 0x95,
+ 0x36, 0x8F, 0xFC, 0xC4, 0x83, 0xFB, 0x7E, 0x2A, 0x94, 0xDC, 0xC1, 0x86,
+ 0x2C, 0x3A, 0x9E, 0x79, 0x2A, 0xDE, 0x22, 0x3A, 0xAC, 0xED, 0xB3, 0x9C,
+ 0xF9, 0x54, 0x7F, 0xB5, 0x0C, 0x29, 0xB7, 0x43, 0x63, 0x1A, 0x61, 0xC3,
+ 0x7F, 0x26, 0x6B, 0x61, 0x70, 0x35, 0xB4, 0xE3, 0x9F, 0xFB, 0x54, 0x6C,
+ 0xDC, 0x56, 0xC1, 0x8D, 0x08, 0x38, 0x16, 0xC6, 0x20, 0xB8, 0x91, 0x9F,
+ 0xFA, 0x41, 0x24, 0x58, 0x12, 0xF0, 0x4F, 0x27, 0x11, 0xF1, 0x04, 0x5B,
+ 0x01, 0xD5, 0x81, 0xF8, 0x41, 0x22, 0xB0, 0x3E, 0xEB, 0x11, 0x64, 0x89,
+ 0xE8, 0x80, 0x03, 0x62, 0x19, 0x88, 0x1B, 0x60, 0x45, 0xA8, 0xDA, 0x02,
+ 0xAA, 0xBF, 0x8E, 0x8C, 0xD5, 0xD5, 0x5A, 0xC6, 0x40, 0x44, 0x44, 0x04,
+ 0x44, 0x40, 0x44, 0x44, 0x1D, 0x17, 0xA2, 0x1D, 0x6A, 0x27, 0xF5, 0xF5,
+ 0x5D, 0x6F, 0xEA, 0x7F, 0xD3, 0xEA, 0xB9, 0x2F, 0x44, 0x3A, 0xD4, 0x4F,
+ 0xEB, 0xEA, 0xBA, 0xDF, 0xD4, 0xFF, 0x00, 0xA7, 0xD5, 0x65, 0x14, 0xFD,
+ 0x51, 0xEE, 0x7D, 0x57, 0x2F, 0xE9, 0xA7, 0xAE, 0x96, 0xEE, 0x9E, 0x2B,
+ 0xA8, 0xFD, 0x51, 0xEE, 0x7D, 0x57, 0x2F, 0xE9, 0xA7, 0xAE, 0x96, 0xEE,
+ 0x9E, 0x2B, 0x43, 0x99, 0x44, 0x44, 0x51, 0x11, 0x10, 0x11, 0x11, 0x06,
+ 0xC6, 0x5A, 0x8F, 0x6C, 0x68, 0x50, 0x1C, 0x5B, 0x14, 0x98, 0xA4, 0x82,
+ 0xE6, 0xD5, 0x53, 0x73, 0xD4, 0xAD, 0x14, 0x7B, 0x5D, 0x0E, 0x5D, 0xCC,
+ 0x88, 0x5C, 0x5E, 0x7F, 0x18, 0xAB, 0xA1, 0xB6, 0xCB, 0x41, 0x1F, 0xB6,
+ 0x6F, 0x30, 0xB1, 0x44, 0xC4, 0x41, 0xC8, 0xD5, 0x57, 0xFC, 0x26, 0xB6,
+ 0xE6, 0xFD, 0xEB, 0x52, 0x32, 0x7A, 0x33, 0x23, 0x42, 0x8A, 0xCB, 0x21,
+ 0xD0, 0xC1, 0x00, 0x55, 0x98, 0x82, 0x49, 0x20, 0xE2, 0x50, 0x4B, 0xCD,
+ 0x20, 0x34, 0xC1, 0x63, 0xDF, 0x10, 0x3A, 0x31, 0x20, 0x38, 0x00, 0x43,
+ 0x7F, 0x11, 0x6F, 0x47, 0xF4, 0x8C, 0x91, 0x67, 0xE0, 0x11, 0x22, 0x54,
+ 0xE2, 0xD7, 0x1B, 0x35, 0x81, 0x68, 0x87, 0x55, 0x50, 0x27, 0x15, 0x18,
+ 0x9F, 0x88, 0x03, 0x3F, 0xE3, 0x86, 0x5E, 0xCA, 0xCB, 0x1E, 0x5B, 0x59,
+ 0x6D, 0x66, 0xBF, 0xE3, 0xA4, 0xAB, 0x5B, 0x39, 0x10, 0x35, 0xAC, 0x73,
+ 0x58, 0xF6, 0x06, 0x96, 0x90, 0xE1, 0xD2, 0x09, 0xAF, 0x8A, 0x0B, 0x66,
+ 0xA0, 0x88, 0x11, 0x43, 0x43, 0x62, 0x36, 0xB6, 0x83, 0x65, 0xE2, 0xA2,
+ 0x3F, 0xFB, 0xFC, 0xA8, 0x54, 0xB1, 0xE3, 0xBA, 0x31, 0x6D, 0x6D, 0x6B,
+ 0x5A, 0xC6, 0xD9, 0x6B, 0x5B, 0xD0, 0x05, 0x64, 0xF1, 0x25, 0x44, 0x80,
+ 0x88, 0x88, 0x08, 0x88, 0x80, 0xBB, 0xFF, 0x00, 0x47, 0x3D, 0x8B, 0x2F,
+ 0xFC, 0x1E, 0x2B, 0x80, 0x5D, 0xFF, 0x00, 0xA3, 0x9E, 0xC5, 0x97, 0xFE,
+ 0x0F, 0x14, 0x47, 0x23, 0x4F, 0xFB, 0x66, 0x6B, 0xBE, 0xB5, 0xCB, 0x63,
+ 0x4F, 0xFB, 0x66, 0x6B, 0xBE, 0xB5, 0xCA, 0x90, 0x22, 0x22, 0x8A, 0x22,
+ 0x22, 0x02, 0x9A, 0x56, 0x08, 0x8F, 0x14, 0xB0, 0x92, 0x2A, 0x63, 0xDD,
+ 0x9B, 0xFF, 0x00, 0x16, 0x93, 0xF4, 0x50, 0xAB, 0xE0, 0xC5, 0x74, 0x08,
+ 0x82, 0x23, 0x2A, 0xAC, 0x56, 0x2A, 0x22, 0xB0, 0x41, 0x15, 0x11, 0x82,
+ 0x0C, 0x89, 0x79, 0x36, 0xC7, 0x82, 0xD7, 0x5A, 0x21, 0xEF, 0x73, 0xD8,
+ 0xD1, 0xA4, 0x86, 0x82, 0x07, 0xF7, 0x5D, 0x4A, 0xE6, 0xC9, 0xC3, 0x6C,
+ 0xB8, 0x8D, 0x15, 0xEE, 0xCC, 0xDB, 0x4E, 0x6B, 0x7A, 0x73, 0x9A, 0x9A,
+ 0x3C, 0x89, 0xC1, 0x42, 0xF9, 0xA7, 0x9E, 0x4C, 0x43, 0x6B, 0x61, 0x36,
+ 0x1B, 0xAD, 0x34, 0x32, 0xBC, 0xC7, 0x36, 0x7C, 0xE4, 0x9F, 0x70, 0x57,
+ 0x19, 0xE8, 0x8E, 0x8D, 0x12, 0x23, 0xDA, 0xC7, 0x08, 0x80, 0x07, 0x30,
+ 0x8F, 0xC3, 0x50, 0xE8, 0x1F, 0xB5, 0x55, 0x20, 0x8A, 0x30, 0x84, 0x1C,
+ 0x0C, 0x17, 0x38, 0xB4, 0x8A, 0xEA, 0x70, 0xCE, 0x0E, 0x8F, 0xDD, 0x46,
+ 0xA5, 0x8F, 0x1D, 0xD1, 0x8B, 0x6B, 0x0D, 0x6B, 0x58, 0xDB, 0x2D, 0x6B,
+ 0x7A, 0x1A, 0x3A, 0x7E, 0xA5, 0x44, 0x80, 0x88, 0x88, 0x08, 0x88, 0x80,
+ 0xAF, 0x81, 0xEB, 0xA1, 0xF7, 0x87, 0x15, 0x62, 0xBE, 0x07, 0xAE, 0x87,
+ 0xDE, 0x1C, 0x51, 0x1E, 0x95, 0x1B, 0xAA, 0x3F, 0xC3, 0x3C, 0x15, 0x26,
+ 0xBA, 0x94, 0x6F, 0x0D, 0xDC, 0x15, 0x63, 0x75, 0x47, 0xF8, 0x67, 0x82,
+ 0xA4, 0xD7, 0x52, 0x8D, 0xE1, 0xBB, 0x82, 0x93, 0xD9, 0xAC, 0x3C, 0xA1,
+ 0x59, 0x5E, 0xA5, 0x07, 0xC3, 0x6F, 0x05, 0x58, 0x5D, 0x59, 0x9D, 0xC1,
+ 0xC1, 0x52, 0x57, 0xA9, 0x41, 0xF0, 0xDB, 0xC1, 0x5D, 0x04, 0xD5, 0x2F,
+ 0x0C, 0xFF, 0x00, 0xE0, 0x38, 0x29, 0x06, 0x7E, 0x52, 0xE0, 0x23, 0x51,
+ 0x53, 0xA6, 0x34, 0x43, 0xC8, 0x3B, 0xF3, 0x1F, 0x78, 0xD2, 0xAC, 0xBA,
+ 0x67, 0x75, 0x07, 0x10, 0xBA, 0xA7, 0xFA, 0x49, 0x45, 0x87, 0xB8, 0x39,
+ 0xAF, 0xB4, 0x0D, 0x47, 0xFE, 0x35, 0x6E, 0x52, 0xD1, 0x5D, 0x97, 0xFC,
+ 0x34, 0xB6, 0x5C, 0xBD, 0xD3, 0x3B, 0xA8, 0x38, 0x84, 0xBA, 0x67, 0x75,
+ 0x07, 0x10, 0xBA, 0x8C, 0xA5, 0xA2, 0xBB, 0x2F, 0xF8, 0x69, 0x94, 0xB4,
+ 0x57, 0x65, 0xFF, 0x00, 0x0D, 0x5B, 0x91, 0xCB, 0xDD, 0x33, 0xBA, 0x83,
+ 0x88, 0x4B, 0xA6, 0x77, 0x50, 0x71, 0x0B, 0xA8, 0xCA, 0x5A, 0x2B, 0xB2,
+ 0xFF, 0x00, 0x86, 0x99, 0x4B, 0x45, 0x76, 0x5F, 0xF0, 0xD2, 0xE4, 0x72,
+ 0xF7, 0x4C, 0xEE, 0xA0, 0xE2, 0x12, 0xE9, 0x9D, 0xD4, 0x1C, 0x42, 0xEA,
+ 0x32, 0x96, 0x8A, 0xEC, 0xBF, 0xE1, 0xA6, 0x52, 0xD1, 0x5D, 0x97, 0xFC,
+ 0x34, 0xB9, 0x1C, 0xBD, 0xD3, 0x3B, 0xA8, 0x38, 0x84, 0xBA, 0x67, 0x75,
+ 0x07, 0x10, 0xBA, 0x8C, 0xA5, 0xA2, 0xBB, 0x2F, 0xF8, 0x69, 0x94, 0xB4,
+ 0x57, 0x65, 0xFF, 0x00, 0x0D, 0x2E, 0x47, 0x2F, 0x74, 0xCE, 0xEA, 0x0E,
+ 0x21, 0x2E, 0x99, 0xDD, 0x41, 0xC4, 0x2E, 0xA3, 0x29, 0x68, 0xAE, 0xCB,
+ 0xFE, 0x1A, 0x65, 0x2D, 0x15, 0xD9, 0x7F, 0xC3, 0x4B, 0x91, 0xCB, 0xDD,
+ 0x33, 0xBA, 0x83, 0x88, 0x4B, 0xA6, 0x77, 0x50, 0x71, 0x0B, 0xA8, 0xCA,
+ 0x5A, 0x2B, 0xB2, 0xFF, 0x00, 0x86, 0x99, 0x4B, 0x45, 0x76, 0x5F, 0xF0,
+ 0xD2, 0xE4, 0x72, 0xF7, 0x4C, 0xEE, 0xA0, 0xE2, 0x12, 0xE9, 0x9D, 0xD4,
+ 0x1C, 0x42, 0xEA, 0x32, 0x96, 0x8A, 0xEC, 0xBF, 0xE1, 0xA6, 0x52, 0xD1,
+ 0x5D, 0x97, 0xFC, 0x34, 0xB9, 0x1C, 0xBD, 0xD3, 0x3B, 0xA8, 0x38, 0x85,
+ 0x95, 0x46, 0x51, 0xF3, 0x50, 0x67, 0xA1, 0x44, 0x89, 0x04, 0xB5, 0xA0,
+ 0xE7, 0x35, 0x85, 0xBE, 0xCA, 0x5A, 0x2B, 0xB2, 0xFF, 0x00, 0x86, 0xA5,
+ 0x96, 0xA7, 0x68, 0xD9, 0xA8, 0xEC, 0x83, 0x0D, 0xAE, 0xB4, 0xF3, 0x50,
+ 0xAD, 0x80, 0x05, 0x06, 0x45, 0x37, 0x06, 0x24, 0x7A, 0x22, 0x34, 0x38,
+ 0x4D, 0x2E, 0x79, 0x02, 0xA0, 0x17, 0x15, 0x74, 0xCE, 0xEA, 0x0E, 0x21,
+ 0x77, 0xF3, 0x93, 0x50, 0xE4, 0xE5, 0x9F, 0x1E, 0x35, 0x66, 0x1B, 0x7A,
+ 0x6A, 0x15, 0xAD, 0x46, 0x52, 0xD1, 0x5D, 0x97, 0xFC, 0x34, 0x1C, 0xBD,
+ 0xD3, 0x3B, 0xA8, 0x38, 0x84, 0xBA, 0x67, 0x75, 0x07, 0x10, 0xBA, 0x8C,
+ 0xA5, 0xA2, 0xBB, 0x2F, 0xF8, 0x69, 0x94, 0xB4, 0x57, 0x65, 0xFF, 0x00,
+ 0x0D, 0x5B, 0x91, 0xCB, 0xDD, 0x33, 0xBA, 0x83, 0x88, 0x4B, 0xA6, 0x77,
+ 0x50, 0x71, 0x0B, 0xA8, 0xCA, 0x5A, 0x2B, 0xB2, 0xFF, 0x00, 0x86, 0x99,
+ 0x4B, 0x45, 0x76, 0x5F, 0xF0, 0xD2, 0xE4, 0x72, 0xF7, 0x4C, 0xEE, 0xA0,
+ 0xE2, 0x12, 0xE9, 0x9D, 0xD4, 0x1C, 0x42, 0xEA, 0x32, 0x96, 0x8A, 0xEC,
+ 0xBF, 0xE1, 0xA6, 0x52, 0xD1, 0x5D, 0x97, 0xFC, 0x34, 0xB9, 0x1C, 0xBD,
+ 0xD3, 0x3B, 0xA8, 0x38, 0x84, 0xBA, 0x67, 0x75, 0x07, 0x10, 0xBA, 0x8C,
+ 0xA5, 0xA2, 0xBB, 0x2F, 0xF8, 0x69, 0x94, 0xB4, 0x57, 0x65, 0xFF, 0x00,
+ 0x0D, 0x2E, 0x47, 0x2F, 0x74, 0xCE, 0xEA, 0x0E, 0x21, 0x2E, 0x99, 0xDD,
+ 0x41, 0xC4, 0x2E, 0xA3, 0x29, 0x68, 0xAE, 0xCB, 0xFE, 0x1A, 0x65, 0x2D,
+ 0x15, 0xD9, 0x7F, 0xC3, 0x4B, 0x91, 0xCB, 0xDD, 0x33, 0xBA, 0x83, 0x88,
+ 0x4B, 0xA6, 0x77, 0x50, 0x71, 0x0B, 0xA8, 0xCA, 0x5A, 0x2B, 0xB2, 0xFF,
+ 0x00, 0x86, 0x99, 0x4B, 0x45, 0x76, 0x5F, 0xF0, 0xD2, 0xE4, 0x72, 0xF7,
+ 0x4C, 0xEE, 0xA0, 0xE2, 0x12, 0xE9, 0x9D, 0xD4, 0x1C, 0x42, 0xEA, 0x32,
+ 0x96, 0x8A, 0xEC, 0xBF, 0xE1, 0xA6, 0x52, 0xD1, 0x5D, 0x97, 0xFC, 0x34,
+ 0xB9, 0x1C, 0xBD, 0xD3, 0x3B, 0xA8, 0x38, 0x84, 0xBA, 0x67, 0x75, 0x07,
+ 0x10, 0xBA, 0x8C, 0xA5, 0xA2, 0xBB, 0x2F, 0xF8, 0x69, 0x94, 0xB4, 0x57,
+ 0x65, 0xFF, 0x00, 0x0D, 0x2E, 0x46, 0x1F, 0xA3, 0x12, 0x91, 0xE5, 0xA6,
+ 0x9F, 0xCB, 0xC3, 0x2C, 0xB5, 0xD1, 0x5A, 0xE9, 0xBF, 0x53, 0xFE, 0x9F,
+ 0x55, 0x85, 0x47, 0x52, 0x92, 0x54, 0x84, 0x47, 0x09, 0x66, 0x90, 0xE6,
+ 0x0F, 0x7B, 0x40, 0x59, 0xBF, 0xA9, 0xFF, 0x00, 0x4F, 0xAA, 0x82, 0x9F,
+ 0xAA, 0x3D, 0xCF, 0xAA, 0xD0, 0x7A, 0x55, 0x21, 0x35, 0x39, 0x16, 0x01,
+ 0x96, 0x82, 0xE8, 0x81, 0xAD, 0x35, 0xD5, 0xEE, 0x5B, 0xFF, 0x00, 0xD5,
+ 0x1E, 0xE7, 0xD5, 0x62, 0xD2, 0x34, 0xBC, 0xB5, 0x1A, 0xF6, 0x36, 0x62,
+ 0xDD, 0x6F, 0x15, 0x8B, 0x22, 0xB5, 0xA1, 0xC5, 0xDC, 0x74, 0x96, 0xC9,
+ 0x11, 0x2E, 0x3A, 0x4B, 0x64, 0x88, 0xBA, 0x7C, 0xAA, 0xA3, 0xBF, 0xCB,
+ 0xB8, 0x99, 0x55, 0x47, 0x7F, 0x97, 0x71, 0x51, 0xCC, 0x5C, 0x74, 0x96,
+ 0xC9, 0x11, 0x2E, 0x3A, 0x4B, 0x64, 0x88, 0xBA, 0x7C, 0xAA, 0xA3, 0xBF,
+ 0xCB, 0xB8, 0x99, 0x55, 0x47, 0x7F, 0x97, 0x71, 0x07, 0x31, 0x71, 0xD2,
+ 0x5B, 0x24, 0x44, 0xB8, 0xE9, 0x2D, 0x92, 0x22, 0xE9, 0xF2, 0xAA, 0x8E,
+ 0xFF, 0x00, 0x2E, 0xE2, 0x65, 0x55, 0x1D, 0xFE, 0x5D, 0xC4, 0x1C, 0xC5,
+ 0xC7, 0x49, 0x6C, 0x91, 0x12, 0xE3, 0xA4, 0xB6, 0x48, 0x8B, 0xA7, 0xCA,
+ 0xAA, 0x3B, 0xFC, 0xBB, 0x89, 0x95, 0x54, 0x77, 0xF9, 0x77, 0x10, 0x73,
+ 0x17, 0x1D, 0x25, 0xB2, 0x44, 0x4B, 0x8E, 0x92, 0xD9, 0x22, 0x2E, 0x9F,
+ 0x2A, 0xA8, 0xEF, 0xF2, 0xEE, 0x26, 0x55, 0x51, 0xDF, 0xE5, 0xDC, 0x41,
+ 0xCC, 0x5C, 0x74, 0x96, 0xC9, 0x11, 0x2E, 0x3A, 0x4B, 0x64, 0x88, 0xBA,
+ 0x7C, 0xAA, 0xA3, 0xBF, 0xCB, 0xB8, 0x99, 0x55, 0x47, 0x7F, 0x97, 0x71,
+ 0x07, 0x31, 0x71, 0xD2, 0x5B, 0x24, 0x44, 0xB8, 0xE9, 0x2D, 0x92, 0x22,
+ 0xE9, 0xF2, 0xAA, 0x8E, 0xFF, 0x00, 0x2E, 0xE2, 0x65, 0x55, 0x1D, 0xFE,
+ 0x5D, 0xC4, 0x1C, 0xC5, 0xC7, 0x49, 0x6C, 0x91, 0x12, 0xE3, 0xA4, 0xB6,
+ 0x48, 0x8B, 0xA7, 0xCA, 0xAA, 0x3B, 0xFC, 0xBB, 0x89, 0x95, 0x54, 0x77,
+ 0xF9, 0x77, 0x10, 0x73, 0x17, 0x1D, 0x25, 0xB2, 0x44, 0x5D, 0x9D, 0x05,
+ 0x06, 0x24, 0xBD, 0x15, 0x06, 0x14, 0x66, 0x16, 0x3D, 0xB5, 0xD6, 0x0F,
+ 0xF2, 0xB0, 0xF2, 0xAA, 0x8E, 0xFF, 0x00, 0x2E, 0xE2, 0xDA, 0xC9, 0xCD,
+ 0x43, 0x9D, 0x96, 0x6C, 0x78, 0x36, 0xAC, 0x3B, 0xA2, 0xD0, 0xA8, 0xA8,
+ 0x39, 0x1A, 0x66, 0x89, 0x9E, 0x8F, 0x4A, 0x4C, 0x45, 0x85, 0x2C, 0xF7,
+ 0x31, 0xCE, 0xAC, 0x11, 0xEF, 0x58, 0x37, 0x1D, 0x25, 0xB2, 0x44, 0x5D,
+ 0x6C, 0xD7, 0xA4, 0x52, 0x52, 0x93, 0x0F, 0x81, 0x17, 0x95, 0xB6, 0xC3,
+ 0x51, 0xA9, 0xB5, 0x85, 0x0E, 0x55, 0x51, 0xDF, 0xE5, 0xDC, 0x54, 0x73,
+ 0x17, 0x1D, 0x25, 0xB2, 0x44, 0x4B, 0x8E, 0x92, 0xD9, 0x22, 0x2E, 0x9F,
+ 0x2A, 0xA8, 0xEF, 0xF2, 0xEE, 0x26, 0x55, 0x51, 0xDF, 0xE5, 0xDC, 0x41,
+ 0xCC, 0x5C, 0x74, 0x96, 0xC9, 0x11, 0x2E, 0x3A, 0x4B, 0x64, 0x88, 0xBA,
+ 0x7C, 0xAA, 0xA3, 0xBF, 0xCB, 0xB8, 0x99, 0x55, 0x47, 0x7F, 0x97, 0x71,
+ 0x07, 0x31, 0x71, 0xD2, 0x5B, 0x24, 0x44, 0xB8, 0xE9, 0x2D, 0x92, 0x22,
+ 0xE9, 0xF2, 0xAA, 0x8E, 0xFF, 0x00, 0x2E, 0xE2, 0x65, 0x55, 0x1D, 0xFE,
+ 0x5D, 0xC4, 0x1C, 0xC5, 0xC7, 0x49, 0x6C, 0x91, 0x12, 0xE3, 0xA4, 0xB6,
+ 0x48, 0x8B, 0xA7, 0xCA, 0xAA, 0x3B, 0xFC, 0xBB, 0x89, 0x95, 0x54, 0x77,
+ 0xF9, 0x77, 0x10, 0x73, 0x17, 0x1D, 0x25, 0xB2, 0x44, 0x4B, 0x8E, 0x92,
+ 0xD9, 0x22, 0x2E, 0x9F, 0x2A, 0xA8, 0xEF, 0xF2, 0xEE, 0x26, 0x55, 0x51,
+ 0xDF, 0xE5, 0xDC, 0x41, 0xCC, 0x5C, 0x74, 0x96, 0xC9, 0x11, 0x2E, 0x3A,
+ 0x4B, 0x64, 0x88, 0xBA, 0x7C, 0xAA, 0xA3, 0xBF, 0xCB, 0xB8, 0x99, 0x55,
+ 0x47, 0x7F, 0x97, 0x71, 0x07, 0x31, 0x71, 0xD2, 0x5B, 0x24, 0x44, 0xB8,
+ 0xE9, 0x2D, 0x92, 0x22, 0xE9, 0xF2, 0xAA, 0x8E, 0xFF, 0x00, 0x2E, 0xE2,
+ 0x65, 0x55, 0x1D, 0xFE, 0x5D, 0xC4, 0x1C, 0xC5, 0xC7, 0x49, 0x6C, 0x91,
+ 0x15, 0xF0, 0xA8, 0x4A, 0x45, 0xB1, 0x58, 0x4C, 0xA4, 0x4A, 0x83, 0x81,
+ 0x39, 0x97, 0x49, 0x95, 0x54, 0x77, 0xF9, 0x77, 0x15, 0x5B, 0xE9, 0x4D,
+ 0x1E, 0xE7, 0x06, 0x8E, 0x56, 0xB2, 0x6A, 0x1F, 0x83, 0xEE, 0x83, 0x6D,
+ 0x1B, 0x34, 0xA4, 0x4F, 0x0C, 0xF0, 0x56, 0xCD, 0x75, 0x28, 0xDE, 0x1B,
+ 0xB8, 0x2B, 0xA3, 0x9A, 0xE5, 0xA2, 0x1D, 0x2C, 0x3C, 0x15, 0xB3, 0x5D,
+ 0x4A, 0x37, 0x86, 0xEE, 0x0B, 0x33, 0xD9, 0xAC, 0x3C, 0xA1, 0x59, 0x5E,
+ 0xA5, 0x07, 0xC3, 0x6F, 0x05, 0x58, 0x5D, 0x55, 0x9D, 0xC1, 0xC1, 0x52,
+ 0x57, 0xA9, 0x41, 0xF0, 0xDB, 0xC1, 0x56, 0x17, 0x55, 0x67, 0x70, 0x70,
+ 0x52, 0x0C, 0xFC, 0xA5, 0xE6, 0xB1, 0xFD, 0x7C, 0x4E, 0xF1, 0xE2, 0xA3,
+ 0x52, 0x47, 0xF5, 0xF1, 0x3B, 0xC7, 0x8A, 0x8D, 0x6A, 0x19, 0x11, 0x11,
+ 0x14, 0x44, 0x44, 0x05, 0x70, 0x63, 0x9C, 0xD7, 0x38, 0x02, 0x5A, 0xDE,
+ 0x93, 0xA1, 0x5A, 0xB2, 0x65, 0x9E, 0xCE, 0x46, 0x3C, 0x17, 0xBC, 0x43,
+ 0x31, 0x03, 0x6A, 0x73, 0x81, 0xAB, 0x31, 0xFD, 0x90, 0x46, 0xC9, 0x78,
+ 0xD1, 0x1E, 0xD6, 0x32, 0x1B, 0x9C, 0xE7, 0x8B, 0x4D, 0x00, 0x67, 0x23,
+ 0x4F, 0x92, 0xA4, 0x29, 0x78, 0xD1, 0xC1, 0x30, 0xA1, 0xB9, 0xC0, 0x66,
+ 0x24, 0x05, 0xB0, 0x13, 0x90, 0x20, 0x34, 0x16, 0x39, 0xD1, 0x22, 0x35,
+ 0x8D, 0x86, 0xD2, 0xC3, 0x67, 0xA0, 0xDA, 0x24, 0x12, 0x34, 0xD4, 0x31,
+ 0x56, 0x4C, 0xBE, 0x5A, 0x65, 0xB6, 0x21, 0x46, 0x6C, 0x16, 0x88, 0x8E,
+ 0x89, 0x53, 0x83, 0xAA, 0xFC, 0x40, 0x66, 0xCC, 0x3A, 0x41, 0x15, 0x20,
+ 0xD7, 0xB9, 0xA5, 0xAE, 0x2D, 0x70, 0x20, 0x83, 0x51, 0x07, 0xDC, 0xA8,
+ 0xA4, 0x8E, 0xE6, 0xBA, 0x3B, 0xCB, 0x1E, 0xF7, 0xB4, 0x9C, 0xCE, 0x7F,
+ 0x49, 0xFD, 0xCA, 0x8D, 0x01, 0x11, 0x10, 0x11, 0x11, 0x01, 0x66, 0xD0,
+ 0xFE, 0xD2, 0x83, 0xFC, 0xAC, 0x25, 0x9B, 0x43, 0xFB, 0x4A, 0x0F, 0xF2,
+ 0xA4, 0xF6, 0x47, 0x65, 0xE9, 0x0F, 0xB1, 0x23, 0xF7, 0x42, 0xE0, 0x17,
+ 0x7F, 0xE9, 0x0F, 0xB1, 0x23, 0xF7, 0x42, 0xE0, 0x12, 0x01, 0x11, 0x15,
+ 0x51, 0x11, 0x10, 0x11, 0x11, 0x04, 0x86, 0x04, 0x50, 0xE8, 0x6D, 0x30,
+ 0xDC, 0x0C, 0x40, 0x0B, 0x05, 0x5F, 0x98, 0x1E, 0x8A, 0x95, 0xED, 0x93,
+ 0x98, 0x71, 0x70, 0x10, 0x5E, 0x4B, 0x5C, 0x5A, 0x45, 0x5E, 0xF1, 0xD2,
+ 0x3F, 0x95, 0x98, 0x67, 0x20, 0x98, 0x2C, 0x25, 0xC7, 0x94, 0x81, 0x0C,
+ 0x72, 0x79, 0xBD, 0xE5, 0xB5, 0x1C, 0x0D, 0x45, 0x5E, 0xE9, 0xA9, 0x78,
+ 0xB3, 0x0F, 0x73, 0xA2, 0xC3, 0x30, 0xF9, 0x77, 0xBC, 0x07, 0xB5, 0xC1,
+ 0xC0, 0x17, 0x57, 0x5B, 0x4B, 0x73, 0xE3, 0xEF, 0x41, 0xAE, 0x87, 0x2B,
+ 0x1E, 0x2B, 0x2D, 0xC3, 0x84, 0xF7, 0x37, 0x48, 0x1D, 0x2A, 0x25, 0xB0,
+ 0x73, 0xE0, 0x46, 0x74, 0x07, 0xF3, 0x93, 0x04, 0x42, 0x16, 0x48, 0x20,
+ 0xDA, 0xCC, 0xE2, 0x6B, 0x15, 0x0A, 0xAB, 0xCF, 0xFB, 0x67, 0x58, 0x07,
+ 0xA4, 0xD5, 0xD1, 0xFB, 0xA0, 0xA2, 0x22, 0x20, 0x22, 0x22, 0x02, 0x22,
+ 0x20, 0xE8, 0xBD, 0x10, 0xEB, 0x51, 0x3F, 0xAF, 0xAA, 0xEB, 0x7F, 0x53,
+ 0xFE, 0x9F, 0x55, 0xC9, 0x7A, 0x21, 0xD6, 0xA2, 0x7F, 0x5F, 0x55, 0xD6,
+ 0xFE, 0xA7, 0xFD, 0x3E, 0xAB, 0x28, 0xA7, 0xEA, 0x8F, 0x73, 0xEA, 0xB9,
+ 0x7F, 0x4D, 0x3D, 0x74, 0xB7, 0x74, 0xF1, 0x5D, 0x47, 0xEA, 0x8F, 0x73,
+ 0xEA, 0xB9, 0x7F, 0x4D, 0x3D, 0x74, 0xB7, 0x74, 0xF1, 0x5A, 0x1C, 0xCA,
+ 0x22, 0x22, 0x88, 0x88, 0x80, 0x88, 0x88, 0x0A, 0xF3, 0x06, 0x20, 0x73,
+ 0xDA, 0x58, 0x43, 0xA1, 0xFE, 0x61, 0x57, 0x42, 0xB1, 0x6C, 0xDF, 0x16,
+ 0x5D, 0xD3, 0x13, 0x51, 0xB9, 0x76, 0xD5, 0x30, 0x2A, 0x0D, 0x0D, 0x75,
+ 0x6D, 0xAD, 0xC0, 0x9A, 0xF3, 0x55, 0x9B, 0x3F, 0x42, 0x0C, 0x07, 0x41,
+ 0x8A, 0xD1, 0x0C, 0xBA, 0x1B, 0x87, 0x28, 0x2B, 0x66, 0x6F, 0xCD, 0xFC,
+ 0x2A, 0xC5, 0x97, 0x8D, 0x04, 0x03, 0x16, 0x1B, 0x98, 0x09, 0xAA, 0xB2,
+ 0x3D, 0xFA, 0x16, 0xC8, 0x52, 0x32, 0xAE, 0x78, 0x25, 0xAF, 0x60, 0x85,
+ 0x10, 0x18, 0x75, 0x9B, 0x5F, 0x86, 0xAB, 0x39, 0xB3, 0x0A, 0xAA, 0x01,
+ 0xA7, 0xFA, 0x58, 0x11, 0x1B, 0x0E, 0x1C, 0x02, 0xD6, 0xCC, 0x72, 0xAE,
+ 0x73, 0x81, 0xB2, 0xC0, 0x43, 0x6A, 0x15, 0xE7, 0x35, 0x81, 0x9F, 0x3F,
+ 0x14, 0x18, 0xE8, 0x88, 0x80, 0x88, 0x88, 0x08, 0x88, 0x80, 0xBB, 0xFF,
+ 0x00, 0x47, 0x3D, 0x8B, 0x2F, 0xFC, 0x1E, 0x2B, 0x80, 0x5D, 0xFF, 0x00,
+ 0xA3, 0x9E, 0xC5, 0x97, 0xFE, 0x0F, 0x14, 0x47, 0x23, 0x4F, 0xFB, 0x66,
+ 0x6B, 0xBE, 0xB5, 0xCB, 0x63, 0x4F, 0xFB, 0x66, 0x6B, 0xBE, 0xB5, 0xCA,
+ 0x90, 0x22, 0x22, 0x8A, 0x22, 0x22, 0x02, 0xBE, 0x1C, 0x27, 0xC5, 0xB5,
+ 0xC9, 0xB0, 0xBA, 0xC3, 0x6D, 0x3A, 0xA1, 0xD0, 0x34, 0xAB, 0x16, 0x5D,
+ 0x1F, 0x32, 0xD9, 0x53, 0x1D, 0xCE, 0xCF, 0x6A, 0x18, 0x68, 0x6F, 0x6B,
+ 0xF1, 0xB4, 0x91, 0x80, 0x28, 0x20, 0x64, 0xBC, 0x67, 0xB1, 0xAE, 0x64,
+ 0x37, 0x39, 0xAE, 0x75, 0x90, 0x40, 0xE9, 0x3A, 0x15, 0x4C, 0xAC, 0x76,
+ 0xBD, 0xAC, 0x30, 0x9D, 0x69, 0xFF, 0x00, 0x94, 0x01, 0x5D, 0x7F, 0xC2,
+ 0xD8, 0x73, 0xB8, 0x10, 0xDA, 0xC8, 0x30, 0x63, 0x10, 0xC8, 0x6E, 0xFC,
+ 0x2F, 0x2C, 0xAE, 0xBA, 0xDA, 0x6B, 0x24, 0x68, 0xAC, 0xD5, 0xFC, 0x2B,
+ 0x79, 0x79, 0x66, 0xB2, 0xC5, 0xB6, 0x35, 0xCF, 0x6B, 0xDA, 0x5D, 0x08,
+ 0x3A, 0xC3, 0x6B, 0xAA, 0xA3, 0x51, 0xCF, 0x59, 0xAA, 0xA3, 0x57, 0xB9,
+ 0x06, 0xBE, 0x2C, 0x18, 0x90, 0x48, 0x11, 0x58, 0x5B, 0x58, 0xAC, 0x57,
+ 0xEF, 0x56, 0x29, 0xE3, 0x86, 0x32, 0x1C, 0x36, 0x32, 0x37, 0x2A, 0x41,
+ 0x24, 0xD5, 0x5D, 0x91, 0xD1, 0xD1, 0x58, 0x19, 0xF4, 0xFF, 0x00, 0x4A,
+ 0x04, 0x04, 0x44, 0x40, 0x44, 0x44, 0x05, 0x7C, 0x0F, 0x5D, 0x0F, 0xBC,
+ 0x38, 0xAB, 0x15, 0xF0, 0x3D, 0x74, 0x3E, 0xF0, 0xE2, 0x88, 0xF4, 0xA8,
+ 0xDD, 0x51, 0xFE, 0x19, 0xE0, 0xA9, 0x35, 0xD4, 0xA3, 0x78, 0x6E, 0xE0,
+ 0xAB, 0x1B, 0xAA, 0x3F, 0xC3, 0x3C, 0x15, 0x26, 0xBA, 0x94, 0x6F, 0x0D,
+ 0xDC, 0x14, 0x9E, 0xCD, 0x61, 0xE5, 0x0A, 0xCA, 0xF5, 0x28, 0x3E, 0x1B,
+ 0x78, 0x2A, 0xC2, 0xEA, 0xAC, 0xEE, 0x0E, 0x0A, 0x92, 0xBD, 0x4A, 0x0F,
+ 0x86, 0xDE, 0x0A, 0xE8, 0x19, 0xE5, 0xE1, 0x8F, 0xFC, 0x07, 0x05, 0x20,
+ 0xCF, 0xCA, 0x5E, 0x69, 0x1F, 0xD7, 0xC4, 0xEF, 0x1E, 0x2A, 0x35, 0xDF,
+ 0x3E, 0x80, 0x92, 0x73, 0xDC, 0xEE, 0x49, 0x82, 0xB3, 0x5F, 0xE5, 0xAD,
+ 0x53, 0x27, 0xA4, 0xB5, 0x70, 0xF7, 0x15, 0x65, 0xC1, 0x22, 0xEF, 0x72,
+ 0x7A, 0x4B, 0x57, 0x0F, 0x71, 0x32, 0x7A, 0x4B, 0x57, 0x0F, 0x71, 0x2C,
+ 0x70, 0x48, 0xBB, 0xDC, 0x9E, 0x92, 0xD5, 0xC3, 0xDC, 0x4C, 0x9E, 0x92,
+ 0xD5, 0xC3, 0xDC, 0x4B, 0x1C, 0x12, 0x2E, 0xF7, 0x27, 0xA4, 0xB5, 0x70,
+ 0xF7, 0x13, 0x27, 0xA4, 0xB5, 0x70, 0xF7, 0x12, 0xC7, 0x04, 0x8B, 0xBD,
+ 0xC9, 0xE9, 0x2D, 0x5C, 0x3D, 0xC4, 0xC9, 0xE9, 0x2D, 0x5C, 0x3D, 0xC4,
+ 0xB1, 0xC1, 0x22, 0xEF, 0x72, 0x7A, 0x4B, 0x57, 0x0F, 0x71, 0x32, 0x7A,
+ 0x4B, 0x57, 0x0F, 0x71, 0x2C, 0x70, 0x48, 0xBB, 0xDC, 0x9E, 0x92, 0xD5,
+ 0xC3, 0xDC, 0x4C, 0x9E, 0x92, 0xD5, 0xC3, 0xDC, 0x4B, 0x1C, 0x12, 0x2E,
+ 0xF7, 0x27, 0xA4, 0xB5, 0x70, 0xF7, 0x13, 0x27, 0xA4, 0xB5, 0x70, 0xF7,
+ 0x12, 0xC7, 0x04, 0xB3, 0x68, 0x7F, 0x69, 0x41, 0xFE, 0x57, 0x61, 0x93,
+ 0xD2, 0x5A, 0xB8, 0x7B, 0x8A, 0xE8, 0x74, 0x14, 0xAC, 0x27, 0x87, 0xC3,
+ 0x6B, 0x1A, 0xE1, 0xD0, 0x43, 0x50, 0x3D, 0x21, 0xF6, 0x24, 0x7E, 0xE8,
+ 0x5C, 0x02, 0xF4, 0xE9, 0x89, 0x78, 0x73, 0x30, 0x1D, 0x06, 0x2B, 0x43,
+ 0x98, 0xE1, 0x9C, 0x15, 0xAD, 0xC9, 0xE9, 0x2D, 0x5C, 0x3D, 0xC4, 0x1C,
+ 0x1A, 0x2E, 0xF7, 0x27, 0xA4, 0xB5, 0x70, 0xF7, 0x13, 0x27, 0xA4, 0xB5,
+ 0x70, 0xF7, 0x12, 0xC7, 0x04, 0x8B, 0xBD, 0xC9, 0xE9, 0x2D, 0x5C, 0x3D,
+ 0xC4, 0xC9, 0xE9, 0x2D, 0x5C, 0x3D, 0xC4, 0xB1, 0xC1, 0x22, 0xEF, 0x72,
+ 0x7A, 0x4B, 0x57, 0x0F, 0x71, 0x32, 0x7A, 0x4B, 0x57, 0x0F, 0x71, 0x2C,
+ 0x70, 0x48, 0xBB, 0xDC, 0x9E, 0x92, 0xD5, 0xC3, 0xDC, 0x4C, 0x9E, 0x92,
+ 0xD5, 0xC3, 0xDC, 0x4B, 0x1C, 0x12, 0x2E, 0xF7, 0x27, 0xA4, 0xB5, 0x70,
+ 0xF7, 0x13, 0x27, 0xA4, 0xB5, 0x70, 0xF7, 0x12, 0xC7, 0x04, 0x8B, 0xBD,
+ 0xC9, 0xE9, 0x2D, 0x5C, 0x3D, 0xC4, 0xC9, 0xE9, 0x2D, 0x5C, 0x3D, 0xC4,
+ 0xB1, 0xC1, 0x22, 0xEF, 0x72, 0x7A, 0x4B, 0x57, 0x0F, 0x71, 0x32, 0x7A,
+ 0x4B, 0x57, 0x0F, 0x71, 0x2C, 0x70, 0x48, 0xBB, 0xDC, 0x9E, 0x92, 0xD5,
+ 0xC3, 0xDC, 0x4C, 0x9E, 0x92, 0xD5, 0xC3, 0xDC, 0x4B, 0x1A, 0x4F, 0x44,
+ 0x3A, 0xD4, 0x4F, 0xEB, 0xEA, 0xBA, 0xDF, 0xD4, 0xFF, 0x00, 0xA7, 0xD5,
+ 0x62, 0x49, 0xD1, 0x50, 0x24, 0xE2, 0xDB, 0x82, 0x1A, 0xDD, 0x20, 0x36,
+ 0xAA, 0xD6, 0x5F, 0xEA, 0x7F, 0xD3, 0xEA, 0xA0, 0xA7, 0xEA, 0x8F, 0x73,
+ 0xEA, 0xB9, 0x7F, 0x4D, 0x3D, 0x74, 0xB7, 0x74, 0xF1, 0x5D, 0x47, 0xEA,
+ 0x8F, 0x73, 0xEA, 0xA3, 0x9A, 0xA3, 0xE5, 0x67, 0x1C, 0xD7, 0x4C, 0xC1,
+ 0x6C, 0x42, 0xD1, 0x50, 0xAF, 0xDC, 0xB4, 0x3C, 0xD5, 0x17, 0xA1, 0xDC,
+ 0x74, 0x66, 0xC7, 0x0F, 0xCD, 0x2E, 0x3A, 0x33, 0x63, 0x87, 0xE6, 0x9D,
+ 0x07, 0x9E, 0x22, 0xF4, 0x3B, 0x8E, 0x8C, 0xD8, 0xE1, 0xF9, 0xA5, 0xC7,
+ 0x46, 0x6C, 0x70, 0xFC, 0xD3, 0xA0, 0xF3, 0xC4, 0x5E, 0x87, 0x71, 0xD1,
+ 0x9B, 0x1C, 0x3F, 0x34, 0xB8, 0xE8, 0xCD, 0x8E, 0x1F, 0x9A, 0x74, 0x1E,
+ 0x78, 0x8B, 0xD0, 0xEE, 0x3A, 0x33, 0x63, 0x87, 0xE6, 0x97, 0x1D, 0x19,
+ 0xB1, 0xC3, 0xF3, 0x4E, 0x83, 0xCF, 0x11, 0x7A, 0x1D, 0xC7, 0x46, 0x6C,
+ 0x70, 0xFC, 0xD2, 0xE3, 0xA3, 0x36, 0x38, 0x7E, 0x69, 0xD0, 0x79, 0xE2,
+ 0x2F, 0x43, 0xB8, 0xE8, 0xCD, 0x8E, 0x1F, 0x9A, 0x5C, 0x74, 0x66, 0xC7,
+ 0x0F, 0xCD, 0x3A, 0x0F, 0x3C, 0x45, 0xE8, 0x77, 0x1D, 0x19, 0xB1, 0xC3,
+ 0xF3, 0x4B, 0x8E, 0x8C, 0xD8, 0xE1, 0xF9, 0xA7, 0x41, 0xE7, 0x88, 0xBD,
+ 0x0E, 0xE3, 0xA3, 0x36, 0x38, 0x7E, 0x69, 0x71, 0xD1, 0x9B, 0x1C, 0x3F,
+ 0x34, 0xE8, 0x3C, 0xF1, 0x77, 0xFE, 0x8E, 0x7B, 0x16, 0x5F, 0xF8, 0x3C,
+ 0x54, 0x97, 0x1D, 0x19, 0xB1, 0xC3, 0xF3, 0x59, 0x90, 0x20, 0x42, 0x96,
+ 0x84, 0x21, 0x41, 0x60, 0x63, 0x1B, 0xD0, 0xD1, 0xEE, 0x41, 0xC0, 0xD3,
+ 0xFE, 0xD9, 0x9A, 0xEF, 0xAD, 0x72, 0xF4, 0x68, 0xD4, 0x44, 0x84, 0x78,
+ 0xAE, 0x8B, 0x16, 0x59, 0x8F, 0x7B, 0x8D, 0x64, 0x9A, 0xF3, 0xAB, 0x2E,
+ 0x3A, 0x33, 0x63, 0x87, 0xE6, 0x97, 0x03, 0xCF, 0x11, 0x7A, 0x1D, 0xC7,
+ 0x46, 0x6C, 0x70, 0xFC, 0xD2, 0xE3, 0xA3, 0x36, 0x38, 0x7E, 0x69, 0xD0,
+ 0x79, 0xE2, 0x2F, 0x43, 0xB8, 0xE8, 0xCD, 0x8E, 0x1F, 0x9A, 0x5C, 0x74,
+ 0x66, 0xC7, 0x0F, 0xCD, 0x3A, 0x0F, 0x3C, 0x45, 0xE8, 0x77, 0x1D, 0x19,
+ 0xB1, 0xC3, 0xF3, 0x4B, 0x8E, 0x8C, 0xD8, 0xE1, 0xF9, 0xA7, 0x41, 0xE7,
+ 0x88, 0xBD, 0x0E, 0xE3, 0xA3, 0x36, 0x38, 0x7E, 0x69, 0x71, 0xD1, 0x9B,
+ 0x1C, 0x3F, 0x34, 0xE8, 0x3C, 0xF1, 0x17, 0xA1, 0xDC, 0x74, 0x66, 0xC7,
+ 0x0F, 0xCD, 0x2E, 0x3A, 0x33, 0x63, 0x87, 0xE6, 0x9D, 0x07, 0x9E, 0x22,
+ 0xF4, 0x3B, 0x8E, 0x8C, 0xD8, 0xE1, 0xF9, 0xA5, 0xC7, 0x46, 0x6C, 0x70,
+ 0xFC, 0xD3, 0xA0, 0xF3, 0xC4, 0x5E, 0x87, 0x71, 0xD1, 0x9B, 0x1C, 0x3F,
+ 0x34, 0xB8, 0xE8, 0xCD, 0x8E, 0x1F, 0x9A, 0x74, 0x1E, 0x78, 0xAF, 0x81,
+ 0xEB, 0xA1, 0xF7, 0x87, 0x15, 0xE8, 0x17, 0x1D, 0x19, 0xB1, 0xC3, 0xF3,
+ 0x41, 0x41, 0xD1, 0xA0, 0xD6, 0x25, 0x21, 0x82, 0x3F, 0x94, 0xE8, 0x32,
+ 0xA3, 0x75, 0x47, 0xF8, 0x67, 0x82, 0xA4, 0xD7, 0x52, 0x8D, 0xE1, 0xBB,
+ 0x82, 0xBA, 0x60, 0x55, 0x2D, 0x14, 0x0E, 0xC1, 0xE0, 0xAD, 0x9A, 0xEA,
+ 0x51, 0xBC, 0x37, 0x70, 0x52, 0x7B, 0x35, 0x87, 0x94, 0x2B, 0x2B, 0xD4,
+ 0xA0, 0xF8, 0x6D, 0xE0, 0xAB, 0x0B, 0xAA, 0xB3, 0xB8, 0x38, 0x2A, 0x4A,
+ 0xF5, 0x28, 0x3E, 0x1B, 0x78, 0x2A, 0xC2, 0xEA, 0xAC, 0xEE, 0x0E, 0x0A,
+ 0x41, 0x9F, 0x94, 0xBC, 0xE6, 0x34, 0xCC, 0x71, 0x1A, 0x20, 0x11, 0xA2,
+ 0x00, 0x1C, 0x7F, 0xEE, 0x3A, 0x55, 0x9C, 0xEA, 0x3E, 0xBE, 0x26, 0xF9,
+ 0x54, 0x8F, 0xEB, 0xE2, 0x77, 0x8F, 0x15, 0x1A, 0xB1, 0x10, 0xCA, 0x5E,
+ 0x75, 0x1F, 0x5F, 0x13, 0x7C, 0xA7, 0x3A, 0x8F, 0xAF, 0x89, 0xBE, 0x54,
+ 0x48, 0xAD, 0x40, 0x97, 0x9D, 0x47, 0xD7, 0xC4, 0xDF, 0x29, 0xCE, 0xA3,
+ 0xEB, 0xE2, 0x6F, 0x95, 0x12, 0x25, 0x40, 0x97, 0x9D, 0x47, 0xD7, 0xC4,
+ 0xDF, 0x29, 0xCE, 0xA3, 0xEB, 0xE2, 0x6F, 0x95, 0x12, 0xCA, 0x82, 0xD6,
+ 0x32, 0x51, 0xF1, 0xDD, 0x0C, 0x45, 0x70, 0x78, 0x60, 0x0E, 0x26, 0xA6,
+ 0xE6, 0x26, 0xBC, 0xDF, 0xC7, 0x14, 0xA8, 0x11, 0x73, 0xA8, 0xFA, 0xF8,
+ 0x9B, 0xE5, 0x39, 0xD4, 0x7D, 0x7C, 0x4D, 0xF2, 0xB2, 0xDC, 0xD8, 0x50,
+ 0xE5, 0x9F, 0x18, 0xCA, 0x34, 0x12, 0xF6, 0x00, 0xD7, 0xB9, 0xD9, 0x81,
+ 0x69, 0x39, 0xAA, 0x23, 0xA5, 0x56, 0x62, 0x04, 0x19, 0x56, 0x3E, 0x28,
+ 0x84, 0x22, 0x56, 0xE6, 0x80, 0xC7, 0x93, 0x54, 0x3A, 0xDA, 0x1D, 0x51,
+ 0xAA, 0xAC, 0xF9, 0xEA, 0xFE, 0x8A, 0x95, 0x05, 0x30, 0xF9, 0xD4, 0x7D,
+ 0x7C, 0x4D, 0xF2, 0x9C, 0xEA, 0x3E, 0xBE, 0x26, 0xF9, 0x49, 0x86, 0x86,
+ 0xC6, 0x35, 0x43, 0x30, 0x81, 0x00, 0x86, 0x13, 0x5D, 0x55, 0x8A, 0xD4,
+ 0x4A, 0xD4, 0x09, 0x79, 0xD4, 0x7D, 0x7C, 0x4D, 0xF2, 0x9C, 0xEA, 0x3E,
+ 0xBE, 0x26, 0xF9, 0x51, 0x22, 0x54, 0x09, 0x79, 0xD4, 0x7D, 0x7C, 0x4D,
+ 0xF2, 0x9C, 0xEA, 0x3E, 0xBE, 0x26, 0xF9, 0x51, 0x22, 0x54, 0x09, 0x79,
+ 0xD4, 0x7D, 0x7C, 0x4D, 0xF2, 0xB3, 0x68, 0x79, 0x98, 0xE6, 0x93, 0x83,
+ 0x5C, 0x57, 0x9C, 0xFD, 0x05, 0xC4, 0x85, 0xAD, 0x59, 0xB4, 0x3F, 0xB4,
+ 0xA0, 0xFF, 0x00, 0x2A, 0x4C, 0x74, 0x1D, 0x9F, 0xA4, 0x0E, 0x73, 0x68,
+ 0x68, 0xEE, 0x69, 0x20, 0x80, 0x33, 0x8F, 0xE5, 0x70, 0x9C, 0xEA, 0x3E,
+ 0xBE, 0x26, 0xF9, 0x5D, 0xD7, 0xA4, 0x3E, 0xC4, 0x8F, 0xDD, 0x0B, 0x80,
+ 0x41, 0x2F, 0x3A, 0x8F, 0xAF, 0x89, 0xBE, 0x53, 0x9D, 0x47, 0xD7, 0xC4,
+ 0xDF, 0x2A, 0x24, 0x56, 0xA0, 0x4B, 0xCE, 0xA3, 0xEB, 0xE2, 0x6F, 0x94,
+ 0xE7, 0x51, 0xF5, 0xF1, 0x37, 0xCA, 0x89, 0x12, 0xA0, 0x4B, 0xCE, 0xA3,
+ 0xEB, 0xE2, 0x6F, 0x94, 0xE7, 0x51, 0xF5, 0xF1, 0x37, 0xCA, 0x89, 0x12,
+ 0xA0, 0x4B, 0xCE, 0xA3, 0xEB, 0xE2, 0x6F, 0x94, 0xE7, 0x51, 0xF5, 0xF1,
+ 0x37, 0xCA, 0x96, 0x5A, 0x04, 0x38, 0xB2, 0x91, 0xDE, 0xF7, 0xB6, 0x1B,
+ 0x9A, 0xE6, 0x00, 0xE7, 0x57, 0x56, 0x7A, 0xEB, 0xE8, 0x07, 0x42, 0xCC,
+ 0x64, 0x94, 0xBD, 0xA8, 0x62, 0xA0, 0xF0, 0x5D, 0x00, 0x12, 0x09, 0xA8,
+ 0xDA, 0xAE, 0xBC, 0x54, 0xA8, 0x29, 0xAE, 0xE7, 0x51, 0xF5, 0xF1, 0x37,
+ 0xCA, 0x73, 0xA8, 0xFA, 0xF8, 0x9B, 0xE5, 0x4F, 0x11, 0xB0, 0xA2, 0xCB,
+ 0x46, 0x7B, 0x60, 0xB6, 0x11, 0x84, 0xF0, 0x01, 0x69, 0x35, 0x3A, 0xBA,
+ 0xF3, 0x67, 0x27, 0x3E, 0x6E, 0x2B, 0x0D, 0x2A, 0x04, 0xBC, 0xEA, 0x3E,
+ 0xBE, 0x26, 0xF9, 0x4E, 0x75, 0x1F, 0x5F, 0x13, 0x7C, 0xA8, 0x91, 0x5A,
+ 0x81, 0x2F, 0x3A, 0x8F, 0xAF, 0x89, 0xBE, 0x53, 0x9D, 0x47, 0xD7, 0xC4,
+ 0xDF, 0x2A, 0x24, 0x4A, 0x81, 0x2F, 0x3A, 0x8F, 0xAF, 0x89, 0xBE, 0x53,
+ 0x9D, 0x47, 0xD7, 0xC4, 0xDF, 0x2A, 0x24, 0x4A, 0x81, 0xD3, 0x7A, 0x25,
+ 0x1E, 0x2B, 0xE6, 0x22, 0x87, 0xC4, 0x73, 0x81, 0x03, 0xF3, 0x1A, 0xD7,
+ 0x53, 0xFA, 0x9F, 0xF4, 0xFA, 0xAE, 0x4B, 0xD1, 0x0E, 0xB5, 0x13, 0xFA,
+ 0xFA, 0xAE, 0xB7, 0xF5, 0x3F, 0xE9, 0xF5, 0x59, 0x14, 0xFD, 0x51, 0xEE,
+ 0x7D, 0x57, 0x35, 0xE9, 0x8C, 0x47, 0xC3, 0x8D, 0x2D, 0x61, 0xEE, 0x6D,
+ 0x6D, 0x3D, 0x06, 0xAF, 0x7A, 0xE9, 0x7F, 0x54, 0x7B, 0x9F, 0x55, 0xCB,
+ 0xFA, 0x69, 0xEB, 0xA5, 0xBB, 0xA7, 0x8A, 0xD0, 0xE7, 0xB9, 0xCC, 0x7D,
+ 0x74, 0x4D, 0xE2, 0x9C, 0xE6, 0x3E, 0xBA, 0x26, 0xF1, 0x51, 0x22, 0xB6,
+ 0x25, 0xE7, 0x31, 0xF5, 0xD1, 0x37, 0x8A, 0x73, 0x98, 0xFA, 0xE8, 0x9B,
+ 0xC5, 0x44, 0x89, 0x62, 0x5E, 0x73, 0x1F, 0x5D, 0x13, 0x78, 0xA7, 0x39,
+ 0x8F, 0xAE, 0x89, 0xBC, 0x54, 0x48, 0x96, 0x25, 0xE7, 0x31, 0xF5, 0xD1,
+ 0x37, 0x8A, 0x73, 0x98, 0xFA, 0xE8, 0x9B, 0xC5, 0x52, 0x5E, 0x18, 0x8B,
+ 0x31, 0x0E, 0x1B, 0x9D, 0x64, 0x3D, 0xE1, 0xA4, 0xE8, 0xAC, 0xAC, 0xB6,
+ 0x32, 0x1C, 0x59, 0x83, 0x0B, 0x9A, 0x06, 0x35, 0x91, 0x1A, 0x09, 0x0E,
+ 0x35, 0x81, 0x6A, 0xAA, 0x9D, 0x59, 0xFF, 0x00, 0xE2, 0x96, 0x53, 0x17,
+ 0x9C, 0xC7, 0xD7, 0x44, 0xDE, 0x29, 0xCE, 0x63, 0xEB, 0xA2, 0x6F, 0x15,
+ 0x9B, 0x0A, 0x5E, 0x0C, 0xD4, 0x57, 0xB3, 0x93, 0x6C, 0x00, 0xC8, 0xCD,
+ 0x65, 0xB6, 0x93, 0x9C, 0x17, 0x55, 0x51, 0xAC, 0x9C, 0xFE, 0xFF, 0x00,
+ 0xE9, 0x63, 0xC5, 0x2C, 0x89, 0x0E, 0x2D, 0x99, 0x41, 0x0F, 0x93, 0x23,
+ 0xF1, 0x07, 0x1F, 0xC3, 0xEE, 0xA8, 0xD6, 0x7F, 0xF8, 0x96, 0x52, 0x2E,
+ 0x73, 0x1F, 0x5D, 0x13, 0x78, 0xA7, 0x39, 0x8F, 0xAE, 0x89, 0xBC, 0x54,
+ 0x48, 0xAD, 0x89, 0x79, 0xCC, 0x7D, 0x74, 0x4D, 0xE2, 0x9C, 0xE6, 0x3E,
+ 0xBA, 0x26, 0xF1, 0x51, 0x22, 0x58, 0x97, 0x9C, 0xC7, 0xD7, 0x44, 0xDE,
+ 0x29, 0xCE, 0x63, 0xEB, 0xA2, 0x6F, 0x15, 0x12, 0x25, 0x89, 0x79, 0xCC,
+ 0x7D, 0x74, 0x4D, 0xE2, 0xBB, 0xBF, 0x47, 0x5C, 0x5D, 0x43, 0xC0, 0x2E,
+ 0x24, 0x92, 0x0E, 0x73, 0xFC, 0xAF, 0x3F, 0x5D, 0xFF, 0x00, 0xA3, 0x9E,
+ 0xC5, 0x97, 0xFE, 0x0F, 0x15, 0x3F, 0xE0, 0xE5, 0x29, 0xD8, 0xF1, 0x59,
+ 0x4B, 0xCC, 0x86, 0xC5, 0x7B, 0x45, 0xBE, 0x80, 0xE2, 0x16, 0x07, 0x39,
+ 0x8F, 0xAE, 0x89, 0xBC, 0x56, 0x65, 0x3F, 0xED, 0x99, 0xAE, 0xFA, 0xD7,
+ 0x2A, 0x25, 0xE7, 0x31, 0xF5, 0xD1, 0x37, 0x8A, 0x73, 0x98, 0xFA, 0xE8,
+ 0x9B, 0xC5, 0x44, 0x89, 0x62, 0x5E, 0x73, 0x1F, 0x5D, 0x13, 0x78, 0xA7,
+ 0x39, 0x8F, 0xAE, 0x89, 0xBC, 0x54, 0x48, 0x96, 0x25, 0xE7, 0x31, 0xF5,
+ 0xD1, 0x37, 0x8A, 0x73, 0x98, 0xFA, 0xE8, 0x9B, 0xC5, 0x44, 0xAA, 0xDC,
+ 0xEE, 0x1F, 0xCA, 0x58, 0x93, 0x9C, 0xC7, 0xD7, 0x44, 0xDE, 0x29, 0xCE,
+ 0x63, 0xEB, 0xA2, 0x6F, 0x15, 0x9D, 0x1A, 0x4E, 0x03, 0x23, 0x4F, 0x86,
+ 0xC4, 0x86, 0xE1, 0x0A, 0xBB, 0x0C, 0x16, 0xAB, 0x6F, 0xFC, 0x80, 0x7B,
+ 0xC5, 0x5D, 0x06, 0xAE, 0x94, 0x9A, 0x87, 0x02, 0x59, 0xCE, 0x0D, 0x96,
+ 0x64, 0x4A, 0xE6, 0x62, 0xB0, 0x02, 0x5D, 0x5D, 0x40, 0x8A, 0x80, 0xA8,
+ 0xFE, 0xEA, 0x59, 0x4C, 0x1E, 0x73, 0x1F, 0x5D, 0x13, 0x78, 0xA7, 0x39,
+ 0x8F, 0xAE, 0x89, 0xBC, 0x55, 0x66, 0xE1, 0x36, 0x04, 0xDC, 0x68, 0x4C,
+ 0x35, 0xB5, 0x8F, 0x2D, 0x07, 0xF8, 0x2A, 0x15, 0x6C, 0xA4, 0xBC, 0xE6,
+ 0x3E, 0xBA, 0x26, 0xF1, 0x4E, 0x73, 0x1F, 0x5D, 0x13, 0x78, 0xA8, 0x91,
+ 0x2C, 0x4B, 0xCE, 0x63, 0xEB, 0xA2, 0x6F, 0x14, 0xE7, 0x31, 0xF5, 0xD1,
+ 0x37, 0x8A, 0x89, 0x12, 0xC4, 0xBC, 0xE6, 0x3E, 0xBA, 0x26, 0xF1, 0x57,
+ 0xC1, 0x98, 0x8C, 0x63, 0x30, 0x18, 0xD1, 0x08, 0x2E, 0x1F, 0xF7, 0x1D,
+ 0x2B, 0x1D, 0x5F, 0x03, 0xD7, 0x43, 0xEF, 0x0E, 0x29, 0x63, 0xD2, 0xA3,
+ 0x75, 0x47, 0xF8, 0x67, 0x82, 0xA4, 0xD7, 0x52, 0x8D, 0xE1, 0xBB, 0x82,
+ 0xAC, 0x6E, 0xA8, 0xFF, 0x00, 0x0C, 0xF0, 0x54, 0x9A, 0xEA, 0x51, 0xBC,
+ 0x37, 0x70, 0x59, 0x9E, 0xCD, 0x61, 0xE5, 0x0A, 0xCA, 0xF5, 0x28, 0x3E,
+ 0x1B, 0x78, 0x2A, 0xC2, 0xEA, 0xAC, 0xEE, 0x0E, 0x0A, 0x92, 0xBD, 0x4A,
+ 0x0F, 0x86, 0xDE, 0x0A, 0xB0, 0x45, 0x72, 0xCC, 0x1F, 0xF8, 0x0E, 0x0A,
+ 0x41, 0x9F, 0x94, 0xBC, 0xD6, 0x3F, 0xAF, 0x89, 0xDE, 0x3C, 0x54, 0x6B,
+ 0x7F, 0x1B, 0xD1, 0xA9, 0x93, 0x19, 0xE7, 0x94, 0x19, 0xDC, 0x4E, 0x66,
+ 0x95, 0x66, 0x4C, 0xCC, 0xF6, 0xC6, 0xE9, 0x56, 0x25, 0x96, 0x8D, 0x16,
+ 0xF3, 0x26, 0x66, 0x7B, 0x63, 0x74, 0xA6, 0x4C, 0xCC, 0xF6, 0xC6, 0xE9,
+ 0x4B, 0x1A, 0x34, 0x5B, 0xCC, 0x99, 0x99, 0xED, 0x8D, 0xD2, 0x99, 0x33,
+ 0x33, 0xDB, 0x1B, 0xA5, 0x2C, 0x68, 0xD4, 0x90, 0xA3, 0x45, 0x82, 0x49,
+ 0x84, 0xF7, 0x32, 0xBC, 0xC6, 0xA3, 0xD2, 0xB7, 0x19, 0x33, 0x33, 0xDB,
+ 0x1B, 0xA5, 0x32, 0x66, 0x67, 0xB6, 0x37, 0x4A, 0x58, 0xD4, 0xB6, 0x6E,
+ 0x65, 0x85, 0xC5, 0xB1, 0xE2, 0x02, 0xF3, 0x5B, 0x88, 0x71, 0xCE, 0x55,
+ 0x21, 0xCC, 0x46, 0x86, 0xE7, 0x39, 0x91, 0x5E, 0x1C, 0xEF, 0xCC, 0x6B,
+ 0xE9, 0xFE, 0x56, 0xDF, 0x26, 0x66, 0x7B, 0x63, 0x74, 0xA6, 0x4C, 0xCC,
+ 0xF6, 0xC6, 0xE9, 0x4B, 0x1A, 0x47, 0xBD, 0xCF, 0x71, 0x73, 0xDC, 0x5C,
+ 0xE2, 0x6B, 0x24, 0x9A, 0xC9, 0x54, 0x5B, 0xCC, 0x99, 0x99, 0xED, 0x8D,
+ 0xD2, 0x99, 0x33, 0x33, 0xDB, 0x1B, 0xA5, 0x2C, 0x68, 0xD1, 0x6F, 0x32,
+ 0x66, 0x67, 0xB6, 0x37, 0x4A, 0x64, 0xCC, 0xCF, 0x6C, 0x6E, 0x94, 0xB1,
+ 0xA3, 0x45, 0xBC, 0xC9, 0x99, 0x9E, 0xD8, 0xDD, 0x29, 0x93, 0x33, 0x3D,
+ 0xB1, 0xBA, 0x52, 0xC6, 0x8D, 0x66, 0xD0, 0xFE, 0xD2, 0x83, 0xFC, 0xAC,
+ 0xFC, 0x99, 0x99, 0xED, 0x8D, 0xD2, 0xA7, 0x91, 0xA0, 0x66, 0x25, 0x66,
+ 0xA1, 0xC6, 0x73, 0xAD, 0x06, 0x9E, 0x80, 0xD2, 0x93, 0x23, 0x79, 0xE9,
+ 0x0F, 0xB1, 0x23, 0xF7, 0x42, 0xE0, 0x17, 0xA3, 0x52, 0xB2, 0xAF, 0x9C,
+ 0xA3, 0x62, 0xC0, 0x61, 0x01, 0xCE, 0x1D, 0x25, 0x72, 0xB9, 0x33, 0x33,
+ 0xDB, 0x1B, 0xA5, 0x06, 0x8D, 0x16, 0xF3, 0x26, 0x66, 0x7B, 0x63, 0x74,
+ 0xA6, 0x4C, 0xCC, 0xF6, 0xC6, 0xE9, 0x4B, 0x1A, 0x34, 0x5B, 0xCC, 0x99,
+ 0x99, 0xED, 0x8D, 0xD2, 0x99, 0x33, 0x33, 0xDB, 0x1B, 0xA5, 0x2C, 0x68,
+ 0xD1, 0x6F, 0x32, 0x66, 0x67, 0xB6, 0x37, 0x4A, 0x64, 0xCC, 0xCF, 0x6C,
+ 0x6E, 0x94, 0xB1, 0xA4, 0x0F, 0x70, 0x69, 0x68, 0x71, 0x0D, 0x35, 0x12,
+ 0x2B, 0xCC, 0x6A, 0x57, 0x88, 0xF1, 0x45, 0x55, 0x44, 0x78, 0xAA, 0xAA,
+ 0xB3, 0xF4, 0x55, 0xD1, 0x82, 0xDC, 0x64, 0xCC, 0xCF, 0x6C, 0x6E, 0x94,
+ 0xC9, 0x99, 0x9E, 0xD8, 0xDD, 0x29, 0x63, 0x4F, 0x16, 0x62, 0x34, 0x60,
+ 0x04, 0x58, 0xAF, 0x78, 0x1D, 0x01, 0xCE, 0x26, 0xA5, 0x1A, 0xDE, 0x64,
+ 0xCC, 0xCF, 0x6C, 0x6E, 0x94, 0xC9, 0x99, 0x9E, 0xD8, 0xDD, 0x29, 0x63,
+ 0x46, 0x8B, 0x79, 0x93, 0x33, 0x3D, 0xB1, 0xBA, 0x53, 0x26, 0x66, 0x7B,
+ 0x63, 0x74, 0xA5, 0x8D, 0x1A, 0x2D, 0xE6, 0x4C, 0xCC, 0xF6, 0xC6, 0xE9,
+ 0x4C, 0x99, 0x99, 0xED, 0x8D, 0xD2, 0x96, 0x34, 0x68, 0xB7, 0x99, 0x33,
+ 0x33, 0xDB, 0x1B, 0xA5, 0x32, 0x66, 0x67, 0xB6, 0x37, 0x4A, 0x58, 0x9B,
+ 0xD1, 0x0E, 0xB5, 0x13, 0xFA, 0xFA, 0xAE, 0xB7, 0xF5, 0x3F, 0xE9, 0xF5,
+ 0x5A, 0x1A, 0x06, 0x8B, 0x8D, 0x47, 0xCC, 0xB8, 0xC4, 0x36, 0x83, 0xB4,
+ 0x02, 0x2A, 0x5B, 0xEF, 0xD4, 0xFF, 0x00, 0xA7, 0xD5, 0x41, 0x4F, 0xD5,
+ 0x1E, 0xE7, 0xD5, 0x72, 0xFE, 0x9A, 0x7A, 0xE9, 0x6E, 0xE9, 0xE2, 0xBA,
+ 0x8F, 0xD5, 0x1E, 0xE7, 0xD5, 0x6A, 0x69, 0xEA, 0x1A, 0x35, 0x29, 0x12,
+ 0x13, 0xA1, 0x44, 0x63, 0x03, 0x01, 0x06, 0xD5, 0x6B, 0x43, 0x87, 0x45,
+ 0xD1, 0x64, 0x84, 0xD6, 0xD1, 0x0B, 0xCD, 0x32, 0x42, 0x6B, 0x68, 0x85,
+ 0xE6, 0x83, 0x9D, 0x45, 0xD1, 0x64, 0x84, 0xD6, 0xD1, 0x0B, 0xCD, 0x32,
+ 0x42, 0x6B, 0x68, 0x85, 0xE6, 0x83, 0x9D, 0x45, 0xD1, 0x64, 0x84, 0xD6,
+ 0xD1, 0x0B, 0xCD, 0x32, 0x42, 0x6B, 0x68, 0x85, 0xE6, 0x83, 0x9D, 0x53,
+ 0x3E, 0x6E, 0x61, 0xE0, 0x07, 0xC6, 0x88, 0x40, 0x20, 0x8A, 0xDD, 0xEF,
+ 0x1D, 0x05, 0x6F, 0x32, 0x42, 0x6B, 0x68, 0x85, 0xE6, 0x99, 0x21, 0x35,
+ 0xB4, 0x42, 0xF3, 0x41, 0xA2, 0x8B, 0x33, 0x1A, 0x30, 0x02, 0x2C, 0x57,
+ 0xBC, 0x03, 0x58, 0x0E, 0x71, 0x35, 0x24, 0x59, 0x98, 0xF1, 0x9A, 0x1B,
+ 0x16, 0x2B, 0xDE, 0xDA, 0xEB, 0xA8, 0x9A, 0xF3, 0xAD, 0xEE, 0x48, 0x4D,
+ 0x6D, 0x10, 0xBC, 0xD3, 0x24, 0x26, 0xB6, 0x88, 0x5E, 0x68, 0x39, 0xD4,
+ 0x5D, 0x16, 0x48, 0x4D, 0x6D, 0x10, 0xBC, 0xD3, 0x24, 0x26, 0xB6, 0x88,
+ 0x5E, 0x68, 0x39, 0xD4, 0x5D, 0x16, 0x48, 0x4D, 0x6D, 0x10, 0xBC, 0xD3,
+ 0x24, 0x26, 0xB6, 0x88, 0x5E, 0x68, 0x39, 0xD4, 0x5D, 0x16, 0x48, 0x4D,
+ 0x6D, 0x10, 0xBC, 0xD3, 0x24, 0x26, 0xB6, 0x88, 0x5E, 0x68, 0x39, 0xD5,
+ 0xDF, 0xFA, 0x39, 0xEC, 0x59, 0x7F, 0xE0, 0xF1, 0x5A, 0x2C, 0x90, 0x9A,
+ 0xDA, 0x21, 0x79, 0xAE, 0x96, 0x8A, 0x94, 0x7C, 0x8C, 0x84, 0x39, 0x78,
+ 0x8E, 0x0E, 0x73, 0x2B, 0xCE, 0x3A, 0x10, 0x71, 0x34, 0xFF, 0x00, 0xB6,
+ 0x66, 0xBB, 0xEB, 0x5C, 0xBA, 0xCA, 0x4B, 0xD1, 0xA9, 0x99, 0xC9, 0xF8,
+ 0xD3, 0x0C, 0x8D, 0x0D, 0xAD, 0x7B, 0xAB, 0x00, 0xD6, 0xB1, 0x72, 0x42,
+ 0x6B, 0x68, 0x85, 0xE6, 0xA8, 0xE7, 0x51, 0x74, 0x59, 0x21, 0x35, 0xB4,
+ 0x42, 0xF3, 0x4C, 0x90, 0x9A, 0xDA, 0x21, 0x79, 0xA8, 0x39, 0xD4, 0x5D,
+ 0x16, 0x48, 0x4D, 0x6D, 0x10, 0xBC, 0xD3, 0x24, 0x26, 0xB6, 0x88, 0x5E,
+ 0x68, 0x39, 0xD4, 0x5D, 0x16, 0x48, 0x4D, 0x6D, 0x10, 0xBC, 0xD3, 0x24,
+ 0x26, 0xB6, 0x88, 0x5E, 0x68, 0x34, 0x06, 0x2C, 0x42, 0xE7, 0xB8, 0xBD,
+ 0xD5, 0xC4, 0xFC, 0xE6, 0xBF, 0xCD, 0x9E, 0xBC, 0xFF, 0x00, 0xDA, 0x91,
+ 0xB3, 0x93, 0x2D, 0xB5, 0x66, 0x62, 0x28, 0xB4, 0xE2, 0xE3, 0x53, 0x8E,
+ 0x72, 0x7A, 0x4A, 0xDD, 0xE4, 0x84, 0xD6, 0xD1, 0x0B, 0xCD, 0x32, 0x42,
+ 0x6B, 0x68, 0x85, 0xE6, 0x83, 0x9D, 0x45, 0xD1, 0x64, 0x84, 0xD6, 0xD1,
+ 0x0B, 0xCD, 0x32, 0x42, 0x6B, 0x68, 0x85, 0xE6, 0x83, 0x9D, 0x45, 0xD1,
+ 0x64, 0x84, 0xD6, 0xD1, 0x0B, 0xCD, 0x32, 0x42, 0x6B, 0x68, 0x85, 0xE6,
+ 0x83, 0x9D, 0x45, 0xD1, 0x64, 0x84, 0xD6, 0xD1, 0x0B, 0xCD, 0x32, 0x42,
+ 0x6B, 0x68, 0x85, 0xE6, 0x83, 0x9D, 0x57, 0xC0, 0xF5, 0xD0, 0xFB, 0xC3,
+ 0x8A, 0xDF, 0xE4, 0x84, 0xD6, 0xD1, 0x0B, 0xCD, 0x5C, 0xCF, 0x44, 0xA6,
+ 0x98, 0xF6, 0xBB, 0x97, 0x84, 0x6A, 0x20, 0xFB, 0xD5, 0x1D, 0x4C, 0x6E,
+ 0xA8, 0xFF, 0x00, 0x0C, 0xF0, 0x54, 0x9A, 0xEA, 0x51, 0xBC, 0x37, 0x70,
+ 0x57, 0x46, 0x15, 0x4A, 0xC4, 0x1A, 0x18, 0x78, 0x2B, 0x66, 0xBA, 0x94,
+ 0x6F, 0x0D, 0xDC, 0x16, 0x67, 0xB3, 0x58, 0x79, 0x42, 0xB2, 0xBD, 0x4A,
+ 0x0F, 0x86, 0xDE, 0x0A, 0xE8, 0x1E, 0xA2, 0x1F, 0x74, 0x70, 0x56, 0xCA,
+ 0xF5, 0x28, 0x3E, 0x1B, 0x78, 0x2B, 0xA0, 0x7A, 0x88, 0x7D, 0xD1, 0xC1,
+ 0x48, 0x32, 0xF2, 0x94, 0x88, 0x88, 0xAA, 0x08, 0x88, 0x80, 0x88, 0x88,
+ 0x08, 0x88, 0x80, 0x88, 0x88, 0x08, 0x88, 0x80, 0x88, 0x88, 0x08, 0x88,
+ 0x80, 0x88, 0x88, 0x08, 0x88, 0x80, 0x88, 0x88, 0x08, 0x88, 0x80, 0x88,
+ 0x88, 0x08, 0x88, 0x80, 0x88, 0x88, 0x08, 0x88, 0x80, 0x88, 0x88, 0x08,
+ 0x88, 0x80, 0xA3, 0xFD, 0x4F, 0xFA, 0x7D, 0x54, 0x8A, 0x3F, 0xD4, 0xFF,
+ 0x00, 0xA7, 0xD5, 0x49, 0x14, 0xFD, 0x51, 0xEE, 0x7D, 0x54, 0xAA, 0x2F,
+ 0xD5, 0x1E, 0xE7, 0xD5, 0x4A, 0xB5, 0x20, 0x88, 0x8A, 0x02, 0x22, 0x20,
+ 0x22, 0x22, 0x02, 0x22, 0x20, 0x22, 0x22, 0x02, 0x22, 0x20, 0x22, 0x22,
+ 0x02, 0x22, 0x20, 0x22, 0x22, 0x02, 0x22, 0x20, 0x22, 0x22, 0x02, 0x22,
+ 0x20, 0x22, 0x22, 0x02, 0x22, 0x20, 0x22, 0x22, 0x02, 0x22, 0x20, 0x22,
+ 0x22, 0x02, 0x22, 0x20, 0x8E, 0x63, 0xAB, 0xC5, 0xEE, 0x1E, 0x0A, 0xC9,
+ 0xAE, 0xA5, 0x1B, 0xC3, 0x77, 0x05, 0x7C, 0xC7, 0x57, 0x8B, 0xDC, 0x3C,
+ 0x15, 0x93, 0x5D, 0x4A, 0x37, 0x86, 0xEE, 0x09, 0x3D, 0x9A, 0xC3, 0xCA,
+ 0x15, 0x95, 0xEA, 0x50, 0x7C, 0x36, 0xF0, 0x57, 0x40, 0xF5, 0x10, 0xFB,
+ 0xA3, 0x82, 0xB6, 0x57, 0xA9, 0x41, 0xF0, 0xDB, 0xC1, 0x5D, 0x03, 0xD4,
+ 0x43, 0xEE, 0x8E, 0x0A, 0x42, 0x65, 0xE5, 0x29, 0x11, 0x11, 0x54, 0x11,
+ 0x11, 0x01, 0x11, 0x10, 0x11, 0x11, 0x01, 0x11, 0x10, 0x11, 0x11, 0x01,
+ 0x11, 0x10, 0x11, 0x11, 0x01, 0x51, 0x55, 0x10, 0x11, 0x11, 0x01, 0x11,
+ 0x10, 0x11, 0x11, 0x01, 0x11, 0x10, 0x11, 0x11, 0x01, 0x11, 0x10, 0x11,
+ 0x11, 0x01, 0x11, 0x10, 0x11, 0x11, 0x01, 0x47, 0xFA, 0x9F, 0xF4, 0xFA,
+ 0xA9, 0x14, 0x7F, 0xA9, 0xFF, 0x00, 0x4F, 0xAA, 0x92, 0x29, 0xFA, 0xA3,
+ 0xDC, 0xFA, 0xA9, 0x54, 0x5F, 0xAA, 0x3D, 0xCF, 0xAA, 0x95, 0x6A, 0x41,
+ 0x11, 0x14, 0x04, 0x44, 0x40, 0x44, 0x44, 0x04, 0x44, 0x40, 0x44, 0x44,
+ 0x04, 0x44, 0x40, 0x44, 0x44, 0x05, 0x4A, 0xB3, 0x2A, 0xA2, 0x02, 0x22,
+ 0x20, 0x2A, 0x2A, 0xA2, 0x02, 0x22, 0x20, 0x22, 0x22, 0x02, 0x22, 0x20,
+ 0x22, 0x22, 0x02, 0x22, 0x20, 0x22, 0x22, 0x02, 0x22, 0x20, 0x22, 0x22,
+ 0x08, 0xE6, 0x3A, 0xBC, 0x5E, 0xE1, 0xE0, 0xAC, 0x9A, 0xEA, 0x51, 0xBC,
+ 0x37, 0x70, 0x57, 0xCC, 0x75, 0x78, 0xBD, 0xC3, 0xC1, 0x59, 0x35, 0xD4,
+ 0xA3, 0x78, 0x6E, 0xE0, 0x93, 0xD9, 0xAC, 0x3C, 0xA1, 0x59, 0x5E, 0xA5,
+ 0x07, 0xC3, 0x6F, 0x05, 0x74, 0x0E, 0xAF, 0x0F, 0xB8, 0x38, 0x2B, 0x65,
+ 0x7A, 0x94, 0x1F, 0x0D, 0xBC, 0x15, 0x61, 0x75, 0x56, 0x77, 0x07, 0x05,
+ 0x21, 0x33, 0xF2, 0x94, 0x57, 0x8C, 0x98, 0xE9, 0x9A, 0x85, 0xBE, 0x12,
+ 0xF2, 0x92, 0xDA, 0xA0, 0xEF, 0x85, 0xE7, 0x51, 0xFD, 0x7C, 0x4E, 0xF1,
+ 0xE2, 0xA3, 0x55, 0x97, 0xA4, 0xDE, 0x52, 0x5B, 0x54, 0x1D, 0xF0, 0x97,
+ 0x94, 0x96, 0xD5, 0x07, 0x7C, 0x2F, 0x36, 0x44, 0xA1, 0xE9, 0x37, 0x94,
+ 0x96, 0xD5, 0x07, 0x7C, 0x25, 0xE5, 0x25, 0xB5, 0x41, 0xDF, 0x0B, 0xCD,
+ 0x91, 0x28, 0x7A, 0x4D, 0xE5, 0x25, 0xB5, 0x41, 0xDF, 0x09, 0x79, 0x49,
+ 0x6D, 0x50, 0x77, 0xC2, 0xF3, 0x64, 0x4A, 0x1E, 0x93, 0x79, 0x49, 0x6D,
+ 0x50, 0x77, 0xC2, 0x5E, 0x52, 0x5B, 0x54, 0x1D, 0xF0, 0xBC, 0xD9, 0x12,
+ 0x87, 0xA4, 0xDE, 0x52, 0x5B, 0x54, 0x1D, 0xF0, 0x97, 0x94, 0x96, 0xD5,
+ 0x07, 0x7C, 0x2F, 0x36, 0x44, 0xA1, 0xE9, 0x37, 0x94, 0x96, 0xD5, 0x07,
+ 0x7C, 0x25, 0xE5, 0x25, 0xB5, 0x41, 0xDF, 0x0B, 0xCD, 0x91, 0x28, 0x7A,
+ 0x4D, 0xE5, 0x25, 0xB5, 0x41, 0xDF, 0x09, 0x79, 0x49, 0x6D, 0x50, 0x77,
+ 0xC2, 0xF3, 0x64, 0x4A, 0x1E, 0x93, 0x79, 0x49, 0x6D, 0x50, 0x77, 0xC2,
+ 0x5E, 0x52, 0x5B, 0x54, 0x1D, 0xF0, 0xBC, 0xD9, 0x12, 0x87, 0xA4, 0xDE,
+ 0x52, 0x5B, 0x54, 0x1D, 0xF0, 0x97, 0x94, 0x96, 0xD5, 0x07, 0x7C, 0x2F,
+ 0x36, 0x44, 0xA1, 0xE9, 0x37, 0x94, 0x96, 0xD5, 0x07, 0x7C, 0x25, 0xE5,
+ 0x25, 0xB5, 0x41, 0xDF, 0x0B, 0xCD, 0x91, 0x28, 0x7A, 0x4D, 0xE5, 0x25,
+ 0xB5, 0x41, 0xDF, 0x09, 0x79, 0x49, 0x6D, 0x50, 0x77, 0xC2, 0xF3, 0x64,
+ 0x4A, 0x1E, 0x93, 0x79, 0x49, 0x6D, 0x50, 0x77, 0xC2, 0x5E, 0x52, 0x5B,
+ 0x54, 0x1D, 0xF0, 0xBC, 0xD9, 0x12, 0x87, 0xA4, 0xDE, 0x52, 0x5B, 0x54,
+ 0x1D, 0xF0, 0x97, 0x94, 0x96, 0xD5, 0x07, 0x7C, 0x2F, 0x36, 0x44, 0xA1,
+ 0xE9, 0x37, 0x94, 0x96, 0xD5, 0x07, 0x7C, 0x25, 0xE5, 0x25, 0xB5, 0x41,
+ 0xDF, 0x0B, 0xCD, 0x91, 0x28, 0x7A, 0x4D, 0xE5, 0x25, 0xB5, 0x41, 0xDF,
+ 0x09, 0x79, 0x49, 0x6D, 0x50, 0x77, 0xC2, 0xF3, 0x64, 0x4A, 0x1E, 0x93,
+ 0x79, 0x49, 0x6D, 0x50, 0x77, 0xC2, 0x5E, 0x52, 0x5B, 0x54, 0x1D, 0xF0,
+ 0xBC, 0xD9, 0x12, 0x87, 0xA4, 0xDE, 0x52, 0x5B, 0x54, 0x1D, 0xF0, 0x97,
+ 0x94, 0x96, 0xD5, 0x07, 0x7C, 0x2F, 0x36, 0x44, 0xA1, 0xE9, 0xB0, 0x66,
+ 0xA0, 0x4C, 0x12, 0x20, 0xC6, 0x64, 0x42, 0x3A, 0x6C, 0x9A, 0xEA, 0x57,
+ 0x7E, 0xA7, 0xFD, 0x3E, 0xAB, 0x93, 0xF4, 0x3C, 0x91, 0x33, 0x17, 0x3F,
+ 0x4D, 0x5F, 0x55, 0xD6, 0x7E, 0xA7, 0xFD, 0x3E, 0xAA, 0x0A, 0x7E, 0xA8,
+ 0xF7, 0x3E, 0xAA, 0x91, 0xA6, 0xA0, 0x4B, 0x90, 0x23, 0x46, 0x64, 0x32,
+ 0x7A, 0x2D, 0x1A, 0xAB, 0x55, 0xFD, 0x51, 0xEE, 0x7D, 0x57, 0x2F, 0xE9,
+ 0xA7, 0xAE, 0x96, 0xEE, 0x9E, 0x2B, 0x43, 0xA3, 0xBC, 0xA4, 0xB6, 0xA8,
+ 0x3B, 0xE1, 0x2F, 0x29, 0x2D, 0xAA, 0x0E, 0xF8, 0x5E, 0x6C, 0x89, 0xD0,
+ 0x7A, 0x4D, 0xE5, 0x25, 0xB5, 0x41, 0xDF, 0x09, 0x79, 0x49, 0x6D, 0x50,
+ 0x77, 0xC2, 0xF3, 0x64, 0x4E, 0x83, 0xD2, 0x6F, 0x29, 0x2D, 0xAA, 0x0E,
+ 0xF8, 0x4B, 0xCA, 0x4B, 0x6A, 0x83, 0xBE, 0x17, 0x9B, 0x22, 0x74, 0x1E,
+ 0x93, 0x79, 0x49, 0x6D, 0x50, 0x77, 0xC2, 0x5E, 0x52, 0x5B, 0x54, 0x1D,
+ 0xF0, 0xBC, 0xD9, 0x13, 0xA0, 0xF4, 0x9B, 0xCA, 0x4B, 0x6A, 0x83, 0xBE,
+ 0x12, 0xF2, 0x92, 0xDA, 0xA0, 0xEF, 0x85, 0xE6, 0xC8, 0x9D, 0x07, 0xA4,
+ 0xDE, 0x52, 0x5B, 0x54, 0x1D, 0xF0, 0x97, 0x94, 0x96, 0xD5, 0x07, 0x7C,
+ 0x2F, 0x36, 0x44, 0xE8, 0x3D, 0x26, 0xF2, 0x92, 0xDA, 0xA0, 0xEF, 0x84,
+ 0xBC, 0xA4, 0xB6, 0xA8, 0x3B, 0xE1, 0x79, 0xB2, 0x27, 0x41, 0xE9, 0x37,
+ 0x94, 0x96, 0xD5, 0x07, 0x7C, 0x25, 0xE5, 0x25, 0xB5, 0x41, 0xDF, 0x0B,
+ 0xCD, 0x91, 0x3A, 0x0F, 0x49, 0xBC, 0xA4, 0xB6, 0xA8, 0x3B, 0xE1, 0x2F,
+ 0x29, 0x2D, 0xAA, 0x0E, 0xF8, 0x5E, 0x6C, 0x89, 0xD0, 0x7A, 0x4D, 0xE5,
+ 0x25, 0xB5, 0x41, 0xDF, 0x09, 0x79, 0x49, 0x6D, 0x50, 0x77, 0xC2, 0xF3,
+ 0x64, 0x4E, 0x83, 0xD2, 0x6F, 0x29, 0x2D, 0xAA, 0x0E, 0xF8, 0x4B, 0xCA,
+ 0x4B, 0x6A, 0x83, 0xBE, 0x17, 0x9B, 0x22, 0x74, 0x1E, 0x93, 0x79, 0x49,
+ 0x6D, 0x50, 0x77, 0xC2, 0x5E, 0x52, 0x5B, 0x54, 0x1D, 0xF0, 0xBC, 0xD9,
+ 0x13, 0xA0, 0xF4, 0x9B, 0xCA, 0x4B, 0x6A, 0x83, 0xBE, 0x12, 0xF2, 0x92,
+ 0xDA, 0xA0, 0xEF, 0x85, 0xE6, 0xC8, 0x9D, 0x07, 0xA4, 0xDE, 0x52, 0x5B,
+ 0x54, 0x1D, 0xF0, 0x97, 0x94, 0x96, 0xD5, 0x07, 0x7C, 0x2F, 0x36, 0x44,
+ 0xE8, 0x3D, 0x26, 0xF2, 0x92, 0xDA, 0xA0, 0xEF, 0x84, 0xBC, 0xA4, 0xB6,
+ 0xA8, 0x3B, 0xE1, 0x79, 0xB2, 0x27, 0x41, 0xE9, 0x37, 0x94, 0x96, 0xD5,
+ 0x07, 0x7C, 0x25, 0xE5, 0x25, 0xB5, 0x41, 0xDF, 0x0B, 0xCD, 0x91, 0x3A,
+ 0x0F, 0x49, 0xBC, 0xA4, 0xB6, 0xA8, 0x3B, 0xE1, 0x2F, 0x29, 0x2D, 0xAA,
+ 0x0E, 0xF8, 0x5E, 0x6C, 0x89, 0xD0, 0x7A, 0x4D, 0xE5, 0x25, 0xB5, 0x41,
+ 0xDF, 0x09, 0x79, 0x49, 0x1E, 0x89, 0xA8, 0x5B, 0xE1, 0x79, 0xB2, 0xBE,
+ 0x07, 0xAE, 0x87, 0xDE, 0x1C, 0x53, 0xA0, 0xF4, 0xB9, 0x8C, 0xF2, 0xD1,
+ 0x7B, 0x87, 0x82, 0xB6, 0x6B, 0xA9, 0x46, 0xF0, 0xDD, 0xC1, 0x56, 0x37,
+ 0x54, 0x7F, 0x86, 0x78, 0x2A, 0x4D, 0x75, 0x28, 0xDE, 0x1B, 0xB8, 0x29,
+ 0x3D, 0x9A, 0xC3, 0xCA, 0x15, 0x95, 0xEA, 0x50, 0x7C, 0x36, 0xF0, 0x55,
+ 0x85, 0xD5, 0x59, 0xDC, 0x1C, 0x15, 0x25, 0x7A, 0x94, 0x1F, 0x0D, 0xBC,
+ 0x15, 0x61, 0x75, 0x56, 0x77, 0x07, 0x05, 0x20, 0xCF, 0xCA, 0x5E, 0x6B,
+ 0x1F, 0xD7, 0xC4, 0xEF, 0x1E, 0x2A, 0x35, 0x24, 0x7F, 0x5F, 0x13, 0xBC,
+ 0x78, 0xA8, 0xD6, 0xA1, 0x91, 0x11, 0x11, 0x44, 0x44, 0x40, 0x44, 0x44,
+ 0x04, 0x44, 0x40, 0x44, 0x44, 0x17, 0x16, 0x3C, 0x16, 0x82, 0xD7, 0x56,
+ 0xEC, 0xED, 0xCD, 0xD3, 0xFC, 0x2B, 0xD9, 0x2D, 0x1E, 0x25, 0xAE, 0x4E,
+ 0x04, 0x47, 0xD9, 0x35, 0x3A, 0xCB, 0x09, 0xAB, 0xF9, 0x59, 0xC2, 0x13,
+ 0xA3, 0xBA, 0x46, 0x24, 0x32, 0xD2, 0xC8, 0x6C, 0x6B, 0x5E, 0x4B, 0x80,
+ 0xB2, 0x43, 0x8D, 0x75, 0xE8, 0x52, 0xDA, 0xE7, 0x02, 0xB1, 0x0C, 0x46,
+ 0x86, 0x23, 0x3D, 0xCD, 0x74, 0x38, 0x96, 0x1F, 0x0E, 0xB3, 0xEF, 0xAF,
+ 0x36, 0x83, 0x5D, 0x5F, 0xDA, 0x0D, 0x64, 0x39, 0x59, 0x88, 0xCD, 0x2E,
+ 0x85, 0x02, 0x2B, 0xDA, 0x0D, 0x44, 0xB5, 0x84, 0x8A, 0xD4, 0x61, 0x8E,
+ 0x73, 0xC3, 0x03, 0x49, 0x71, 0x35, 0x06, 0x81, 0x9E, 0xBD, 0x0B, 0x72,
+ 0xE6, 0xB1, 0xD0, 0x08, 0x68, 0xE7, 0x56, 0x66, 0xA2, 0x1B, 0x42, 0x28,
+ 0x65, 0x79, 0x9B, 0x9F, 0xFB, 0x58, 0xF6, 0xDA, 0x7D, 0x21, 0x87, 0x13,
+ 0x94, 0x6B, 0x9A, 0x66, 0x1A, 0xE2, 0xEA, 0xF3, 0x74, 0x8A, 0xF3, 0xFE,
+ 0xDA, 0x50, 0x60, 0xC5, 0x97, 0x8D, 0x00, 0x03, 0x1A, 0x0C, 0x48, 0x75,
+ 0xF4, 0x5B, 0x69, 0x15, 0xA8, 0xD6, 0xCA, 0x1B, 0x0C, 0x08, 0x33, 0x2D,
+ 0x9A, 0x78, 0x6C, 0x38, 0x95, 0x06, 0xB4, 0x3C, 0x12, 0x4D, 0xA0, 0x6B,
+ 0x00, 0x68, 0x15, 0xE7, 0xFD, 0xD6, 0x44, 0x76, 0xC9, 0xC2, 0x70, 0x2F,
+ 0x84, 0xDE, 0x4F, 0x95, 0x0D, 0x69, 0x00, 0x0F, 0xC0, 0x6B, 0xAE, 0xAA,
+ 0x89, 0xB5, 0xEE, 0x35, 0xE9, 0x41, 0xA6, 0x0D, 0x73, 0x81, 0x20, 0x12,
+ 0x1A, 0x2B, 0x24, 0x0E, 0x85, 0x45, 0xB4, 0xE4, 0x65, 0xA1, 0x72, 0xB0,
+ 0x1E, 0xE6, 0x1E, 0x4E, 0x1B, 0x6D, 0xC4, 0x69, 0xE9, 0x26, 0x23, 0x6B,
+ 0xAB, 0xF8, 0x6F, 0xD5, 0x5E, 0x20, 0xC2, 0x33, 0x20, 0x4C, 0x42, 0x81,
+ 0x0E, 0x1D, 0xB7, 0x72, 0x76, 0x48, 0xFC, 0x59, 0x8D, 0x9F, 0x7E, 0x71,
+ 0x5D, 0x59, 0xC9, 0xFE, 0xD0, 0x6A, 0x14, 0xAD, 0x97, 0x8E, 0xE8, 0x46,
+ 0x2B, 0x60, 0xC4, 0x30, 0xC7, 0x4B, 0xC3, 0x4D, 0x43, 0xFB, 0x59, 0x14,
+ 0x8B, 0x61, 0xB4, 0xC2, 0xB2, 0xCB, 0x31, 0x2C, 0x9B, 0x7F, 0x84, 0x37,
+ 0xDF, 0x9B, 0x30, 0x26, 0xA5, 0x91, 0x11, 0x91, 0x62, 0xCD, 0xC2, 0x8F,
+ 0x2F, 0x19, 0xB0, 0xE0, 0x06, 0x34, 0x36, 0x25, 0xA1, 0x54, 0x30, 0x06,
+ 0x70, 0x46, 0x39, 0xBD, 0xFF, 0x00, 0xDA, 0x0D, 0x52, 0x2D, 0xA4, 0x38,
+ 0x50, 0x8C, 0x06, 0x7E, 0x08, 0x46, 0x01, 0x82, 0xE2, 0xF8, 0x86, 0xAB,
+ 0x41, 0xF9, 0xEA, 0xFE, 0xEB, 0xAB, 0x32, 0xBD, 0x8D, 0x96, 0x74, 0x77,
+ 0xB1, 0xB0, 0xE1, 0xD6, 0xC8, 0x2C, 0x2C, 0x01, 0xA1, 0xC5, 0xCE, 0x21,
+ 0xB6, 0xBA, 0x48, 0xAC, 0xF4, 0xE6, 0x41, 0xA8, 0x45, 0x93, 0x3E, 0xD8,
+ 0x6D, 0x9A, 0x22, 0x13, 0x6C, 0x8B, 0x22, 0xB0, 0x2A, 0xAA, 0xBA, 0xB3,
+ 0xF4, 0x13, 0x82, 0xC6, 0x40, 0x44, 0x44, 0x04, 0x44, 0x40, 0x44, 0x44,
+ 0x04, 0x44, 0x40, 0x44, 0x44, 0x1D, 0x17, 0xA2, 0x1D, 0x6A, 0x27, 0xF5,
+ 0xF5, 0x5D, 0x6F, 0xEA, 0x7F, 0xD3, 0xEA, 0xB9, 0x2F, 0x44, 0x3A, 0xD4,
+ 0x4F, 0xEB, 0xEA, 0xBA, 0xDF, 0xD4, 0xFF, 0x00, 0xA7, 0xD5, 0x65, 0x14,
+ 0xFD, 0x51, 0xEE, 0x7D, 0x57, 0x2F, 0xE9, 0xA7, 0xAE, 0x96, 0xEE, 0x9E,
+ 0x2B, 0xA8, 0xFD, 0x51, 0xEE, 0x7D, 0x57, 0x2F, 0xE9, 0xA7, 0xAE, 0x96,
+ 0xEE, 0x9E, 0x2B, 0x43, 0x99, 0x44, 0x44, 0x51, 0x11, 0x10, 0x11, 0x11,
+ 0x01, 0x11, 0x10, 0x11, 0x11, 0x01, 0x11, 0x10, 0x56, 0xCB, 0xAC, 0xDA,
+ 0xB2, 0x6C, 0xD7, 0x55, 0x75, 0x66, 0xAD, 0x5E, 0xC8, 0x11, 0xA2, 0x38,
+ 0x35, 0x90, 0x9E, 0xE7, 0x11, 0x58, 0x01, 0xA4, 0x92, 0x34, 0xAC, 0x98,
+ 0x0C, 0x31, 0xE8, 0xE7, 0xC2, 0x85, 0x53, 0xA2, 0x08, 0xC1, 0xD6, 0x6B,
+ 0xA8, 0x91, 0x51, 0x15, 0xAC, 0xBA, 0xC9, 0xAE, 0x0B, 0x44, 0x38, 0xD5,
+ 0x40, 0x86, 0xC8, 0x90, 0xED, 0xD4, 0x49, 0x19, 0xF3, 0x11, 0xA3, 0x32,
+ 0x0D, 0x63, 0x65, 0x63, 0xBA, 0x23, 0xA1, 0xB6, 0x04, 0x43, 0x11, 0xB9,
+ 0xCB, 0x43, 0x0D, 0x63, 0xFA, 0x56, 0x44, 0x86, 0xF8, 0x4E, 0xB3, 0x11,
+ 0x8E, 0x63, 0x87, 0xB9, 0xC2, 0xA2, 0xB7, 0x2D, 0x63, 0x07, 0x2C, 0xCA,
+ 0xDC, 0xF2, 0x65, 0x9A, 0x39, 0x27, 0x45, 0x16, 0x9B, 0xFF, 0x00, 0x20,
+ 0xFC, 0x36, 0xBF, 0x8C, 0xEB, 0x0A, 0x92, 0x2D, 0xB1, 0x2C, 0xD1, 0x53,
+ 0x4B, 0x58, 0x5A, 0x61, 0xDB, 0x0F, 0x2D, 0xCE, 0x4F, 0x4F, 0xEF, 0x5F,
+ 0x42, 0x0C, 0x3E, 0x4A, 0x25, 0xB0, 0xCB, 0x0E, 0xB6, 0x6A, 0xA9, 0xB5,
+ 0x67, 0x35, 0xF4, 0x2B, 0x56, 0xEA, 0x1C, 0x69, 0x61, 0x4B, 0xCB, 0x57,
+ 0x0E, 0xB7, 0x06, 0xC2, 0xAE, 0x27, 0x29, 0x98, 0x7E, 0x06, 0xFB, 0x94,
+ 0x30, 0xE1, 0x42, 0x30, 0x19, 0xF8, 0x21, 0x18, 0x06, 0x0B, 0x8B, 0xE2,
+ 0x12, 0x2D, 0x07, 0xD4, 0x6A, 0xFD, 0xEB, 0xAE, 0xAC, 0xC8, 0x35, 0x69,
+ 0x51, 0x26, 0xA0, 0x33, 0xAD, 0xD3, 0x59, 0x0A, 0x19, 0x97, 0x88, 0xD6,
+ 0x42, 0x86, 0x1B, 0x12, 0x1D, 0x55, 0x80, 0x6B, 0xD2, 0x43, 0x81, 0xCF,
+ 0xA4, 0xD6, 0x33, 0x2C, 0x49, 0x77, 0x88, 0x74, 0xAB, 0x8C, 0x42, 0xD8,
+ 0x6E, 0xAD, 0xE1, 0xA4, 0xE6, 0x0D, 0x71, 0x06, 0xC9, 0xC6, 0xA4, 0x18,
+ 0x91, 0x65, 0xE3, 0x41, 0x00, 0xC6, 0x83, 0x12, 0x18, 0x3D, 0x16, 0xDA,
+ 0x45, 0x6A, 0x35, 0xB1, 0x81, 0x2E, 0xE8, 0x65, 0xAD, 0x9D, 0x8A, 0x21,
+ 0xC1, 0x7C, 0x56, 0x5A, 0x61, 0x70, 0x36, 0xB3, 0xE7, 0x3F, 0xD0, 0xF7,
+ 0xFE, 0xEA, 0x66, 0x43, 0x85, 0x5B, 0x0C, 0xD4, 0x18, 0x2C, 0x7D, 0xA7,
+ 0xD4, 0xC6, 0x9A, 0x83, 0x9A, 0x1A, 0x48, 0xAE, 0xA3, 0xA6, 0xAA, 0x8F,
+ 0xBD, 0x06, 0xA1, 0x16, 0xE2, 0x5D, 0x92, 0xD1, 0x25, 0x99, 0x11, 0xD0,
+ 0xDA, 0x43, 0x83, 0x8C, 0x6A, 0x9A, 0xDF, 0xC2, 0x6B, 0x35, 0x67, 0x24,
+ 0x59, 0xCD, 0x55, 0x59, 0xB1, 0x5A, 0x74, 0x04, 0x44, 0x40, 0x44, 0x44,
+ 0x04, 0x44, 0x40, 0x44, 0x44, 0x04, 0x44, 0x40, 0x57, 0xC0, 0xF5, 0xD0,
+ 0xFB, 0xC3, 0x8A, 0xB1, 0x5F, 0x03, 0xD7, 0x43, 0xEF, 0x0E, 0x28, 0x8F,
+ 0x4A, 0x8D, 0xD5, 0x1F, 0xE1, 0x9E, 0x0A, 0x93, 0x5D, 0x4A, 0x37, 0x86,
+ 0xEE, 0x0A, 0xB1, 0xBA, 0xA3, 0xFC, 0x33, 0xC1, 0x52, 0x6B, 0xA9, 0x46,
+ 0xF0, 0xDD, 0xC1, 0x49, 0xEC, 0xD6, 0x1E, 0x50, 0xAC, 0xAF, 0x52, 0x83,
+ 0xE1, 0xB7, 0x82, 0xAC, 0x2E, 0xAA, 0xCE, 0xE0, 0xE0, 0xA9, 0x2B, 0xD4,
+ 0xA0, 0xF8, 0x6D, 0xE0, 0xAB, 0x0B, 0xAA, 0xB3, 0xB8, 0x38, 0x29, 0x06,
+ 0x7E, 0x52, 0xF3, 0x58, 0xFE, 0xBE, 0x27, 0x78, 0xF1, 0x51, 0xA9, 0x23,
+ 0xFA, 0xF8, 0x9D, 0xE3, 0xC5, 0x46, 0xB5, 0x0C, 0x88, 0x88, 0x8A, 0x22,
+ 0x22, 0x02, 0x22, 0x20, 0x22, 0x22, 0x02, 0x22, 0x20, 0x22, 0x22, 0x02,
+ 0x22, 0x20, 0x22, 0x22, 0x02, 0x22, 0x20, 0x22, 0x22, 0x02, 0x22, 0x20,
+ 0x22, 0x22, 0x02, 0x22, 0x20, 0x22, 0x22, 0x02, 0x22, 0x20, 0x22, 0x22,
+ 0x02, 0x22, 0x20, 0xE8, 0xBD, 0x10, 0xEB, 0x51, 0x3F, 0xAF, 0xAA, 0xEB,
+ 0x7F, 0x53, 0xFE, 0x9F, 0x55, 0xC9, 0x7A, 0x21, 0xD6, 0xA2, 0x7F, 0x5F,
+ 0x55, 0xD6, 0xFE, 0xA7, 0xFD, 0x3E, 0xAB, 0x28, 0xA7, 0xEA, 0x8F, 0x73,
+ 0xEA, 0xB9, 0x7F, 0x4D, 0x3D, 0x74, 0xB7, 0x74, 0xF1, 0x5D, 0x47, 0xEA,
+ 0x8F, 0x73, 0xEA, 0xB9, 0x7F, 0x4D, 0x3D, 0x74, 0xB7, 0x74, 0xF1, 0x5A,
+ 0x1C, 0xCA, 0x22, 0x22, 0x88, 0x88, 0x80, 0x88, 0x88, 0x08, 0x88, 0x80,
+ 0x88, 0x88, 0x08, 0x88, 0x80, 0x88, 0x88, 0x08, 0x88, 0x80, 0x88, 0x88,
+ 0x08, 0x88, 0x80, 0x88, 0x88, 0x08, 0x88, 0x80, 0x88, 0x88, 0x08, 0x88,
+ 0x80, 0x88, 0x88, 0x08, 0x88, 0x80, 0x88, 0x88, 0x0A, 0xF8, 0x1E, 0xBA,
+ 0x1F, 0x78, 0x71, 0x56, 0x2B, 0xE0, 0x7A, 0xE8, 0x7D, 0xE1, 0xC5, 0x11,
+ 0xE9, 0x51, 0xBA, 0xA3, 0xFC, 0x33, 0xC1, 0x52, 0x6B, 0xA9, 0x46, 0xF0,
+ 0xDD, 0xC1, 0x56, 0x37, 0x54, 0x7F, 0x86, 0x78, 0x2A, 0x4D, 0x75, 0x28,
+ 0xDE, 0x1B, 0xB8, 0x29, 0x3D, 0x9A, 0xC3, 0xCA, 0x15, 0x95, 0xEA, 0x50,
+ 0x7C, 0x36, 0xF0, 0x57, 0x40, 0xCF, 0x2F, 0x0F, 0xB8, 0x38, 0x2B, 0x65,
+ 0x3A, 0x9C, 0x0F, 0x0D, 0xBC, 0x14, 0x76, 0xE4, 0x7B, 0x52, 0xF8, 0xB5,
+ 0x48, 0x33, 0xF2, 0x96, 0x2B, 0xE8, 0x19, 0x27, 0x3C, 0xBB, 0x92, 0x86,
+ 0x2B, 0x35, 0xFE, 0x4A, 0xD5, 0xB9, 0x3F, 0x27, 0xAA, 0x87, 0xB8, 0xB3,
+ 0x39, 0x49, 0x1E, 0xD4, 0xBE, 0x2D, 0x4E, 0x52, 0x47, 0xB5, 0x2F, 0x8B,
+ 0x51, 0x96, 0x1E, 0x4F, 0xC9, 0xEA, 0xA1, 0xEE, 0x26, 0x4F, 0xC9, 0xEA,
+ 0xA1, 0xEE, 0x2C, 0xCE, 0x52, 0x47, 0xB5, 0x2F, 0x8B, 0x53, 0x94, 0x91,
+ 0xED, 0x4B, 0xE2, 0xD4, 0x18, 0x79, 0x3F, 0x27, 0xAA, 0x87, 0xB8, 0x99,
+ 0x3F, 0x27, 0xAA, 0x87, 0xB8, 0xB3, 0x39, 0x49, 0x1E, 0xD4, 0xBE, 0x2D,
+ 0x4E, 0x52, 0x47, 0xB5, 0x2F, 0x8B, 0x50, 0x61, 0xE4, 0xFC, 0x9E, 0xAA,
+ 0x1E, 0xE2, 0x64, 0xFC, 0x9E, 0xAA, 0x1E, 0xE2, 0xCC, 0xE5, 0x24, 0x7B,
+ 0x52, 0xF8, 0xB5, 0x39, 0x49, 0x1E, 0xD4, 0xBE, 0x2D, 0x41, 0x87, 0x93,
+ 0xF2, 0x7A, 0xA8, 0x7B, 0x89, 0x93, 0xF2, 0x7A, 0xA8, 0x7B, 0x8B, 0x33,
+ 0x94, 0x91, 0xED, 0x4B, 0xE2, 0xD4, 0xE5, 0x24, 0x7B, 0x52, 0xF8, 0xB5,
+ 0x06, 0x1E, 0x4F, 0xC9, 0xEA, 0xA1, 0xEE, 0x26, 0x4F, 0xC9, 0xEA, 0xA1,
+ 0xEE, 0x2C, 0xCE, 0x52, 0x47, 0xB5, 0x2F, 0x8B, 0x53, 0x94, 0x91, 0xED,
+ 0x4B, 0xE2, 0xD4, 0x18, 0x79, 0x3F, 0x27, 0xAA, 0x87, 0xB8, 0x99, 0x3F,
+ 0x27, 0xAA, 0x87, 0xB8, 0xB3, 0x39, 0x49, 0x1E, 0xDC, 0xBE, 0x2D, 0x4E,
+ 0x52, 0x47, 0xB7, 0x2F, 0x8B, 0x50, 0x61, 0xE4, 0xFC, 0x9E, 0xAA, 0x1E,
+ 0xE2, 0x64, 0xFC, 0x9E, 0xAA, 0x1E, 0xE2, 0xCC, 0xE5, 0x24, 0x7B, 0x72,
+ 0xF8, 0xB5, 0x39, 0x49, 0x1E, 0xDC, 0xBE, 0x2D, 0x41, 0x87, 0x93, 0xF2,
+ 0x7A, 0xA8, 0x7B, 0x89, 0x93, 0xF2, 0x7A, 0xA8, 0x7B, 0x8B, 0x33, 0x94,
+ 0x91, 0xED, 0xCB, 0xE2, 0xD4, 0xE5, 0x24, 0x7B, 0x72, 0xF8, 0xB5, 0x06,
+ 0x1E, 0x4F, 0xC9, 0xEA, 0xA1, 0xEE, 0x26, 0x4F, 0xC9, 0xEA, 0xA1, 0xEE,
+ 0x2C, 0xCE, 0x52, 0x47, 0xB7, 0x2F, 0x8B, 0x53, 0x94, 0x91, 0xED, 0xCB,
+ 0xE2, 0xD4, 0x18, 0x79, 0x3F, 0x27, 0xAA, 0x87, 0xB8, 0x99, 0x3F, 0x27,
+ 0xAA, 0x87, 0xB8, 0xB3, 0x39, 0x49, 0x1E, 0xDC, 0xBE, 0x2D, 0x4E, 0x52,
+ 0x47, 0xB7, 0x2F, 0x8B, 0x50, 0x61, 0xE4, 0xFC, 0x9E, 0xAA, 0x1E, 0xE2,
+ 0x64, 0xFC, 0x9E, 0xAA, 0x1E, 0xE2, 0xCC, 0xE5, 0x24, 0x7B, 0x72, 0xF8,
+ 0xB5, 0x39, 0x49, 0x1E, 0xDC, 0xBE, 0x2D, 0x41, 0x87, 0x93, 0xF2, 0x7A,
+ 0xA8, 0x7B, 0x89, 0x93, 0xF2, 0x7A, 0xA8, 0x7B, 0x8B, 0x33, 0x94, 0x91,
+ 0xED, 0xCB, 0xE2, 0xD4, 0xE5, 0x24, 0x7B, 0x52, 0xF8, 0xB5, 0x06, 0x1E,
+ 0x4F, 0xC9, 0xEA, 0xA1, 0xEE, 0x26, 0x4F, 0xC9, 0xEA, 0xA1, 0xEE, 0x2C,
+ 0xCE, 0x52, 0x47, 0xB5, 0x2F, 0x8B, 0x53, 0x94, 0x91, 0xED, 0x4B, 0xE2,
+ 0xD4, 0x18, 0x79, 0x3F, 0x27, 0xAA, 0x87, 0xB8, 0x99, 0x3F, 0x27, 0xAA,
+ 0x87, 0xB8, 0xB3, 0x39, 0x49, 0x1E, 0xD4, 0xBE, 0x2D, 0x4E, 0x52, 0x47,
+ 0xB5, 0x2F, 0x8B, 0x50, 0x61, 0xE4, 0xFC, 0x9E, 0xAA, 0x1E, 0xE2, 0x64,
+ 0xFC, 0x9E, 0xAA, 0x1E, 0xE2, 0xCC, 0xE5, 0x24, 0x7B, 0x52, 0xF8, 0xB5,
+ 0x39, 0x49, 0x1E, 0xD4, 0xBE, 0x2D, 0x41, 0x87, 0x93, 0xF2, 0x7A, 0xA8,
+ 0x7B, 0x89, 0x93, 0xF2, 0x7A, 0xA8, 0x7B, 0x8B, 0x33, 0x94, 0x91, 0xED,
+ 0x4B, 0xE2, 0xD4, 0xE5, 0x24, 0x7B, 0x52, 0xF8, 0xB5, 0x06, 0x1E, 0x4F,
+ 0xC9, 0xEA, 0xA1, 0xEE, 0x26, 0x4F, 0xC9, 0xEA, 0xA1, 0xEE, 0x2C, 0xCE,
+ 0x52, 0x47, 0xB5, 0x2F, 0x8B, 0x53, 0x94, 0x91, 0xED, 0x4B, 0xE2, 0xD4,
+ 0x11, 0xCA, 0x51, 0x70, 0x24, 0xE2, 0x5B, 0x82, 0x1A, 0xDD, 0x20, 0x36,
+ 0xAA, 0xD6, 0x57, 0xEA, 0x7F, 0xD3, 0xEA, 0xA1, 0xE5, 0x24, 0x7B, 0x52,
+ 0xF8, 0xB5, 0x5C, 0xD8, 0xF2, 0x8C, 0xFC, 0x91, 0x60, 0x36, 0xBD, 0x0E,
+ 0x01, 0x05, 0xFF, 0x00, 0xAA, 0x3D, 0xCF, 0xAA, 0x8E, 0x6A, 0x42, 0x56,
+ 0x70, 0xB4, 0xCC, 0xC1, 0x6C, 0x42, 0xDC, 0xC2, 0xD7, 0xB9, 0x55, 0xF1,
+ 0xA4, 0xDE, 0x6B, 0x7C, 0x48, 0x0E, 0xAB, 0x4B, 0x81, 0x56, 0xDB, 0x90,
+ 0xED, 0x4B, 0x62, 0xD5, 0xA1, 0x0D, 0xC7, 0x46, 0xEC, 0x70, 0xF0, 0x4B,
+ 0x8E, 0x8D, 0xD8, 0xE1, 0xE0, 0xA6, 0xB7, 0x21, 0xDA, 0x96, 0xC5, 0xA9,
+ 0x6E, 0x43, 0xB5, 0x2D, 0x8B, 0x52, 0xC4, 0x37, 0x1D, 0x1B, 0xB1, 0xC3,
+ 0xC1, 0x2E, 0x3A, 0x37, 0x63, 0x87, 0x82, 0x9A, 0xDC, 0x87, 0x6A, 0x5B,
+ 0x16, 0xA5, 0xB9, 0x0E, 0xD4, 0xB6, 0x2D, 0x4B, 0x10, 0xDC, 0x74, 0x6E,
+ 0xC7, 0x0F, 0x04, 0xB8, 0xE8, 0xDD, 0x8E, 0x1E, 0x0A, 0x6B, 0x72, 0x1D,
+ 0xA9, 0x6C, 0x5A, 0x96, 0xE4, 0x3B, 0x52, 0xD8, 0xB5, 0x2C, 0x43, 0x71,
+ 0xD1, 0xBB, 0x1C, 0x3C, 0x12, 0xE3, 0xA3, 0x76, 0x38, 0x78, 0x29, 0xAD,
+ 0xC8, 0x76, 0xA5, 0xB1, 0x6A, 0x5B, 0x90, 0xED, 0x4B, 0x62, 0xD4, 0xB1,
+ 0x0D, 0xC7, 0x46, 0xEC, 0x70, 0xF0, 0x4B, 0x8E, 0x8D, 0xD8, 0xE1, 0xE0,
+ 0xA6, 0xB7, 0x21, 0xDA, 0x96, 0xC5, 0xA9, 0x6E, 0x43, 0xB5, 0x2D, 0x8B,
+ 0x52, 0xC4, 0x37, 0x1D, 0x1B, 0xB1, 0xC3, 0xC1, 0x2E, 0x3A, 0x37, 0x63,
+ 0x87, 0x82, 0x9A, 0xDC, 0x87, 0x6A, 0x5B, 0x16, 0xA5, 0xB9, 0x0E, 0xD4,
+ 0xB6, 0x2D, 0x4B, 0x10, 0xDC, 0x74, 0x6E, 0xC7, 0x0F, 0x04, 0xB8, 0xE8,
+ 0xDD, 0x8E, 0x1E, 0x0A, 0x5B, 0x72, 0x1D, 0xA9, 0x6C, 0x5A, 0x96, 0xE4,
+ 0x3B, 0x52, 0xD8, 0xB5, 0x04, 0x57, 0x1D, 0x1B, 0xB1, 0xC3, 0xC1, 0x2E,
+ 0x3A, 0x37, 0x63, 0x87, 0x82, 0x96, 0xDC, 0x87, 0x6A, 0x5B, 0x16, 0xA5,
+ 0xB9, 0x0E, 0xD4, 0xB6, 0x2D, 0x41, 0x15, 0xC7, 0x46, 0xEC, 0x70, 0xF0,
+ 0x4B, 0x8E, 0x8D, 0xD8, 0xE1, 0xE0, 0xA5, 0xB7, 0x21, 0xDA, 0x96, 0xC5,
+ 0xA9, 0x6E, 0x43, 0xB5, 0x2D, 0x8B, 0x50, 0x45, 0x71, 0xD1, 0xBB, 0x1C,
+ 0x3C, 0x12, 0xE3, 0xA3, 0x76, 0x38, 0x78, 0x29, 0x6D, 0xC8, 0x76, 0xA5,
+ 0xB1, 0x6A, 0x5B, 0x90, 0xED, 0x4B, 0x62, 0xD4, 0x11, 0x5C, 0x74, 0x6E,
+ 0xC7, 0x0F, 0x04, 0xB8, 0xE8, 0xDD, 0x8E, 0x1E, 0x0A, 0x5B, 0x72, 0x1D,
+ 0xA9, 0x6C, 0x5A, 0x96, 0xE4, 0x3B, 0x52, 0xD8, 0xB5, 0x04, 0x57, 0x1D,
+ 0x1B, 0xB1, 0xC3, 0xC1, 0x2E, 0x3A, 0x37, 0x63, 0x87, 0x82, 0x96, 0xDC,
+ 0x87, 0x6A, 0x5B, 0x16, 0xAA, 0xDB, 0x90, 0xED, 0x4B, 0x62, 0xD4, 0x10,
+ 0xDC, 0x74, 0x6E, 0xC7, 0x0F, 0x04, 0xB8, 0xE8, 0xDD, 0x8E, 0x1E, 0x0A,
+ 0x6B, 0x72, 0x1D, 0xA9, 0x6C, 0x5A, 0x96, 0xE4, 0x3B, 0x52, 0xD8, 0xB5,
+ 0x2C, 0x43, 0x71, 0xD1, 0xBB, 0x1C, 0x3C, 0x12, 0xE3, 0xA3, 0x76, 0x38,
+ 0x78, 0x29, 0xAD, 0xC8, 0x76, 0xA5, 0xB1, 0x6A, 0x5B, 0x90, 0xED, 0x4B,
+ 0x62, 0xD4, 0xB1, 0x0D, 0xC7, 0x46, 0xEC, 0x70, 0xF0, 0x4B, 0x8E, 0x8D,
+ 0xD8, 0xE1, 0xE0, 0xA6, 0xB7, 0x21, 0xDA, 0x96, 0xC5, 0xA9, 0x6E, 0x43,
+ 0xB5, 0x2D, 0x8B, 0x52, 0xC4, 0x37, 0x1D, 0x1B, 0xB1, 0xC3, 0xC1, 0x2E,
+ 0x3A, 0x37, 0x63, 0x87, 0x82, 0x9A, 0xDC, 0x87, 0x6A, 0x5B, 0x16, 0xA5,
+ 0xB9, 0x0E, 0xD4, 0xB6, 0x2D, 0x4B, 0x10, 0xDC, 0x74, 0x6E, 0xC7, 0x0F,
+ 0x04, 0xB8, 0xE8, 0xDD, 0x8E, 0x1E, 0x0A, 0x6B, 0x72, 0x1D, 0xA9, 0x6C,
+ 0x5A, 0x96, 0xE4, 0x3B, 0x52, 0xD8, 0xB5, 0x2C, 0x43, 0x71, 0xD1, 0xBB,
+ 0x1C, 0x3C, 0x15, 0x45, 0x09, 0x46, 0x82, 0x08, 0x94, 0x86, 0x08, 0x52,
+ 0xDB, 0x90, 0xED, 0x4B, 0x62, 0xD4, 0xB7, 0x21, 0xDA, 0x96, 0xC5, 0xA9,
+ 0x62, 0x59, 0x8C, 0xD2, 0xD1, 0x47, 0xFE, 0x07, 0x82, 0xB6, 0x6B, 0xA9,
+ 0x46, 0xF0, 0xDD, 0xC1, 0x59, 0x6E, 0x43, 0xB5, 0x2D, 0x8B, 0x54, 0x93,
+ 0x7D, 0x4E, 0x3F, 0x86, 0xEE, 0x0A, 0x4F, 0x66, 0xF0, 0xF2, 0x85, 0x25,
+ 0x7A, 0x94, 0x1F, 0x0D, 0xBC, 0x17, 0x9B, 0xCC, 0x75, 0x88, 0xBD, 0xF3,
+ 0xC5, 0x7A, 0x44, 0xAF, 0x52, 0x83, 0xE1, 0xB7, 0x82, 0xF3, 0x79, 0x8E,
+ 0xB1, 0x17, 0xBE, 0x78, 0xA4, 0x76, 0x33, 0xF2, 0x94, 0x68, 0x88, 0xAB,
+ 0x22, 0x22, 0x20, 0x22, 0x22, 0x02, 0x22, 0x20, 0x22, 0x22, 0x02, 0x22,
+ 0x20, 0x92, 0x27, 0xAA, 0x85, 0xFC, 0x1E, 0x25, 0x46, 0xA5, 0x2D, 0x2F,
+ 0x85, 0x0E, 0xCD, 0x46, 0xA0, 0x7D, 0xFF, 0x00, 0xBA, 0xB7, 0x92, 0x7E,
+ 0x81, 0x88, 0x52, 0x25, 0x16, 0x29, 0x25, 0xE1, 0x18, 0xF3, 0x10, 0xE0,
+ 0x82, 0x01, 0x88, 0xE0, 0xDA, 0xCF, 0xBA, 0xB2, 0xA9, 0xC9, 0x3F, 0x40,
+ 0xC4, 0x20, 0x86, 0xF0, 0x6B, 0x19, 0x88, 0xFD, 0xC2, 0xB7, 0x03, 0x2D,
+ 0x92, 0x50, 0x5F, 0x09, 0xD1, 0x9B, 0x12, 0x27, 0x26, 0xD0, 0xE2, 0x41,
+ 0x60, 0xB5, 0x5B, 0x4B, 0x7F, 0x7F, 0xFC, 0x82, 0x95, 0xB2, 0x30, 0x43,
+ 0x07, 0xE2, 0x2E, 0x73, 0x9C, 0x0B, 0x4B, 0x87, 0xFD, 0xA5, 0x85, 0xD9,
+ 0xC5, 0x7D, 0x2B, 0x1D, 0xB3, 0x33, 0x6D, 0x73, 0xDC, 0x62, 0x39, 0xCE,
+ 0x73, 0x2C, 0x5A, 0x2F, 0xCE, 0x05, 0x60, 0xE6, 0xCF, 0xFB, 0x2B, 0x0C,
+ 0x49, 0x92, 0x5C, 0x4C, 0x57, 0xD6, 0xE3, 0x5B, 0xBF, 0x1F, 0x49, 0x52,
+ 0xCB, 0x64, 0x32, 0x8E, 0x64, 0x48, 0x8D, 0x84, 0x22, 0xB8, 0x3C, 0x18,
+ 0x76, 0x89, 0x6E, 0x6A, 0x9C, 0x47, 0x46, 0x7F, 0x75, 0x63, 0xF9, 0x56,
+ 0x32, 0x4E, 0x1B, 0xDA, 0xD8, 0x8D, 0x88, 0xF3, 0x0E, 0xA7, 0x5A, 0xAC,
+ 0x01, 0x55, 0x44, 0x0F, 0x79, 0xA8, 0x0C, 0xE1, 0x45, 0xCA, 0x4C, 0xD9,
+ 0x63, 0x79, 0x57, 0xD9, 0x61, 0x05, 0xA2, 0xDF, 0x41, 0x1D, 0x15, 0x67,
+ 0x54, 0x86, 0xE9, 0x88, 0x5E, 0xAE, 0x23, 0x9B, 0xD3, 0xD0, 0xFA, 0xBA,
+ 0x7A, 0x78, 0x04, 0xB1, 0x34, 0xDC, 0xAB, 0x25, 0xE0, 0xD4, 0x0D, 0xA2,
+ 0x22, 0x55, 0x6B, 0x48, 0xB2, 0x08, 0xE2, 0xB0, 0x94, 0xD1, 0x0C, 0x78,
+ 0xBE, 0xB1, 0xEE, 0x7F, 0x79, 0xF5, 0xAB, 0x39, 0x27, 0xE8, 0x18, 0x84,
+ 0xB8, 0x16, 0x22, 0xBF, 0x92, 0x7E, 0x81, 0x88, 0x4E, 0x49, 0xFA, 0x06,
+ 0x21, 0x5B, 0x80, 0x8D, 0xEB, 0x3F, 0xD5, 0xBF, 0xFF, 0x00, 0x50, 0xAC,
+ 0x57, 0xC6, 0xF5, 0xA7, 0xF6, 0x6B, 0x47, 0xCA, 0x15, 0x8A, 0x47, 0x62,
+ 0x04, 0x44, 0x55, 0x44, 0x57, 0x3A, 0x1B, 0xD8, 0xD0, 0x5E, 0xC7, 0x34,
+ 0x1E, 0x82, 0x45, 0x55, 0xA1, 0x86, 0xF0, 0xC0, 0xF2, 0xC7, 0x06, 0x1E,
+ 0x87, 0x55, 0x99, 0x05, 0xA8, 0xAA, 0x01, 0x71, 0x01, 0xA0, 0x92, 0x7A,
+ 0x00, 0x4B, 0x27, 0x3E, 0x63, 0x9B, 0xA7, 0xF6, 0x41, 0x44, 0x44, 0x40,
+ 0x44, 0x44, 0x04, 0x55, 0xA8, 0x80, 0x09, 0x06, 0xA3, 0xD0, 0xA8, 0x80,
+ 0x8A, 0xA0, 0x17, 0x10, 0x00, 0x24, 0x9E, 0x80, 0x15, 0x10, 0x11, 0x11,
+ 0x01, 0x11, 0x56, 0xA3, 0x9B, 0x31, 0xCF, 0x98, 0x20, 0xA2, 0x2B, 0x9F,
+ 0x0D, 0xF0, 0xC8, 0x11, 0x18, 0xE6, 0x93, 0xDA, 0x15, 0x23, 0xA1, 0xBD,
+ 0x80, 0x17, 0xB1, 0xCD, 0x07, 0xA0, 0x91, 0x55, 0x68, 0x2D, 0x45, 0x52,
+ 0xD2, 0x00, 0x24, 0x10, 0x0F, 0x46, 0x6E, 0x94, 0xB2, 0x41, 0x20, 0x83,
+ 0x58, 0xE9, 0x15, 0x74, 0x20, 0xA2, 0x22, 0x20, 0x2B, 0xE0, 0xFE, 0x73,
+ 0xDD, 0x77, 0x02, 0xAC, 0x57, 0xC1, 0xFC, 0xFF, 0x00, 0xCB, 0x5C, 0x3C,
+ 0x8A, 0xB0, 0x8B, 0x11, 0x5F, 0xC9, 0xBB, 0x40, 0xC4, 0x27, 0x26, 0xED,
+ 0x03, 0x10, 0x94, 0x2C, 0x59, 0xB0, 0x64, 0x59, 0x12, 0x1C, 0x22, 0x62,
+ 0x90, 0xE7, 0x43, 0x74, 0x42, 0x2A, 0x00, 0x00, 0x1C, 0x47, 0x49, 0x3D,
+ 0x39, 0x96, 0x2F, 0x26, 0xED, 0x03, 0x10, 0xAF, 0x69, 0x8E, 0xC7, 0x35,
+ 0xCC, 0x7B, 0x9A, 0x58, 0x2A, 0x69, 0x0F, 0xE8, 0x1F, 0xB6, 0x25, 0x28,
+ 0x65, 0x1A, 0x3E, 0x13, 0x5C, 0xDB, 0x51, 0x9C, 0x5B, 0x11, 0xED, 0x63,
+ 0x6C, 0xB4, 0x38, 0x82, 0x45, 0x79, 0xF3, 0xF0, 0xE9, 0x51, 0xC4, 0x91,
+ 0xB0, 0xE2, 0x2D, 0x93, 0x54, 0x27, 0x44, 0xE8, 0xD0, 0xE2, 0x3E, 0x8A,
+ 0xC8, 0x73, 0x13, 0x50, 0xE2, 0x98, 0x8D, 0x8A, 0xFB, 0x44, 0x82, 0xEF,
+ 0xC7, 0xF9, 0xAA, 0xD3, 0x9D, 0x51, 0xF1, 0xA6, 0x5E, 0x1C, 0xDE, 0x51,
+ 0xC1, 0x8E, 0x24, 0xD8, 0x0F, 0xCD, 0x9C, 0xD7, 0xD1, 0x5A, 0x94, 0x32,
+ 0xA2, 0x51, 0xD0, 0xF9, 0xC3, 0x99, 0xCA, 0x59, 0x25, 0xF1, 0x33, 0x06,
+ 0x80, 0x00, 0x65, 0x7A, 0x4F, 0xEC, 0xAC, 0x7C, 0x8C, 0x28, 0x6C, 0xE5,
+ 0x1D, 0x15, 0xC5, 0x86, 0xC8, 0x01, 0x80, 0x38, 0x82, 0x6B, 0xE9, 0xA8,
+ 0xD5, 0xFF, 0x00, 0x6A, 0xC6, 0xB5, 0x1E, 0xD8, 0x7F, 0x28, 0xEB, 0x60,
+ 0x92, 0x1D, 0x6F, 0x38, 0x27, 0xA4, 0xAB, 0x84, 0x69, 0xA0, 0xF7, 0x3C,
+ 0x46, 0x78, 0x73, 0x85, 0x44, 0xF2, 0x99, 0xC8, 0xC5, 0x28, 0x52, 0x79,
+ 0x8D, 0x85, 0x3D, 0x31, 0x0D, 0x82, 0xA6, 0xB6, 0x2B, 0x80, 0x1A, 0x00,
+ 0x25, 0x40, 0xA4, 0x73, 0x22, 0x39, 0xC5, 0xCE, 0x35, 0xB8, 0x9A, 0xC9,
+ 0x2E, 0xCE, 0x55, 0x39, 0x37, 0x68, 0x18, 0x85, 0x68, 0x58, 0xAF, 0x6F,
+ 0xAB, 0x89, 0xFC, 0x0E, 0x29, 0xC9, 0xBB, 0x40, 0xC4, 0x2A, 0xD9, 0x2D,
+ 0x86, 0xFA, 0xEA, 0xCF, 0x57, 0xBF, 0xF7, 0x41, 0x1A, 0x22, 0x28, 0xA2,
+ 0x22, 0x20, 0x22, 0x22, 0x02, 0x22, 0x20, 0x22, 0x22, 0x02, 0x22, 0x20,
+ 0x92, 0x5F, 0xAC, 0x42, 0xEF, 0x8E, 0x2B, 0xD2, 0x26, 0xBA, 0x94, 0x6F,
+ 0x0D, 0xDC, 0x17, 0x9B, 0xCB, 0xF5, 0x88, 0x5D, 0xF1, 0xC5, 0x7A, 0x44,
+ 0xD7, 0x52, 0x8D, 0xE1, 0xBB, 0x82, 0x93, 0xD9, 0xAC, 0x3C, 0xA0, 0x95,
+ 0xEA, 0x50, 0x7C, 0x36, 0xF0, 0x5E, 0x6F, 0x31, 0xD6, 0x22, 0xF7, 0xCF,
+ 0x15, 0xE9, 0x12, 0xBD, 0x4A, 0x0F, 0x86, 0xDE, 0x0B, 0xCD, 0xE6, 0x3A,
+ 0xC4, 0x5E, 0xF9, 0xE2, 0x91, 0xD8, 0xCF, 0xCA, 0x51, 0xA2, 0x22, 0xAC,
+ 0x88, 0x88, 0x80, 0x88, 0x88, 0x08, 0x88, 0x80, 0x88, 0x88, 0x08, 0x88,
+ 0x80, 0x40, 0x3D, 0x2A, 0x96, 0x46, 0x85, 0x54, 0x41, 0x4B, 0x23, 0x42,
+ 0x59, 0x1A, 0x15, 0x51, 0x05, 0x2C, 0x8D, 0x09, 0x64, 0x68, 0x55, 0x44,
+ 0x14, 0xB2, 0x34, 0x25, 0x91, 0xA1, 0x55, 0x10, 0x52, 0xC8, 0xD0, 0x96,
+ 0x46, 0x85, 0x54, 0x41, 0x4B, 0x23, 0x42, 0x59, 0x1A, 0x15, 0x51, 0x00,
+ 0x0A, 0xBA, 0x11, 0x11, 0x01, 0x64, 0xD1, 0xCE, 0x86, 0xD9, 0xE8, 0x46,
+ 0x29, 0x68, 0x6D, 0x7D, 0x2E, 0xE8, 0x06, 0xAC, 0xD5, 0xFE, 0xD5, 0xD4,
+ 0xB1, 0x91, 0x06, 0xD2, 0x1B, 0x66, 0xE1, 0xB6, 0x65, 0xD3, 0xFC, 0xA0,
+ 0x84, 0xE8, 0x6E, 0xAF, 0x94, 0x39, 0x9E, 0xEF, 0xFB, 0x6A, 0xD2, 0x6B,
+ 0xAB, 0x38, 0x53, 0xC5, 0x6C, 0x57, 0xB6, 0x33, 0x9E, 0x22, 0xC1, 0x1C,
+ 0x91, 0x1C, 0xAB, 0x5D, 0x6A, 0x0B, 0xC0, 0x19, 0x80, 0xAC, 0x66, 0xAE,
+ 0xAC, 0xD9, 0xFA, 0x56, 0x91, 0x10, 0x67, 0x51, 0xB6, 0x60, 0x88, 0xB3,
+ 0x2F, 0x79, 0x87, 0xC9, 0xB6, 0xCB, 0x1C, 0x05, 0x66, 0xD3, 0xBD, 0xF5,
+ 0x7E, 0xC2, 0xBF, 0x25, 0x9C, 0xE6, 0x35, 0xFC, 0xEA, 0x2C, 0xBC, 0x31,
+ 0x1C, 0x47, 0x6B, 0x22, 0x35, 0x95, 0x1C, 0xE6, 0xB3, 0x6B, 0x30, 0xFD,
+ 0xEB, 0xCC, 0xB4, 0x68, 0x83, 0x77, 0x0E, 0x4E, 0x0B, 0xA2, 0xBD, 0xAD,
+ 0x96, 0xAD, 0xD5, 0xB2, 0xD0, 0xCE, 0xE6, 0xC3, 0x25, 0xB9, 0xC1, 0xA8,
+ 0xD6, 0x33, 0xFB, 0xF3, 0xA8, 0xEC, 0x43, 0xE6, 0xD0, 0x5D, 0x12, 0x0B,
+ 0x1E, 0xD8, 0x70, 0x22, 0x54, 0x6B, 0x35, 0x39, 0xC1, 0xE7, 0xDF, 0x5E,
+ 0x7F, 0xBA, 0xD4, 0x22, 0x0D, 0xBB, 0x24, 0xD8, 0xF9, 0x42, 0x4C, 0x01,
+ 0x5B, 0xA0, 0x98, 0x8D, 0x73, 0x1A, 0xE3, 0x9F, 0xA7, 0xA6, 0xBA, 0xBF,
+ 0xA0, 0x0A, 0xB9, 0xB0, 0x1B, 0x06, 0x72, 0x11, 0x6C, 0xAB, 0x04, 0x06,
+ 0xC6, 0x86, 0x19, 0x18, 0xB8, 0xFE, 0x30, 0x4F, 0x4F, 0x4D, 0x47, 0x4E,
+ 0x6E, 0x85, 0xA6, 0x44, 0x1B, 0x7E, 0x41, 0xAE, 0x19, 0xE0, 0xDA, 0x8C,
+ 0x1A, 0xF2, 0xD8, 0x24, 0x9C, 0xEE, 0xB6, 0x05, 0x55, 0x57, 0x5F, 0x45,
+ 0x66, 0xAF, 0xD9, 0x59, 0x1A, 0x14, 0x08, 0x10, 0xE2, 0xC4, 0x30, 0x19,
+ 0xCA, 0x86, 0xC3, 0x26, 0x19, 0x26, 0xA6, 0x38, 0xD7, 0x58, 0xAA, 0xBF,
+ 0xD8, 0x66, 0xFD, 0xD6, 0xAD, 0x10, 0x6C, 0xA0, 0xB2, 0x1C, 0x2A, 0x7A,
+ 0x00, 0x86, 0x03, 0x58, 0x23, 0x30, 0x81, 0x5E, 0x61, 0x9C, 0x15, 0x64,
+ 0xBC, 0x84, 0x6E, 0x72, 0x39, 0x68, 0x06, 0xCD, 0x4E, 0x20, 0x3C, 0x1F,
+ 0xC4, 0x40, 0x3D, 0x15, 0x67, 0x3F, 0xC2, 0xC0, 0x44, 0x1B, 0x97, 0xC8,
+ 0x41, 0x8B, 0x11, 0x90, 0x9A, 0xCE, 0x45, 0xF1, 0x61, 0x07, 0x87, 0x38,
+ 0x16, 0x80, 0x43, 0x88, 0x70, 0xAA, 0xB3, 0x57, 0xE1, 0xCF, 0xFD, 0x24,
+ 0x09, 0x79, 0x38, 0xAC, 0x11, 0x19, 0x01, 0xCE, 0x84, 0xF7, 0xBA, 0xDD,
+ 0x40, 0x9B, 0x0D, 0xAF, 0x36, 0x7B, 0x40, 0x0C, 0xD9, 0xEB, 0x2B, 0x55,
+ 0x0A, 0x33, 0xE1, 0x07, 0x86, 0x10, 0x2D, 0xB6, 0xC9, 0x35, 0x0A, 0xEA,
+ 0xFD, 0x8F, 0xB9, 0x46, 0x83, 0x2A, 0x6C, 0x42, 0x64, 0x28, 0x0D, 0x87,
+ 0x0D, 0xA0, 0xBA, 0x18, 0x73, 0x9D, 0x59, 0xAC, 0x9C, 0xEB, 0x2E, 0x01,
+ 0x0C, 0x7C, 0x36, 0xC3, 0x21, 0xAF, 0x32, 0xA7, 0x91, 0x35, 0xD5, 0xF8,
+ 0xC9, 0xCF, 0x9F, 0x4F, 0x48, 0xC1, 0x6A, 0x95, 0xCE, 0x7B, 0x9C, 0xC6,
+ 0xB0, 0x9A, 0xC3, 0x6B, 0xAB, 0xF6, 0x41, 0xB3, 0x82, 0xD9, 0x88, 0x50,
+ 0x1C, 0xD9, 0xCF, 0xC0, 0x4C, 0x46, 0x18, 0x4D, 0x8F, 0x5F, 0xE6, 0xB5,
+ 0x9C, 0xD4, 0x73, 0xD5, 0x55, 0x75, 0x95, 0x24, 0x68, 0x11, 0xA3, 0xC3,
+ 0x8C, 0x1C, 0xD8, 0xF2, 0xEE, 0x88, 0xF6, 0xFE, 0x18, 0xAE, 0xB4, 0xC8,
+ 0x84, 0xBA, 0xAF, 0xC2, 0x48, 0xFD, 0xEB, 0xF7, 0xE6, 0xAD, 0x69, 0x91,
+ 0x06, 0xE6, 0x69, 0xF0, 0x26, 0x65, 0xDF, 0x0E, 0x04, 0x5B, 0x5C, 0xD5,
+ 0xC0, 0xC3, 0x05, 0xB5, 0x7E, 0x0C, 0xCD, 0x3F, 0xCE, 0x7A, 0x8E, 0x2A,
+ 0x39, 0x89, 0x78, 0xEC, 0xA6, 0x9F, 0x17, 0x92, 0x77, 0x26, 0xE9, 0x93,
+ 0x51, 0x23, 0x33, 0x81, 0x77, 0xD5, 0x6A, 0x95, 0xD0, 0xDE, 0xE8, 0x6F,
+ 0xB4, 0xC3, 0x53, 0x87, 0x41, 0xD0, 0x81, 0x10, 0x35, 0xB1, 0x5E, 0x18,
+ 0x6B, 0x68, 0x71, 0x00, 0xFE, 0xCA, 0xD4, 0x44, 0x04, 0x44, 0x41, 0x4B,
+ 0x23, 0x42, 0x59, 0x1A, 0x15, 0x51, 0x05, 0x2C, 0x8D, 0x09, 0x64, 0x68,
+ 0x55, 0x44, 0x14, 0xB2, 0x34, 0x25, 0x91, 0xA1, 0x55, 0x10, 0x52, 0xC8,
+ 0xD0, 0x96, 0x46, 0x85, 0x54, 0x41, 0x4B, 0x23, 0x42, 0x59, 0x1A, 0x15,
+ 0x51, 0x05, 0x2C, 0x8D, 0x09, 0x50, 0xD0, 0xAA, 0x88, 0x08, 0x88, 0x80,
+ 0x88, 0x88, 0x08, 0x88, 0x80, 0x88, 0x88, 0x08, 0x88, 0x80, 0x88, 0x88,
+ 0x24, 0x97, 0xEB, 0x10, 0xBB, 0xE3, 0x8A, 0xF4, 0x89, 0xAE, 0xA5, 0x1B,
+ 0xC3, 0x77, 0x05, 0xE6, 0xF2, 0xFD, 0x62, 0x17, 0x7C, 0x71, 0x5E, 0x91,
+ 0x35, 0xD4, 0xA3, 0x78, 0x6E, 0xE0, 0xA4, 0xF6, 0x6B, 0x0F, 0x28, 0x25,
+ 0x7A, 0x94, 0x1F, 0x0D, 0xBC, 0x17, 0x9B, 0xCC, 0x75, 0x88, 0xBD, 0xF3,
+ 0xC5, 0x7A, 0x4C, 0xA7, 0x53, 0x83, 0xE1, 0xB7, 0x82, 0xC4, 0x34, 0x15,
+ 0x1A, 0x49, 0x26, 0x55, 0x84, 0x9E, 0x93, 0x59, 0x48, 0xEC, 0x65, 0xE5,
+ 0x2F, 0x3D, 0x45, 0xE8, 0x57, 0x0D, 0x19, 0xB2, 0x33, 0xCD, 0x2E, 0x1A,
+ 0x33, 0x64, 0x67, 0x9A, 0xAC, 0xBC, 0xF5, 0x17, 0xA1, 0x5C, 0x34, 0x66,
+ 0xC8, 0xCF, 0x34, 0xB8, 0x68, 0xCD, 0x91, 0x9E, 0x68, 0x3C, 0xF5, 0x17,
+ 0xA1, 0x5C, 0x34, 0x66, 0xC8, 0xCF, 0x34, 0xB8, 0x68, 0xCD, 0x91, 0x9E,
+ 0x68, 0x3C, 0xF5, 0x17, 0xA1, 0x5C, 0x34, 0x66, 0xC8, 0xCF, 0x34, 0xB8,
+ 0x68, 0xCD, 0x91, 0x9E, 0x68, 0x3C, 0xF5, 0x17, 0xA1, 0x5C, 0x34, 0x66,
+ 0xC8, 0xCF, 0x34, 0xB8, 0x68, 0xCD, 0x91, 0x9E, 0x68, 0x3C, 0xF5, 0x17,
+ 0xA1, 0x5C, 0x34, 0x66, 0xC8, 0xCF, 0x34, 0xB8, 0x68, 0xCD, 0x91, 0x9E,
+ 0x68, 0x3C, 0xF5, 0x17, 0xA1, 0x5C, 0x34, 0x66, 0xC8, 0xCF, 0x34, 0xB8,
+ 0x68, 0xCD, 0x91, 0x9E, 0x68, 0x3C, 0xF5, 0x17, 0xA1, 0x5C, 0x34, 0x66,
+ 0xC8, 0xCF, 0x34, 0xB8, 0x68, 0xCD, 0x91, 0x9E, 0x68, 0x3C, 0xF5, 0x17,
+ 0xA1, 0x5C, 0x34, 0x66, 0xC8, 0xCF, 0x34, 0xB8, 0x68, 0xCD, 0x91, 0x9E,
+ 0x68, 0x3C, 0xF5, 0x17, 0xA1, 0x5C, 0x34, 0x66, 0xC8, 0xCF, 0x34, 0xB8,
+ 0x68, 0xCD, 0x91, 0x9E, 0x68, 0x3C, 0xF5, 0x17, 0xA1, 0x5C, 0x34, 0x66,
+ 0xC8, 0xCF, 0x34, 0xB8, 0x68, 0xCD, 0x91, 0x9E, 0x68, 0x3C, 0xF5, 0x17,
+ 0xA1, 0x5C, 0x34, 0x66, 0xC8, 0xCF, 0x34, 0xB8, 0x68, 0xCD, 0x91, 0x9E,
+ 0x68, 0x3C, 0xF5, 0x17, 0xA1, 0x5C, 0x34, 0x66, 0xC8, 0xCF, 0x34, 0xB8,
+ 0x68, 0xCD, 0x91, 0x9E, 0x68, 0x3C, 0xF5, 0x17, 0xA1, 0x5C, 0x34, 0x66,
+ 0xC8, 0xCF, 0x34, 0xB8, 0x68, 0xCD, 0x91, 0x9E, 0x68, 0x3C, 0xF5, 0x17,
+ 0xA1, 0x5C, 0x34, 0x66, 0xC8, 0xCF, 0x34, 0xB8, 0x68, 0xCD, 0x91, 0x9E,
+ 0x68, 0x3C, 0xF5, 0x17, 0xA1, 0x5C, 0x34, 0x66, 0xC8, 0xCF, 0x34, 0xB8,
+ 0x68, 0xCD, 0x91, 0x9E, 0x68, 0x3C, 0xF5, 0x17, 0xA1, 0x5C, 0x34, 0x66,
+ 0xC8, 0xCF, 0x34, 0xB8, 0x68, 0xCD, 0x91, 0x9E, 0x68, 0x3C, 0xF5, 0x17,
+ 0xA1, 0x5C, 0x34, 0x66, 0xC8, 0xCF, 0x34, 0xB8, 0x68, 0xCD, 0x91, 0x9E,
+ 0x68, 0x3C, 0xF5, 0x17, 0xA1, 0x5C, 0x34, 0x66, 0xC8, 0xCF, 0x34, 0xB8,
+ 0x68, 0xCD, 0x91, 0x9E, 0x68, 0x3C, 0xF5, 0x17, 0xA1, 0x5C, 0x34, 0x66,
+ 0xC8, 0xCF, 0x34, 0xB8, 0x68, 0xCD, 0x91, 0x9E, 0x68, 0x3C, 0xF5, 0x17,
+ 0xA1, 0x5C, 0x34, 0x66, 0xC8, 0xCF, 0x34, 0xB8, 0x68, 0xCD, 0x91, 0x9E,
+ 0x68, 0x3C, 0xF5, 0x17, 0xA1, 0x5C, 0x34, 0x66, 0xC8, 0xCF, 0x34, 0xB8,
+ 0x68, 0xCD, 0x91, 0x9E, 0x68, 0x3C, 0xF5, 0x17, 0xA1, 0x5C, 0x34, 0x66,
+ 0xC8, 0xCF, 0x34, 0xB8, 0x68, 0xCD, 0x91, 0x9E, 0x68, 0x3C, 0xF5, 0x17,
+ 0xA1, 0x5C, 0x34, 0x66, 0xC8, 0xCF, 0x34, 0xB8, 0x68, 0xCD, 0x91, 0x9E,
+ 0x68, 0x3C, 0xF5, 0x17, 0xA1, 0x5C, 0x34, 0x66, 0xC8, 0xCF, 0x34, 0xB8,
+ 0x68, 0xCD, 0x91, 0x9E, 0x68, 0x3C, 0xF5, 0x17, 0xA1, 0x5C, 0x34, 0x66,
+ 0xC8, 0xCF, 0x34, 0xB8, 0x68, 0xCD, 0x91, 0x9E, 0x68, 0x3C, 0xF5, 0x17,
+ 0xA1, 0x5C, 0x34, 0x66, 0xC8, 0xCF, 0x34, 0xB8, 0x68, 0xCD, 0x91, 0x9E,
+ 0x68, 0x3C, 0xF5, 0x17, 0xA1, 0x5C, 0x34, 0x66, 0xC8, 0xCF, 0x34, 0xB8,
+ 0x68, 0xCD, 0x91, 0x9E, 0x68, 0x3C, 0xF5, 0x17, 0xA1, 0x5C, 0x34, 0x66,
+ 0xC8, 0xCF, 0x34, 0xB8, 0x68, 0xCD, 0x91, 0x9E, 0x68, 0x3C, 0xF5, 0x17,
+ 0xA1, 0x5C, 0x34, 0x66, 0xC8, 0xCF, 0x34, 0xB8, 0x68, 0xCD, 0x91, 0x9E,
+ 0x68, 0x3C, 0xF5, 0x17, 0xA1, 0x5C, 0x34, 0x66, 0xC8, 0xCF, 0x34, 0xB8,
+ 0x68, 0xCD, 0x91, 0x9E, 0x68, 0x3C, 0xF5, 0x17, 0xA1, 0x5C, 0x34, 0x66,
+ 0xC8, 0xCF, 0x34, 0xB8, 0x68, 0xCD, 0x91, 0x9E, 0x68, 0x3C, 0xF5, 0x17,
+ 0xA1, 0x5C, 0x34, 0x66, 0xC8, 0xCF, 0x34, 0xB8, 0x68, 0xCD, 0x91, 0x9E,
+ 0x68, 0x3C, 0xF5, 0x17, 0xA1, 0x5C, 0x34, 0x66, 0xC8, 0xCF, 0x34, 0xB8,
+ 0x68, 0xCD, 0x91, 0x9E, 0x68, 0x3C, 0xF5, 0x17, 0xA1, 0x5C, 0x34, 0x66,
+ 0xC8, 0xCF, 0x34, 0xB8, 0x68, 0xCD, 0x91, 0x9E, 0x68, 0x3C, 0xF5, 0x17,
+ 0xA1, 0x5C, 0x34, 0x66, 0xC8, 0xCF, 0x34, 0xB8, 0x68, 0xCD, 0x91, 0x9E,
+ 0x68, 0x3C, 0xF5, 0x17, 0xA1, 0x5C, 0x34, 0x66, 0xC8, 0xCF, 0x34, 0xB8,
+ 0x68, 0xCD, 0x91, 0x9E, 0x68, 0x3C, 0xF5, 0x17, 0xA1, 0x5C, 0x34, 0x66,
+ 0xC8, 0xCF, 0x34, 0xB8, 0x68, 0xCD, 0x91, 0x9E, 0x68, 0x38, 0x19, 0x7E,
+ 0xB1, 0x0B, 0xBE, 0x38, 0xAF, 0x48, 0x9A, 0xEA, 0x51, 0xBC, 0x37, 0x70,
+ 0x58, 0xA2, 0x82, 0xA3, 0x5A, 0x41, 0x12, 0xAC, 0x04, 0x74, 0x1A, 0xCA,
+ 0xCB, 0x9B, 0xEA, 0x71, 0xFC, 0x37, 0x70, 0x52, 0x7B, 0x35, 0x87, 0x94,
+ 0x12, 0xBD, 0x4A, 0x0F, 0x86, 0xDE, 0x0B, 0x9B, 0x2F, 0x75, 0x67, 0xF1,
+ 0x1C, 0x57, 0x49, 0x2B, 0xD4, 0xA0, 0xF8, 0x6D, 0xE0, 0xB9, 0xA3, 0xD2,
+ 0x57, 0x1F, 0xE9, 0xDA, 0x1C, 0xFF, 0x00, 0xB7, 0x92, 0xB6, 0xDF, 0xDA,
+ 0x76, 0x29, 0x6D, 0xFD, 0xA7, 0x62, 0xAD, 0x45, 0xC5, 0xC5, 0x75, 0xB7,
+ 0xF6, 0x9D, 0x8A, 0x5B, 0x7F, 0x69, 0xD8, 0xAB, 0x51, 0x05, 0xD6, 0xDF,
+ 0xDA, 0x76, 0x29, 0x6D, 0xFD, 0xA7, 0x62, 0xAD, 0x44, 0x17, 0x5B, 0x7F,
+ 0x69, 0xD8, 0xA5, 0xB7, 0xF6, 0x9D, 0x8A, 0xB5, 0x10, 0x5D, 0x6D, 0xFD,
+ 0xA7, 0x62, 0x96, 0xDF, 0xDA, 0x76, 0x2A, 0xD4, 0x41, 0x75, 0xB7, 0xF6,
+ 0x9D, 0x8A, 0x5B, 0x7F, 0x69, 0xD8, 0xAB, 0x51, 0x05, 0xD6, 0xDF, 0xDA,
+ 0x76, 0x29, 0x6D, 0xFD, 0xA7, 0x62, 0xAD, 0x44, 0x17, 0x5B, 0x7F, 0x69,
+ 0xD8, 0xA5, 0xB7, 0xF6, 0x9D, 0x8A, 0xB5, 0x10, 0x5D, 0x6D, 0xFD, 0xA7,
+ 0x62, 0x96, 0xDF, 0xDA, 0x76, 0x2A, 0xD4, 0x41, 0x75, 0xB7, 0xF6, 0x9D,
+ 0x8A, 0x5B, 0x7F, 0x69, 0xD8, 0xAB, 0x51, 0x05, 0xD6, 0xDF, 0xDA, 0x76,
+ 0x29, 0x6D, 0xFD, 0xA7, 0x62, 0xAD, 0x44, 0x17, 0x5B, 0x7F, 0x69, 0xD8,
+ 0xA5, 0xB7, 0xF6, 0x9D, 0x8A, 0xB5, 0x10, 0x5D, 0x6D, 0xFD, 0xA7, 0x62,
+ 0x96, 0xDF, 0xDA, 0x76, 0x2A, 0xD4, 0x41, 0x75, 0xB7, 0xF6, 0x9D, 0x8A,
+ 0x5B, 0x7F, 0x69, 0xD8, 0xAB, 0x51, 0x05, 0xD6, 0xDF, 0xDA, 0x76, 0x29,
+ 0x6D, 0xFD, 0xA7, 0x62, 0xAD, 0x44, 0x17, 0x5B, 0x7F, 0x69, 0xD8, 0xA5,
+ 0xB7, 0xF6, 0x9D, 0x8A, 0xB5, 0x10, 0x5D, 0x6D, 0xFD, 0xA7, 0x62, 0x96,
+ 0xDF, 0xDA, 0x76, 0x2A, 0xD4, 0x41, 0x75, 0xB7, 0xF6, 0x9D, 0x8A, 0x5B,
+ 0x7F, 0x69, 0xD8, 0xAB, 0x51, 0x05, 0xD6, 0xDF, 0xDA, 0x76, 0x2B, 0x65,
+ 0x42, 0xB8, 0x98, 0xB1, 0x6B, 0x24, 0xFE, 0x11, 0xD2, 0x56, 0xAD, 0x6C,
+ 0xE8, 0x4F, 0x5B, 0x17, 0xBA, 0x16, 0xF0, 0xF2, 0x6B, 0x1E, 0xEA, 0x53,
+ 0xAE, 0x73, 0x63, 0x42, 0xA9, 0xC4, 0x7E, 0x13, 0xD0, 0x56, 0xAB, 0x94,
+ 0x7F, 0x6D, 0xD8, 0xAD, 0x9D, 0x3D, 0xEB, 0xA1, 0x77, 0x4F, 0x15, 0xAA,
+ 0x5F, 0x47, 0x0F, 0x14, 0xCB, 0xBA, 0xEE, 0x51, 0xFD, 0xB7, 0x62, 0x9C,
+ 0xA3, 0xFB, 0x6E, 0xC5, 0x5A, 0x8B, 0x6C, 0xAE, 0xE5, 0x1F, 0xDB, 0x76,
+ 0x29, 0xCA, 0x3F, 0xB6, 0xEC, 0x55, 0xA8, 0x82, 0xEE, 0x51, 0xFD, 0xB7,
+ 0x62, 0x9C, 0xA3, 0xFB, 0x6E, 0xC5, 0x5A, 0x88, 0x2E, 0xE5, 0x1F, 0xDB,
+ 0x76, 0x29, 0xCA, 0x3F, 0xB6, 0xEC, 0x55, 0xA8, 0x82, 0xEE, 0x51, 0xFD,
+ 0xB7, 0x62, 0x9C, 0xA3, 0xFB, 0x6E, 0xC5, 0x5A, 0x88, 0x2E, 0xE5, 0x1F,
+ 0xDB, 0x76, 0x29, 0xCA, 0x3F, 0xB6, 0xEC, 0x55, 0xA8, 0x82, 0xEE, 0x51,
+ 0xFD, 0xB7, 0x62, 0x9C, 0xA3, 0xFB, 0x6E, 0xC5, 0x5A, 0x88, 0x2E, 0xE5,
+ 0x1F, 0xDB, 0x76, 0x29, 0xCA, 0x3F, 0xB6, 0xEC, 0x55, 0xA8, 0x82, 0xEE,
+ 0x51, 0xFD, 0xB7, 0x62, 0x9C, 0xA3, 0xFB, 0x6E, 0xC5, 0x5A, 0x88, 0x2E,
+ 0xE5, 0x1F, 0xDB, 0x76, 0x29, 0xCA, 0x3F, 0xB6, 0xEC, 0x55, 0xA8, 0x82,
+ 0xEE, 0x51, 0xFD, 0xB7, 0x62, 0x9C, 0xA3, 0xFB, 0x6E, 0xC5, 0x5A, 0x88,
+ 0x2E, 0xE5, 0x1F, 0xDB, 0x76, 0x29, 0xCA, 0x3F, 0xB6, 0xEC, 0x55, 0xA8,
+ 0x82, 0xEE, 0x51, 0xFD, 0xB7, 0x62, 0x9C, 0xA3, 0xFB, 0x6E, 0xC5, 0x5A,
+ 0x88, 0x2E, 0xE5, 0x1F, 0xDB, 0x76, 0x29, 0xCA, 0x3F, 0xB6, 0xEC, 0x55,
+ 0xA8, 0x82, 0xEE, 0x51, 0xFD, 0xB7, 0x62, 0x9C, 0xA3, 0xFB, 0x6E, 0xC5,
+ 0x5A, 0x88, 0x2E, 0xE5, 0x1F, 0xDB, 0x76, 0x29, 0xCA, 0x3F, 0xB6, 0xEC,
+ 0x55, 0xA8, 0x82, 0xEE, 0x51, 0xFD, 0xB7, 0x62, 0x9C, 0xA3, 0xFB, 0x6E,
+ 0xC5, 0x5A, 0x88, 0x2E, 0xE5, 0x1F, 0xDB, 0x76, 0x29, 0xCA, 0x3F, 0xB6,
+ 0xEC, 0x55, 0xA8, 0x82, 0xF1, 0x11, 0xF5, 0x8F, 0xC6, 0xEC, 0x57, 0x4F,
+ 0x35, 0xD4, 0xA3, 0x78, 0x6E, 0xE0, 0xB9, 0x61, 0xD2, 0x17, 0x53, 0x35,
+ 0xD4, 0xA3, 0x78, 0x6E, 0xE0, 0xB8, 0xFF, 0x00, 0x5E, 0xCE, 0xFF, 0x00,
+ 0xC7, 0xC9, 0x59, 0x5E, 0xA5, 0x07, 0xC3, 0x6F, 0x05, 0xCD, 0x1E, 0x92,
+ 0xBA, 0x59, 0x5E, 0xA5, 0x07, 0xC3, 0x6F, 0x05, 0xCD, 0x1E, 0x92, 0xBC,
+ 0x7F, 0xD3, 0xB4, 0x1F, 0xDB, 0xC9, 0x44, 0x44, 0x5C, 0x9C, 0x44, 0x44,
+ 0x40, 0x44, 0x44, 0x05, 0x34, 0x03, 0x66, 0x14, 0x67, 0x00, 0x09, 0x00,
+ 0x55, 0x58, 0x07, 0xDE, 0x14, 0x2A, 0xE6, 0x3D, 0xEC, 0xAE, 0xC3, 0x8B,
+ 0x6B, 0xD0, 0x6A, 0x56, 0x06, 0x40, 0x86, 0xD8, 0xAD, 0x63, 0xDE, 0x03,
+ 0x4D, 0x92, 0x4D, 0x59, 0xAB, 0x03, 0xA3, 0xFF, 0x00, 0xDF, 0xB2, 0xA1,
+ 0x97, 0x6B, 0xB3, 0x43, 0x71, 0x2E, 0x20, 0x10, 0x2B, 0xAF, 0x35, 0x75,
+ 0x1F, 0xA2, 0x87, 0x94, 0x7D, 0xBB, 0x76, 0xDD, 0x6B, 0x4D, 0x79, 0xD5,
+ 0x0C, 0x47, 0x97, 0x5A, 0xB6, 0xEB, 0x44, 0x55, 0x5D, 0x6A, 0xDC, 0x2D,
+ 0xC2, 0x7E, 0x49, 0x85, 0x96, 0x81, 0x25, 0x8D, 0xB4, 0x7D, 0xD5, 0x9C,
+ 0xE0, 0x7D, 0x51, 0xB0, 0x61, 0x96, 0x97, 0x9B, 0x41, 0xB9, 0x80, 0x04,
+ 0x80, 0x71, 0x50, 0x35, 0xEF, 0x6D, 0x56, 0x5C, 0x45, 0x5D, 0x19, 0xD5,
+ 0x44, 0x68, 0x81, 0xC5, 0xC1, 0xEE, 0xAC, 0xF4, 0x9A, 0xD2, 0xE0, 0xB8,
+ 0x49, 0x0E, 0x13, 0x79, 0xDF, 0x26, 0x7F, 0x10, 0x04, 0xD5, 0xFB, 0xE8,
+ 0x46, 0x5B, 0x8F, 0xF8, 0x4B, 0x5B, 0x55, 0xA0, 0x2D, 0x06, 0x81, 0x66,
+ 0xB3, 0x52, 0x86, 0xB3, 0x5D, 0x75, 0x9A, 0xF4, 0xAB, 0x9D, 0x16, 0x23,
+ 0xC5, 0x4E, 0x7B, 0x88, 0xE9, 0xCE, 0x52, 0xCB, 0x4C, 0xD8, 0x30, 0xDE,
+ 0x73, 0x5B, 0x68, 0x0E, 0xB2, 0x6B, 0xCF, 0xEE, 0x3F, 0xFC, 0x46, 0x43,
+ 0x84, 0x5B, 0x6E, 0xCB, 0x88, 0x2D, 0x76, 0x62, 0x7A, 0x08, 0xFE, 0x94,
+ 0x2E, 0x8B, 0x11, 0xC4, 0x12, 0xF7, 0x12, 0x3A, 0x33, 0xAA, 0x35, 0xEE,
+ 0x6D, 0x56, 0x5C, 0x45, 0x49, 0x70, 0x5A, 0x63, 0x06, 0x1B, 0x6B, 0xFC,
+ 0xE6, 0xCB, 0x03, 0x8E, 0x7E, 0x9A, 0xEA, 0xFF, 0x00, 0xEA, 0x96, 0x14,
+ 0x26, 0x07, 0x37, 0x35, 0x61, 0xCF, 0x86, 0x45, 0xAE, 0x9A, 0x8D, 0x79,
+ 0x96, 0x20, 0x88, 0xF0, 0xEB, 0x41, 0xC4, 0x1A, 0xAA, 0xAE, 0xB5, 0x5E,
+ 0x51, 0xF5, 0xD7, 0x6D, 0xD5, 0x93, 0x5D, 0x75, 0xFB, 0xD2, 0xE0, 0xB8,
+ 0x4C, 0x20, 0x33, 0x93, 0x15, 0xBB, 0xF1, 0x16, 0x5A, 0xE9, 0xFA, 0x28,
+ 0xA3, 0x31, 0xB0, 0xDC, 0x1A, 0xDA, 0xC9, 0xA8, 0x12, 0x4F, 0xEE, 0x15,
+ 0x04, 0x47, 0x86, 0x58, 0x0F, 0x36, 0x74, 0x56, 0xAD, 0x24, 0x93, 0x59,
+ 0x24, 0x9F, 0xDD, 0x49, 0x98, 0x46, 0x5F, 0xE6, 0x99, 0x10, 0x8B, 0x5B,
+ 0x60, 0xB4, 0x57, 0xF8, 0x46, 0x6C, 0xDD, 0x35, 0xA8, 0xC4, 0x36, 0x00,
+ 0x2A, 0xAE, 0xD1, 0x86, 0x5C, 0x7A, 0x2A, 0xE8, 0x2A, 0x23, 0x1A, 0x21,
+ 0x6D, 0x93, 0x11, 0xC5, 0xBA, 0x2B, 0x54, 0xB4, 0xEE, 0xD1, 0xE8, 0xAB,
+ 0xA7, 0xDC, 0xAD, 0xAD, 0xB2, 0x04, 0xB3, 0x4B, 0x87, 0xE2, 0x21, 0xAE,
+ 0x22, 0xC1, 0xD2, 0x2A, 0xAC, 0xAA, 0x72, 0x10, 0x8D, 0x4E, 0x0E, 0x35,
+ 0x54, 0xE2, 0x40, 0x35, 0xF4, 0x7E, 0xEA, 0x0B, 0x6E, 0xFC, 0x3F, 0x88,
+ 0xFE, 0x1E, 0x8C, 0xFD, 0x0A, 0xAE, 0x8A, 0xF7, 0x1A, 0xDC, 0xF2, 0x73,
+ 0x55, 0xD2, 0x97, 0x05, 0xC2, 0xE8, 0x40, 0x17, 0xB8, 0xD5, 0x99, 0xAD,
+ 0x24, 0x03, 0x9F, 0xF8, 0x52, 0xDA, 0x2D, 0x10, 0x1A, 0xD6, 0x35, 0xD6,
+ 0x9B, 0x9C, 0x16, 0x83, 0x5E, 0x72, 0xB1, 0xD8, 0xE2, 0xC7, 0x56, 0x33,
+ 0xFB, 0x88, 0xD2, 0x15, 0x44, 0x68, 0x81, 0xB6, 0x44, 0x47, 0x06, 0xE8,
+ 0x05, 0x22, 0x48, 0x94, 0xF1, 0x40, 0x82, 0xDA, 0xE1, 0x00, 0x41, 0x7B,
+ 0x85, 0xA2, 0x01, 0xE8, 0xE8, 0x08, 0x49, 0x64, 0x28, 0x8E, 0xB0, 0xD6,
+ 0xB8, 0xB9, 0xB9, 0xAA, 0x06, 0xAA, 0xC1, 0x50, 0x32, 0x23, 0xE1, 0xD7,
+ 0x61, 0xC5, 0xB5, 0xE8, 0x28, 0x22, 0xC4, 0x69, 0x25, 0xB1, 0x1C, 0x09,
+ 0xCE, 0x6A, 0x3D, 0x29, 0x65, 0xA7, 0x73, 0x43, 0x88, 0xAD, 0xA1, 0xA5,
+ 0xF0, 0x8B, 0x88, 0x02, 0xAA, 0x88, 0xAC, 0xFD, 0x3C, 0xD6, 0x2A, 0xBC,
+ 0x44, 0x77, 0xE2, 0x24, 0x92, 0xE7, 0x0A, 0x89, 0x3D, 0x2A, 0xC5, 0x25,
+ 0x24, 0x44, 0x45, 0x01, 0x11, 0x10, 0x11, 0x11, 0x01, 0x6C, 0xE8, 0x4F,
+ 0x5B, 0x17, 0xBA, 0x16, 0xB1, 0x6C, 0xE8, 0x4F, 0x5B, 0x17, 0xBA, 0x16,
+ 0xF0, 0xF2, 0x5C, 0x7B, 0xAC, 0xA7, 0xBD, 0x74, 0x2E, 0xE9, 0xE2, 0xB5,
+ 0x4B, 0x6B, 0x4F, 0x7A, 0xE8, 0x5D, 0xD3, 0xC5, 0x6A, 0x97, 0xD2, 0xC3,
+ 0xC4, 0xCB, 0xB8, 0x88, 0x8B, 0x4C, 0x88, 0x88, 0x80, 0x88, 0x88, 0x0A,
+ 0x69, 0x40, 0x1D, 0x32, 0xC0, 0xE0, 0x08, 0x27, 0xDE, 0xA1, 0x55, 0x6B,
+ 0x8B, 0x4D, 0x6D, 0x24, 0x11, 0xEF, 0x09, 0x2A, 0xC9, 0x85, 0x06, 0x1B,
+ 0xE1, 0xBD, 0xAD, 0x7D, 0xA2, 0x5C, 0xD1, 0x59, 0x6D, 0x55, 0x56, 0x55,
+ 0x1B, 0x06, 0x13, 0xF3, 0x82, 0xF6, 0xB4, 0x3E, 0xC9, 0xAF, 0x3F, 0xB8,
+ 0x9D, 0x1F, 0xB2, 0xC7, 0x0E, 0x20, 0x10, 0x09, 0x00, 0xF4, 0xAB, 0xCC,
+ 0x78, 0xA4, 0x82, 0x62, 0x38, 0x96, 0xF4, 0x1A, 0xFA, 0x16, 0x6A, 0x4B,
+ 0x84, 0xC6, 0x14, 0x36, 0xB2, 0x29, 0xB2, 0x48, 0xE4, 0xC1, 0x69, 0xB4,
+ 0x0F, 0xFD, 0xC0, 0x74, 0x85, 0x64, 0x2F, 0xC1, 0x2E, 0xF8, 0x8D, 0x00,
+ 0xBC, 0x38, 0x0A, 0xC8, 0xAE, 0xA1, 0x9D, 0x46, 0x63, 0x44, 0x24, 0x92,
+ 0xF7, 0x1A, 0xC5, 0x47, 0x3F, 0xBB, 0x42, 0xA3, 0x22, 0x3E, 0x19, 0xAD,
+ 0x8E, 0x2D, 0x3F, 0xB1, 0x56, 0x8B, 0x4E, 0x59, 0x6D, 0xA6, 0x2C, 0x56,
+ 0x59, 0x01, 0xA0, 0xD4, 0xCA, 0x85, 0xAC, 0xF5, 0x57, 0xFB, 0x23, 0xA0,
+ 0xC2, 0x86, 0xD7, 0x3D, 0xD6, 0xC8, 0xFC, 0x35, 0x00, 0x40, 0x39, 0xC1,
+ 0x2A, 0x1E, 0x5A, 0x25, 0xB2, 0xFB, 0x6E, 0xB4, 0x73, 0x57, 0x5A, 0xA3,
+ 0x9E, 0xE7, 0x57, 0x69, 0xC4, 0xD6, 0x6B, 0x35, 0x9E, 0x92, 0x95, 0x25,
+ 0xB2, 0x8C, 0xBC, 0x20, 0x44, 0x33, 0x6A, 0xB1, 0x11, 0xED, 0x2E, 0xFD,
+ 0x80, 0x0A, 0xC6, 0x41, 0x84, 0xF3, 0x0C, 0x7E, 0x30, 0x62, 0xD7, 0x64,
+ 0xD6, 0x3F, 0x0E, 0x7A, 0xB3, 0xE6, 0xCE, 0xA1, 0xE5, 0x62, 0x67, 0xFC,
+ 0x6E, 0xCE, 0x6B, 0xE9, 0xF7, 0xA3, 0x62, 0xC4, 0x6B, 0x4B, 0x5A, 0xF7,
+ 0x06, 0x9F, 0x70, 0x2A, 0x54, 0xAD, 0xC3, 0x29, 0xB0, 0x5B, 0x11, 0x8D,
+ 0x68, 0x00, 0x17, 0x08, 0x62, 0xBA, 0xB4, 0xD6, 0xAD, 0x12, 0xF0, 0x9C,
+ 0x5B, 0x53, 0x88, 0x1F, 0x8A, 0xB1, 0x58, 0x3D, 0x02, 0xB5, 0x8D, 0x6D,
+ 0xF5, 0x55, 0x68, 0xD5, 0x9B, 0xDF, 0xA1, 0x55, 0xD1, 0xA2, 0x38, 0x82,
+ 0xE7, 0xB8, 0x91, 0x5F, 0xBD, 0x2A, 0x4B, 0x84, 0x92, 0xD6, 0x4C, 0xC6,
+ 0x66, 0xFE, 0x1B, 0x2E, 0x20, 0x3B, 0x3F, 0xB8, 0xA9, 0x21, 0x34, 0x4C,
+ 0xB1, 0xBC, 0xA0, 0x0D, 0x26, 0x23, 0x5A, 0x1C, 0xD6, 0x81, 0x5D, 0x75,
+ 0xD6, 0xB1, 0x5A, 0xE7, 0x31, 0xC1, 0xCC, 0x71, 0x69, 0x1E, 0xF0, 0x55,
+ 0xCE, 0x8D, 0x11, 0xCE, 0x6B, 0x9D, 0x11, 0xC4, 0xB7, 0xA0, 0x93, 0xD0,
+ 0xAC, 0xC2, 0x44, 0xA6, 0x6C, 0x26, 0x44, 0x63, 0x43, 0x4B, 0x85, 0xA7,
+ 0x38, 0x36, 0xBA, 0xBA, 0x6A, 0x15, 0x62, 0xAA, 0x25, 0xA1, 0x86, 0x92,
+ 0xF7, 0x1A, 0xDB, 0x50, 0x22, 0xD0, 0x19, 0xCE, 0x75, 0x8C, 0x1C, 0xE0,
+ 0x00, 0x0E, 0x22, 0xA3, 0x58, 0xCF, 0xD0, 0x55, 0xCD, 0x8B, 0x11, 0xAE,
+ 0x2E, 0x6B, 0xDC, 0x0B, 0xBA, 0x4D, 0x7D, 0x29, 0x52, 0x5C, 0x25, 0x8B,
+ 0x06, 0x1C, 0x28, 0x64, 0xD6, 0xE7, 0x1B, 0x65, 0xA3, 0xDC, 0x33, 0x55,
+ 0xFF, 0x00, 0xD5, 0x59, 0x76, 0xB7, 0xFE, 0x0A, 0xC0, 0x36, 0xE2, 0xD4,
+ 0x6B, 0xD0, 0x2A, 0xFF, 0x00, 0xEA, 0xC7, 0x2E, 0x73, 0x85, 0x45, 0xC4,
+ 0xE7, 0xAF, 0x39, 0xF7, 0xAB, 0x9B, 0x11, 0xCD, 0x65, 0x91, 0xEE, 0x75,
+ 0xA0, 0x7D, 0xE0, 0xA5, 0x74, 0x2D, 0x3B, 0x61, 0xC2, 0xAA, 0x62, 0xA7,
+ 0x5A, 0x21, 0xBD, 0x05, 0xB5, 0x55, 0xF8, 0x82, 0xAC, 0x42, 0xE1, 0x30,
+ 0xF8, 0x2C, 0x86, 0xC2, 0xC1, 0x58, 0x02, 0xA1, 0xD1, 0xA6, 0xBF, 0x35,
+ 0x8A, 0x1C, 0x45, 0x75, 0x13, 0x9F, 0x31, 0xFD, 0xD5, 0xDC, 0xB4, 0x4B,
+ 0x16, 0x39, 0x47, 0x59, 0xAA, 0xAA, 0xAB, 0xF7, 0x29, 0x4B, 0x6C, 0xA0,
+ 0x7F, 0xE6, 0x81, 0x08, 0x31, 0x8E, 0x6B, 0x9A, 0xDA, 0xC5, 0x91, 0x9E,
+ 0xBE, 0x9C, 0xFD, 0x2A, 0x08, 0x8D, 0x6F, 0x22, 0x1C, 0x3D, 0xCF, 0x2D,
+ 0xAF, 0x48, 0xF7, 0x2B, 0x79, 0x78, 0xB6, 0x2C, 0xF2, 0x8F, 0xB3, 0x55,
+ 0x55, 0x5A, 0x35, 0x54, 0xAD, 0x2F, 0x25, 0x8D, 0x6F, 0x40, 0x6D, 0x78,
+ 0xAB, 0x10, 0x96, 0xB5, 0x11, 0x15, 0x41, 0x11, 0x10, 0x11, 0x11, 0x01,
+ 0x11, 0x10, 0x54, 0x74, 0x85, 0xD4, 0xCD, 0x75, 0x28, 0xDE, 0x1B, 0xB8,
+ 0x2E, 0x58, 0x74, 0x85, 0xD4, 0xCD, 0x75, 0x28, 0xDE, 0x1B, 0xB8, 0x2E,
+ 0x3F, 0xD7, 0xB3, 0xBF, 0xF1, 0xF2, 0x56, 0x57, 0xA9, 0x41, 0xF0, 0xDB,
+ 0xC1, 0x73, 0x47, 0xA4, 0xAE, 0x96, 0x53, 0xA9, 0xC1, 0xF0, 0xDB, 0xC1,
+ 0x61, 0x5C, 0xD0, 0xF5, 0xAF, 0xC0, 0x2F, 0x2E, 0x78, 0xCC, 0xC4, 0x52,
+ 0xFF, 0x00, 0x58, 0x99, 0xCB, 0xA3, 0x4C, 0x8B, 0x73, 0x73, 0x43, 0xD6,
+ 0xBF, 0x00, 0x97, 0x34, 0x3D, 0x6B, 0xF0, 0x0B, 0x1F, 0x1E, 0x4E, 0x5A,
+ 0x4B, 0x4C, 0x8B, 0x73, 0x73, 0x43, 0xD6, 0xBF, 0x00, 0x97, 0x34, 0x3D,
+ 0x6B, 0xF0, 0x09, 0xF1, 0xE4, 0x69, 0x2D, 0x32, 0x2D, 0xCD, 0xCD, 0x0F,
+ 0x5A, 0xFC, 0x02, 0x5C, 0xD0, 0xF5, 0xAF, 0xC0, 0x27, 0xC7, 0x91, 0xA4,
+ 0xB4, 0xC8, 0xB7, 0x37, 0x34, 0x3D, 0x6B, 0xF0, 0x09, 0x73, 0x43, 0xD6,
+ 0xBF, 0x00, 0x9F, 0x1E, 0x46, 0x92, 0xD3, 0x22, 0xDC, 0xDC, 0xD0, 0xF5,
+ 0xAF, 0xC0, 0x25, 0xCD, 0x0F, 0x5A, 0xFC, 0x02, 0x7C, 0x79, 0x1A, 0x4B,
+ 0x4C, 0x8B, 0x73, 0x73, 0x43, 0xD6, 0xBF, 0x00, 0x97, 0x34, 0x3D, 0x6B,
+ 0xF0, 0x09, 0xF1, 0xE4, 0x69, 0x2D, 0x32, 0x2D, 0xCD, 0xCD, 0x0F, 0x5A,
+ 0xFC, 0x02, 0x5C, 0xD0, 0xF5, 0xAF, 0xC0, 0x27, 0xC7, 0x91, 0xA4, 0xB4,
+ 0xC8, 0xB7, 0x37, 0x34, 0x3D, 0x6B, 0xF0, 0x09, 0x73, 0x43, 0xD6, 0xBF,
+ 0x00, 0x9F, 0x1E, 0x46, 0x92, 0xD3, 0x22, 0xDC, 0xDC, 0xD0, 0xF5, 0xAF,
+ 0xC0, 0x25, 0xCD, 0x0F, 0x5A, 0xFC, 0x02, 0x7C, 0x79, 0x1A, 0x4B, 0x4C,
+ 0x8B, 0x73, 0x73, 0x43, 0xD6, 0xBF, 0x00, 0x97, 0x34, 0x3D, 0x6B, 0xF0,
+ 0x09, 0xF1, 0xE4, 0x69, 0x2D, 0x32, 0x2D, 0xCD, 0xCD, 0x0F, 0x5A, 0xFC,
+ 0x02, 0x5C, 0xD0, 0xF5, 0xAF, 0xC0, 0x27, 0xC7, 0x91, 0xA4, 0xB4, 0xC8,
+ 0xB7, 0x37, 0x34, 0x3D, 0x6B, 0xF0, 0x09, 0x73, 0x43, 0xD6, 0xBF, 0x00,
+ 0x9F, 0x1E, 0x46, 0x92, 0xD3, 0x22, 0xDC, 0xDC, 0xD0, 0xF5, 0xAF, 0xC0,
+ 0x25, 0xCD, 0x0F, 0x5A, 0xFC, 0x02, 0x7C, 0x79, 0x1A, 0x4B, 0x4C, 0x8B,
+ 0x73, 0x73, 0x43, 0xD6, 0xBF, 0x00, 0x97, 0x34, 0x3D, 0x6B, 0xF0, 0x09,
+ 0xF1, 0xE4, 0x69, 0x2D, 0x32, 0x2D, 0xCD, 0xCD, 0x0F, 0x5A, 0xFC, 0x02,
+ 0x5C, 0xD0, 0xF5, 0xAF, 0xC0, 0x27, 0xC7, 0x91, 0xA4, 0xB4, 0xC8, 0xB7,
+ 0x37, 0x34, 0x3D, 0x6B, 0xF0, 0x09, 0x73, 0x43, 0xD6, 0xBF, 0x00, 0x9F,
+ 0x1E, 0x46, 0x92, 0xD3, 0x22, 0xDC, 0xDC, 0xD0, 0xF5, 0xAF, 0xC0, 0x25,
+ 0xCD, 0x0F, 0x5A, 0xFC, 0x02, 0x7C, 0x79, 0x1A, 0x4B, 0x4C, 0x8B, 0x73,
+ 0x73, 0x43, 0xD6, 0xBF, 0x00, 0x97, 0x34, 0x3D, 0x6B, 0xF0, 0x09, 0xF1,
+ 0xE4, 0x69, 0x2D, 0x32, 0xD9, 0xD0, 0x9E, 0xB6, 0x2F, 0x74, 0x29, 0xAE,
+ 0x68, 0x7A, 0xD7, 0xE0, 0x16, 0x44, 0x9C, 0x8B, 0x65, 0x1C, 0xE7, 0x35,
+ 0xE5, 0xD6, 0x85, 0x59, 0xD5, 0xC7, 0x09, 0x89, 0xB5, 0xC7, 0x19, 0x89,
+ 0x6B, 0xA9, 0xEF, 0x5D, 0x0B, 0xBA, 0x78, 0xAD, 0x52, 0xE9, 0x67, 0x68,
+ 0xF6, 0x4E, 0x39, 0xAE, 0x73, 0xDC, 0xDB, 0x22, 0xAC, 0xCB, 0x1A, 0xE3,
+ 0x85, 0xAE, 0x7E, 0x01, 0x7B, 0x71, 0xCE, 0x22, 0x28, 0xCB, 0x19, 0x99,
+ 0x68, 0xD1, 0x6F, 0x2E, 0x38, 0x5A, 0xE7, 0xE0, 0x12, 0xE3, 0x85, 0xAE,
+ 0x7E, 0x01, 0x6B, 0x7C, 0x53, 0x49, 0x68, 0xD1, 0x6F, 0x2E, 0x38, 0x5A,
+ 0xE7, 0xE0, 0x12, 0xE3, 0x85, 0xAE, 0x7E, 0x01, 0x37, 0xC4, 0xD2, 0x5A,
+ 0x34, 0x5B, 0xCB, 0x8E, 0x16, 0xB9, 0xF8, 0x04, 0xB8, 0xE1, 0x6B, 0x9F,
+ 0x80, 0x4D, 0xF1, 0x34, 0x96, 0x8D, 0x16, 0xF2, 0xE3, 0x85, 0xAE, 0x7E,
+ 0x01, 0x2E, 0x38, 0x5A, 0xE7, 0xE0, 0x13, 0x7C, 0x4D, 0x25, 0xA3, 0x45,
+ 0xBC, 0xB8, 0xE1, 0x6B, 0x9F, 0x80, 0x4B, 0x8E, 0x16, 0xB9, 0xF8, 0x04,
+ 0xDF, 0x13, 0x49, 0x68, 0xD1, 0x6F, 0x2E, 0x38, 0x5A, 0xE7, 0xE0, 0x12,
+ 0xE3, 0x85, 0xAE, 0x7E, 0x01, 0x37, 0xC4, 0xD2, 0x5A, 0x34, 0x5B, 0xCB,
+ 0x8E, 0x16, 0xB9, 0xF8, 0x04, 0xB8, 0xE1, 0x6B, 0x9F, 0x80, 0x4D, 0xF1,
+ 0x34, 0x96, 0x8D, 0x16, 0xF2, 0xE3, 0x85, 0xAE, 0x7E, 0x01, 0x2E, 0x38,
+ 0x5A, 0xE7, 0xE0, 0x13, 0x7C, 0x4D, 0x25, 0xA3, 0x45, 0xBC, 0xB8, 0xE1,
+ 0x6B, 0x9F, 0x80, 0x4B, 0x8E, 0x16, 0xB9, 0xF8, 0x04, 0xDF, 0x13, 0x49,
+ 0x68, 0xD1, 0x6F, 0x2E, 0x38, 0x5A, 0xE7, 0xE0, 0x12, 0xE3, 0x85, 0xAE,
+ 0x7E, 0x01, 0x37, 0xC4, 0xD2, 0x5A, 0x34, 0x5B, 0xCB, 0x8E, 0x16, 0xB9,
+ 0xF8, 0x04, 0xB8, 0xE1, 0x6B, 0x9F, 0x80, 0x4D, 0xF1, 0x34, 0x96, 0x8D,
+ 0x16, 0xF2, 0xE3, 0x85, 0xAE, 0x7E, 0x01, 0x2E, 0x38, 0x5A, 0xE7, 0xE0,
+ 0x13, 0x7C, 0x4D, 0x25, 0xA3, 0x45, 0xBC, 0xB8, 0xE1, 0x6B, 0x9F, 0x80,
+ 0x4B, 0x8E, 0x16, 0xB9, 0xF8, 0x04, 0xDF, 0x13, 0x49, 0x68, 0xD1, 0x6F,
+ 0x2E, 0x38, 0x5A, 0xE7, 0xE0, 0x12, 0xE3, 0x85, 0xAE, 0x7E, 0x01, 0x37,
+ 0xC4, 0xD2, 0x5A, 0x34, 0x5B, 0xCB, 0x8E, 0x16, 0xB9, 0xF8, 0x04, 0xB8,
+ 0xE1, 0x6B, 0x9F, 0x80, 0x4D, 0xF1, 0x34, 0x96, 0x8D, 0x16, 0xF2, 0xE3,
+ 0x85, 0xAE, 0x7E, 0x01, 0x2E, 0x38, 0x5A, 0xE7, 0xE0, 0x13, 0x7C, 0x4D,
+ 0x25, 0xA3, 0x45, 0xBC, 0xB8, 0xE1, 0x6B, 0x9F, 0x80, 0x4B, 0x8E, 0x16,
+ 0xB9, 0xF8, 0x04, 0xDF, 0x13, 0x49, 0x68, 0xD1, 0x6F, 0x2E, 0x38, 0x5A,
+ 0xE7, 0xE0, 0x12, 0xE3, 0x85, 0xAE, 0x7E, 0x01, 0x37, 0xC4, 0xD2, 0x5A,
+ 0x41, 0xD2, 0x17, 0x53, 0x35, 0xD4, 0xA3, 0x78, 0x6E, 0xE0, 0xB0, 0x6E,
+ 0x38, 0x5A, 0xE7, 0xE0, 0x16, 0x7C, 0xDE, 0x69, 0x38, 0xDE, 0x1B, 0xB8,
+ 0x2E, 0x5F, 0xD3, 0x28, 0x98, 0xE8, 0xEB, 0xFC, 0xA2, 0x63, 0x2E, 0xA4,
+ 0xAF, 0x53, 0x83, 0xE1, 0xB7, 0x82, 0xD0, 0x1A, 0x4A, 0x6E, 0xBF, 0x5C,
+ 0x70, 0x0B, 0x7D, 0x2B, 0xD4, 0xA0, 0xF8, 0x6D, 0xE0, 0xB9, 0x73, 0xD2,
+ 0x53, 0xF9, 0xC7, 0x47, 0x49, 0xF2, 0x96, 0x55, 0xE5, 0x37, 0xAE, 0x38,
+ 0x04, 0xBC, 0xA6, 0xF5, 0xC7, 0x00, 0xB1, 0x11, 0x75, 0xA8, 0x19, 0x77,
+ 0x94, 0xDE, 0xB8, 0xE0, 0x12, 0xF2, 0x9B, 0xD7, 0x1C, 0x02, 0xC4, 0x44,
+ 0xA8, 0x19, 0x77, 0x94, 0xDE, 0xB8, 0xE0, 0x12, 0xF2, 0x9B, 0xD7, 0x1C,
+ 0x02, 0xC4, 0x44, 0xA8, 0x19, 0x77, 0x94, 0xDE, 0xB8, 0xE0, 0x12, 0xF2,
+ 0x9B, 0xD7, 0x1C, 0x02, 0xC4, 0x44, 0xA8, 0x19, 0x77, 0x94, 0xDE, 0xB8,
+ 0xE0, 0x12, 0xF2, 0x9B, 0xD7, 0x1C, 0x02, 0xC4, 0x44, 0xA8, 0x19, 0x77,
+ 0x94, 0xDE, 0xB8, 0xE0, 0x12, 0xF2, 0x9B, 0xD7, 0x1C, 0x02, 0xC4, 0x44,
+ 0xA8, 0x19, 0x77, 0x94, 0xDE, 0xB8, 0xE0, 0x12, 0xF2, 0x9B, 0xD7, 0x1C,
+ 0x02, 0xC4, 0x44, 0xA8, 0x19, 0x77, 0x94, 0xDE, 0xB8, 0xE0, 0x12, 0xF2,
+ 0x9B, 0xD7, 0x1C, 0x02, 0xC4, 0x44, 0xA8, 0x19, 0x77, 0x94, 0xDE, 0xB8,
+ 0xE0, 0x12, 0xF2, 0x9B, 0xD7, 0x1C, 0x02, 0xC4, 0x44, 0xA8, 0x19, 0x77,
+ 0x94, 0xDE, 0xB8, 0xE0, 0x12, 0xF2, 0x9B, 0xD7, 0x1C, 0x02, 0xC4, 0x44,
+ 0xA8, 0x19, 0x77, 0x94, 0xDE, 0xB8, 0xE0, 0x12, 0xF2, 0x9B, 0xD7, 0x1C,
+ 0x02, 0xC4, 0x44, 0xA8, 0x19, 0x77, 0x94, 0xDE, 0xB8, 0xE0, 0x12, 0xF2,
+ 0x9B, 0xD7, 0x1C, 0x02, 0xC4, 0x44, 0xA8, 0x19, 0x77, 0x94, 0xDE, 0xB8,
+ 0xE0, 0x12, 0xF2, 0x9B, 0xD7, 0x1C, 0x02, 0xC4, 0x44, 0xA8, 0x19, 0x77,
+ 0x94, 0xDE, 0xB8, 0xE0, 0x12, 0xF2, 0x9B, 0xD7, 0x1C, 0x02, 0xC4, 0x44,
+ 0xA8, 0x19, 0x77, 0x94, 0xDE, 0xB8, 0xE0, 0x12, 0xF2, 0x9B, 0xD7, 0x1C,
+ 0x02, 0xC4, 0x44, 0xA8, 0x19, 0x77, 0x94, 0xDE, 0xB8, 0xE0, 0x12, 0xF2,
+ 0x9B, 0xD7, 0x1C, 0x02, 0xC4, 0x44, 0xA8, 0x19, 0x77, 0x94, 0xDE, 0xB8,
+ 0xE0, 0x12, 0xF2, 0x9B, 0xD7, 0x1C, 0x02, 0xC4, 0x44, 0xA8, 0x19, 0x77,
+ 0x94, 0xDE, 0xB8, 0xE0, 0x15, 0xED, 0x9D, 0x9E, 0x75, 0x8B, 0x31, 0x09,
+ 0xB6, 0x6A, 0x6E, 0x61, 0x9C, 0xAC, 0x15, 0x93, 0x06, 0x6C, 0xC1, 0x6C,
+ 0x26, 0x81, 0x99, 0x8E, 0x2E, 0x3F, 0xBF, 0x42, 0x93, 0x1F, 0x88, 0xBE,
+ 0xF1, 0x9C, 0xD6, 0xBB, 0x00, 0xAA, 0xD9, 0xF9, 0xD7, 0x93, 0x66, 0x23,
+ 0x8D, 0x42, 0xB3, 0x98, 0x23, 0x27, 0x9A, 0xD6, 0x30, 0x58, 0x71, 0xB2,
+ 0x41, 0xE9, 0xD0, 0x55, 0xAC, 0x9C, 0xAA, 0x11, 0x6B, 0xAD, 0x97, 0x10,
+ 0xE1, 0xF9, 0xB3, 0x1A, 0xFD, 0xE5, 0x2B, 0xF0, 0x56, 0xF1, 0x9C, 0xD6,
+ 0xBB, 0x00, 0x97, 0x8C, 0xE6, 0xB5, 0xD8, 0x05, 0x57, 0x4F, 0x07, 0x34,
+ 0x83, 0x0F, 0x39, 0x03, 0x3D, 0x7F, 0xBF, 0xE2, 0xC5, 0x22, 0xCF, 0x5A,
+ 0x0E, 0xB0, 0x1C, 0x09, 0x69, 0x68, 0x35, 0xE7, 0xE9, 0xAD, 0x2B, 0xF0,
+ 0x5B, 0x79, 0x4E, 0x6B, 0x4E, 0x01, 0x2F, 0x29, 0xBD, 0x71, 0xC0, 0x2B,
+ 0x66, 0x66, 0x44, 0x76, 0x35, 0xA1, 0xA4, 0x54, 0x6B, 0xAB, 0xDC, 0x33,
+ 0x55, 0x99, 0x63, 0x2B, 0x11, 0x1C, 0x2B, 0x2E, 0xF2, 0x9B, 0xD7, 0x1C,
+ 0x02, 0x5E, 0x53, 0x7A, 0xE3, 0x80, 0x58, 0x88, 0x95, 0x03, 0x2E, 0xF2,
+ 0x9B, 0xD7, 0x1C, 0x02, 0x5E, 0x53, 0x7A, 0xE3, 0x80, 0x58, 0x88, 0x95,
+ 0x03, 0x2E, 0xF2, 0x9B, 0xD7, 0x1C, 0x02, 0x5E, 0x53, 0x7A, 0xE3, 0x80,
+ 0x58, 0x88, 0x95, 0x03, 0x2E, 0xF2, 0x9B, 0xD7, 0x1C, 0x02, 0x5E, 0x53,
+ 0x7A, 0xE3, 0x80, 0x58, 0x88, 0x95, 0x03, 0x2E, 0xF2, 0x9B, 0xD7, 0x1C,
+ 0x02, 0x5E, 0x53, 0x7A, 0xE3, 0x80, 0x58, 0x88, 0x95, 0x03, 0x2E, 0xF2,
+ 0x9B, 0xD7, 0x1C, 0x02, 0x5E, 0x53, 0x7A, 0xE3, 0x80, 0x58, 0x88, 0x95,
+ 0x03, 0x2E, 0xF2, 0x9B, 0xD7, 0x1C, 0x02, 0x5E, 0x53, 0x7A, 0xE3, 0x80,
+ 0x58, 0x88, 0x95, 0x03, 0x2E, 0xF2, 0x9B, 0xD7, 0x1C, 0x02, 0x5E, 0x53,
+ 0x7A, 0xE3, 0x80, 0x58, 0x88, 0x95, 0x03, 0x2E, 0xF2, 0x9B, 0xD7, 0x1C,
+ 0x02, 0x5E, 0x53, 0x7A, 0xE3, 0x80, 0x58, 0x88, 0x95, 0x03, 0x2E, 0xF2,
+ 0x9B, 0xD7, 0x1C, 0x02, 0x5E, 0x53, 0x7A, 0xE3, 0x80, 0x58, 0x88, 0x95,
+ 0x03, 0x2E, 0xF2, 0x9B, 0xD7, 0x1C, 0x02, 0x5E, 0x53, 0x7A, 0xE3, 0x80,
+ 0x58, 0x88, 0x95, 0x03, 0x2E, 0xF2, 0x9B, 0xD7, 0x1C, 0x02, 0x5E, 0x53,
+ 0x7A, 0xE3, 0x80, 0x58, 0x88, 0x95, 0x03, 0x2E, 0xF2, 0x9B, 0xD7, 0x1C,
+ 0x02, 0x5E, 0x53, 0x7A, 0xE3, 0x80, 0x58, 0x88, 0x95, 0x03, 0x2E, 0xF2,
+ 0x9B, 0xD7, 0x1C, 0x02, 0x5E, 0x53, 0x7A, 0xE3, 0x80, 0x58, 0x88, 0x95,
+ 0x03, 0x2E, 0xF2, 0x9B, 0xD7, 0x1C, 0x02, 0x5E, 0x53, 0x7A, 0xE3, 0x80,
+ 0x58, 0x88, 0x95, 0x03, 0x2E, 0xF2, 0x9B, 0xD7, 0x1C, 0x02, 0x5E, 0x53,
+ 0x7A, 0xE3, 0x80, 0x58, 0x88, 0x95, 0x03, 0x2E, 0xF2, 0x9B, 0xD7, 0x1C,
+ 0x02, 0x5E, 0x53, 0x7A, 0xE3, 0x80, 0x58, 0x88, 0x95, 0x03, 0x2C, 0x52,
+ 0x53, 0x75, 0xFA, 0xE3, 0x80, 0x5B, 0xF9, 0xAE, 0xA7, 0x1B, 0xC3, 0x77,
+ 0x05, 0xCB, 0x0E, 0x90, 0xBA, 0x89, 0xAE, 0xA5, 0x1B, 0xC3, 0x77, 0x05,
+ 0xCB, 0xFA, 0x45, 0x41, 0x1E, 0x50, 0x4A, 0xF5, 0x28, 0x3E, 0x1B, 0x78,
+ 0x2C, 0x38, 0x54, 0x4C, 0xB3, 0xE1, 0x31, 0xEE, 0x31, 0x2B, 0x73, 0x41,
+ 0x39, 0xD6, 0x64, 0xAF, 0x52, 0x83, 0xE1, 0xB7, 0x82, 0xAC, 0x2E, 0xA8,
+ 0xCF, 0x0C, 0x70, 0x59, 0xC6, 0x66, 0x21, 0x32, 0xF2, 0x96, 0xB7, 0x99,
+ 0xD1, 0x9B, 0x50, 0xF8, 0x81, 0x39, 0x9D, 0x19, 0xB5, 0x0F, 0x88, 0x17,
+ 0x0F, 0x1F, 0xD7, 0xC4, 0xEF, 0x1E, 0x2A, 0xC5, 0xAB, 0x94, 0xB7, 0x77,
+ 0xCC, 0xE8, 0xCD, 0xA8, 0x7C, 0x40, 0x9C, 0xCE, 0x8C, 0xDA, 0x87, 0xC4,
+ 0x0B, 0x84, 0x44, 0xDA, 0x52, 0xDD, 0xDF, 0x33, 0xA3, 0x36, 0xA1, 0xF1,
+ 0x02, 0x73, 0x3A, 0x33, 0x6A, 0x1F, 0x10, 0x2E, 0x11, 0x13, 0x69, 0x2D,
+ 0xDD, 0xF3, 0x3A, 0x33, 0x6A, 0x1F, 0x10, 0x20, 0x92, 0xA3, 0x0F, 0x44,
+ 0xC8, 0xF8, 0x81, 0x70, 0x8A, 0x69, 0x4E, 0xB7, 0x07, 0xBE, 0x38, 0xA5,
+ 0xCA, 0xDB, 0xBB, 0x75, 0x11, 0x28, 0xD6, 0x97, 0x39, 0xCF, 0x00, 0x67,
+ 0x24, 0xB8, 0x66, 0xF2, 0x50, 0xF3, 0x3A, 0x33, 0x6A, 0x1F, 0x10, 0x2D,
+ 0x85, 0x21, 0xD4, 0x26, 0x3C, 0x37, 0x70, 0x5E, 0x68, 0xA6, 0xD2, 0x5B,
+ 0xBB, 0xE6, 0x74, 0x66, 0xD4, 0x3E, 0x20, 0x4E, 0x67, 0x46, 0x6D, 0x43,
+ 0xE2, 0x05, 0xC2, 0x22, 0xBB, 0x4A, 0x5B, 0xBB, 0xE6, 0x74, 0x66, 0xD4,
+ 0x3E, 0x20, 0x4E, 0x67, 0x46, 0x6D, 0x43, 0xE2, 0x05, 0xC2, 0x22, 0x6D,
+ 0x25, 0xBB, 0xBE, 0x67, 0x46, 0x6D, 0x43, 0xE2, 0x04, 0xE6, 0x74, 0x66,
+ 0xD4, 0x3E, 0x20, 0x5C, 0x22, 0x26, 0xD2, 0x5B, 0xBC, 0x6C, 0x8D, 0x1A,
+ 0xF7, 0x06, 0xB6, 0x62, 0xD3, 0x8E, 0x60, 0x04, 0x41, 0x9D, 0x48, 0xFA,
+ 0x26, 0x4E, 0x1B, 0x4B, 0xA2, 0x3D, 0xED, 0x68, 0xE9, 0x25, 0xC0, 0x05,
+ 0xC7, 0xD0, 0x5E, 0xD9, 0x95, 0xEF, 0x85, 0xD8, 0xFA, 0x43, 0xEC, 0x59,
+ 0x9E, 0xEF, 0xD5, 0x2E, 0x56, 0xD0, 0xF3, 0x3A, 0x33, 0x6A, 0x1F, 0x10,
+ 0x27, 0x33, 0xA3, 0x36, 0xA1, 0xF1, 0x02, 0xE1, 0x11, 0x36, 0x94, 0xB7,
+ 0x77, 0xCC, 0xE8, 0xCD, 0xA8, 0x7C, 0x40, 0x9C, 0xCE, 0x8C, 0xDA, 0x87,
+ 0xC4, 0x0B, 0x84, 0x44, 0xDA, 0x4B, 0x77, 0x7C, 0xCE, 0x8C, 0xDA, 0x87,
+ 0xC4, 0x09, 0xCC, 0xE8, 0xCD, 0xA8, 0x7C, 0x40, 0xB8, 0x44, 0x4D, 0xA4,
+ 0xB7, 0x77, 0xCC, 0xE8, 0xCD, 0xA8, 0x7C, 0x40, 0xAE, 0x87, 0x47, 0xD1,
+ 0xD1, 0x5C, 0x1B, 0x0E, 0x3D, 0xB7, 0x1F, 0x70, 0x88, 0x09, 0x5C, 0x12,
+ 0xDD, 0x7A, 0x27, 0xED, 0x96, 0xF7, 0x1C, 0x97, 0x2B, 0x6E, 0x9A, 0x25,
+ 0x17, 0x25, 0x09, 0xB6, 0xA2, 0xC4, 0x73, 0x07, 0x45, 0x6E, 0x78, 0x0A,
+ 0x2E, 0x67, 0x46, 0x6D, 0x43, 0xE2, 0x05, 0x1F, 0xA5, 0xDE, 0xC9, 0xFF,
+ 0x00, 0xD8, 0x17, 0x10, 0x9B, 0x49, 0x6E, 0xEF, 0x99, 0xD1, 0x9B, 0x50,
+ 0xF8, 0x81, 0x39, 0x9D, 0x19, 0xB5, 0x0F, 0x88, 0x17, 0x08, 0x89, 0xB4,
+ 0xA5, 0xBB, 0xBE, 0x67, 0x46, 0x6D, 0x43, 0xE2, 0x04, 0xE6, 0x74, 0x66,
+ 0xD4, 0x3E, 0x20, 0x5C, 0x22, 0x26, 0xD2, 0x5B, 0xBB, 0xE6, 0x74, 0x66,
+ 0xD4, 0x3E, 0x20, 0x4E, 0x67, 0x46, 0x6D, 0x43, 0xE2, 0x05, 0xC2, 0x22,
+ 0x6D, 0x25, 0xBB, 0xE8, 0x74, 0x74, 0x84, 0x62, 0x44, 0x28, 0xC5, 0xE4,
+ 0x67, 0xA9, 0xAF, 0x05, 0x56, 0x2D, 0x19, 0x23, 0x06, 0xAE, 0x56, 0x31,
+ 0x65, 0x7D, 0x16, 0x9E, 0x05, 0x6B, 0x49, 0xE8, 0x5F, 0x5B, 0x99, 0xF0,
+ 0xC7, 0x15, 0x93, 0xE9, 0xA7, 0xA9, 0x96, 0xEF, 0x1E, 0x09, 0x72, 0xB6,
+ 0xCE, 0xE6, 0x74, 0x66, 0xD4, 0x3E, 0x20, 0x4E, 0x67, 0x46, 0x6D, 0x43,
+ 0xE2, 0x05, 0xC2, 0x22, 0x6D, 0x29, 0x6E, 0xEF, 0x99, 0xD1, 0x9B, 0x50,
+ 0xF8, 0x81, 0x39, 0x9D, 0x19, 0xB5, 0x0F, 0x88, 0x17, 0x08, 0x89, 0xB4,
+ 0x96, 0xEE, 0xF9, 0x9D, 0x19, 0xB5, 0x0F, 0x88, 0x13, 0x99, 0xD1, 0x9B,
+ 0x50, 0xF8, 0x81, 0x70, 0x88, 0x9B, 0x49, 0x6E, 0xEF, 0x99, 0xD1, 0x9B,
+ 0x50, 0xF8, 0x81, 0x49, 0x0A, 0x8C, 0x91, 0x8D, 0x5F, 0x25, 0x15, 0xCF,
+ 0xAB, 0xA6, 0xCB, 0xC1, 0xA9, 0x70, 0x0B, 0xAE, 0xF4, 0x2F, 0xAA, 0xCC,
+ 0xF7, 0xC7, 0x04, 0xB9, 0x5B, 0x6C, 0x22, 0x51, 0xD4, 0x7C, 0x27, 0x59,
+ 0x8B, 0x1C, 0xB0, 0xF4, 0xD4, 0xE7, 0x80, 0xAC, 0xE6, 0x74, 0x66, 0xD4,
+ 0x3E, 0x20, 0x5A, 0x6F, 0x4C, 0xBA, 0xEC, 0x0F, 0x0F, 0xEA, 0xB9, 0xD4,
+ 0xB9, 0x2D, 0xDD, 0xF3, 0x3A, 0x33, 0x6A, 0x1F, 0x10, 0x27, 0x33, 0xA3,
+ 0x36, 0xA1, 0xF1, 0x02, 0xE1, 0x11, 0x36, 0x94, 0xB7, 0x77, 0xCC, 0xE8,
+ 0xCD, 0xA8, 0x7C, 0x40, 0x9C, 0xCE, 0x8C, 0xDA, 0x87, 0xC4, 0x0B, 0x84,
+ 0x44, 0xDA, 0x4B, 0x77, 0x7C, 0xCE, 0x8C, 0xDA, 0x87, 0xC4, 0x09, 0xCC,
+ 0xE8, 0xCD, 0xA8, 0x7C, 0x40, 0xB8, 0x44, 0x4D, 0xA4, 0xB7, 0xA0, 0x43,
+ 0xA2, 0xA4, 0xA2, 0xB6, 0xD4, 0x28, 0x8E, 0x7B, 0x7A, 0x2B, 0x6B, 0xC1,
+ 0x56, 0x3E, 0x42, 0x8E, 0x86, 0xE2, 0xD8, 0x93, 0x16, 0x5C, 0x3A, 0x41,
+ 0x88, 0x01, 0x51, 0x7A, 0x27, 0xEC, 0x61, 0xE2, 0x39, 0x73, 0xFE, 0x95,
+ 0x7B, 0x6A, 0x27, 0x75, 0xBC, 0x12, 0xE5, 0x6D, 0xD1, 0xF3, 0x3A, 0x33,
+ 0x6A, 0x1F, 0x10, 0x27, 0x33, 0xA3, 0x36, 0xA1, 0xF1, 0x02, 0xE1, 0x11,
+ 0x36, 0x94, 0xB7, 0x77, 0xCC, 0xE8, 0xCD, 0xA8, 0x7C, 0x40, 0x9C, 0xCE,
+ 0x8C, 0xDA, 0x87, 0xC4, 0x0B, 0x84, 0x44, 0xDA, 0x4B, 0x77, 0x7C, 0xCE,
+ 0x8C, 0xDA, 0x87, 0xC4, 0x09, 0xCC, 0xE8, 0xCD, 0xA8, 0x7C, 0x40, 0xB8,
+ 0x44, 0x4D, 0xA4, 0xB7, 0x77, 0xCC, 0xE8, 0xCD, 0xA8, 0x7C, 0x40, 0xA6,
+ 0x65, 0x13, 0x27, 0x11, 0xA1, 0xCC, 0x7B, 0xDC, 0xD3, 0xD0, 0x43, 0x81,
+ 0x05, 0x79, 0xF2, 0xF4, 0x3A, 0x07, 0xD8, 0xB2, 0x9D, 0xCF, 0xAA, 0x9B,
+ 0x4A, 0xDA, 0x07, 0x48, 0xD1, 0xAD, 0x71, 0x6B, 0xA6, 0x40, 0x20, 0xD4,
+ 0x41, 0x88, 0x33, 0x2A, 0x73, 0x3A, 0x33, 0x6A, 0x1F, 0x10, 0x2E, 0x4A,
+ 0x9B, 0xF6, 0xC4, 0xDF, 0x88, 0x56, 0x0A, 0xB7, 0x25, 0xBB, 0xBE, 0x67,
+ 0x46, 0x6D, 0x43, 0xE2, 0x04, 0xE6, 0x74, 0x66, 0xD4, 0x3E, 0x20, 0x5C,
+ 0x22, 0x26, 0xD2, 0x96, 0xEE, 0xF9, 0x9D, 0x19, 0xB5, 0x0F, 0x88, 0x13,
+ 0x99, 0xD1, 0x9B, 0x50, 0xF8, 0x81, 0x70, 0x88, 0x9B, 0x49, 0x6E, 0xEF,
+ 0x99, 0xD1, 0x9B, 0x50, 0xF8, 0x81, 0x39, 0x9D, 0x19, 0xB5, 0x0F, 0x88,
+ 0x17, 0x08, 0x89, 0xB4, 0x96, 0xF4, 0x21, 0x43, 0xCA, 0xB9, 0xA0, 0xB5,
+ 0xCF, 0x20, 0x8A, 0xC1, 0x0E, 0x19, 0xFC, 0x92, 0xE6, 0x96, 0xD3, 0x13,
+ 0x7B, 0xEC, 0xB2, 0xE5, 0x3A, 0xA4, 0x0F, 0x0D, 0xBC, 0x14, 0xCA, 0x6D,
+ 0x2B, 0x6D, 0x75, 0xCD, 0x2D, 0xA6, 0x26, 0xF7, 0xD9, 0x2E, 0x69, 0x6D,
+ 0x31, 0x37, 0xBE, 0xCB, 0x62, 0x89, 0xB4, 0x96, 0xD7, 0x5C, 0xD2, 0xDA,
+ 0x62, 0x6F, 0x7D, 0x92, 0xE6, 0x96, 0xD3, 0x13, 0x7B, 0xEC, 0xB6, 0x28,
+ 0x9B, 0x49, 0x6D, 0x64, 0x5A, 0x22, 0x59, 0x90, 0x9E, 0xF0, 0x62, 0x56,
+ 0xD6, 0x92, 0x33, 0xAC, 0xC9, 0xAE, 0xA5, 0x1B, 0xC3, 0x77, 0x05, 0x7C,
+ 0xC7, 0x57, 0x8B, 0xDC, 0x3C, 0x15, 0x93, 0x5D, 0x4A, 0x37, 0x86, 0xEE,
+ 0x0A, 0x4C, 0xCC, 0xC2, 0xE3, 0xE5, 0x04, 0xAF, 0x52, 0x83, 0xE1, 0xB7,
+ 0x82, 0xAC, 0x2E, 0xA8, 0xCF, 0x0C, 0x70, 0x54, 0x95, 0xEA, 0x50, 0x7C,
+ 0x36, 0xF0, 0x55, 0x85, 0xD5, 0x19, 0xE1, 0x8E, 0x0A, 0x47, 0x63, 0x2F,
+ 0x29, 0x79, 0xAC, 0x7F, 0x5F, 0x13, 0xBC, 0x78, 0xAB, 0x15, 0xF1, 0xFD,
+ 0x7C, 0x4E, 0xF1, 0xE2, 0xAC, 0x55, 0x95, 0x5A, 0xD7, 0x3A, 0xBB, 0x2D,
+ 0x26, 0xAE, 0x9A, 0x82, 0xA5, 0x46, 0xAA, 0xEA, 0xCC, 0xB3, 0xD8, 0xE8,
+ 0x8F, 0x95, 0x97, 0x6C, 0xAC, 0x76, 0xC2, 0x2C, 0xAE, 0xD8, 0x31, 0x03,
+ 0x0D, 0xAA, 0xCF, 0xE2, 0xCE, 0x45, 0x79, 0xAA, 0x1F, 0xD2, 0x96, 0x6E,
+ 0x3C, 0xAB, 0xA1, 0x7E, 0x5E, 0x53, 0xFE, 0x77, 0x9F, 0xC2, 0xEB, 0x3F,
+ 0xF6, 0xB3, 0x3D, 0x55, 0x74, 0x12, 0x0A, 0x0D, 0x68, 0x63, 0x89, 0x20,
+ 0x34, 0x92, 0x3A, 0x40, 0x0A, 0xDA, 0x8D, 0x55, 0xD5, 0x99, 0x6D, 0xE6,
+ 0xA2, 0x72, 0xCE, 0x88, 0x25, 0x23, 0xB1, 0x87, 0x97, 0x73, 0x9D, 0xFF,
+ 0x00, 0x28, 0x65, 0xA1, 0x9A, 0xC9, 0xAC, 0x91, 0x5F, 0xBD, 0x62, 0xCD,
+ 0xC4, 0x6B, 0xA5, 0xAC, 0xF2, 0xAD, 0x88, 0xFE, 0x70, 0xF7, 0x12, 0x05,
+ 0x55, 0xE6, 0x6E, 0x7A, 0xB1, 0x41, 0x84, 0xA6, 0x94, 0xEB, 0x70, 0x7B,
+ 0xE3, 0x8A, 0x85, 0x4D, 0x29, 0xD6, 0xE0, 0xF7, 0xC7, 0x15, 0x60, 0x7A,
+ 0x2D, 0x21, 0xD4, 0x26, 0x3C, 0x37, 0x70, 0x5E, 0x68, 0xBD, 0x2E, 0x90,
+ 0xEA, 0x13, 0x1E, 0x1B, 0xB8, 0x2F, 0x34, 0x50, 0x15, 0xC2, 0x1B, 0xDC,
+ 0x2B, 0x6B, 0x1C, 0x46, 0x90, 0x15, 0xAB, 0x68, 0xC7, 0x07, 0x48, 0xCB,
+ 0xB5, 0x8E, 0x04, 0xB5, 0x8E, 0x04, 0x73, 0x96, 0xC3, 0xA8, 0xDA, 0x3E,
+ 0xE2, 0x83, 0x59, 0x64, 0xD6, 0x05, 0x46, 0xB3, 0xD0, 0x81, 0xAE, 0x2D,
+ 0x2E, 0x0D, 0x25, 0xA3, 0xA4, 0xD5, 0x99, 0x6D, 0x21, 0x47, 0x96, 0x13,
+ 0x32, 0x85, 0xC2, 0xB7, 0x36, 0x1B, 0x41, 0x7D, 0xBA, 0x83, 0x4E, 0x7E,
+ 0x91, 0x52, 0xB4, 0x3D, 0xEE, 0xE4, 0x5D, 0x06, 0x65, 0x90, 0xA0, 0xB6,
+ 0x10, 0x6B, 0x81, 0x78, 0xFC, 0x26, 0xAF, 0xC5, 0xF8, 0x7D, 0xF5, 0x9A,
+ 0xFF, 0x00, 0x9A, 0xD0, 0x6B, 0x08, 0x23, 0xA4, 0x22, 0xC9, 0x9B, 0x7B,
+ 0x5C, 0xD9, 0x7B, 0x2E, 0x06, 0xCC, 0x10, 0x0D, 0x47, 0xA0, 0xD6, 0x56,
+ 0x32, 0x0D, 0x85, 0x05, 0xED, 0x99, 0x5E, 0xF8, 0x5D, 0x8F, 0xA4, 0x3E,
+ 0xC5, 0x99, 0xEE, 0xFD, 0x57, 0x1D, 0x41, 0x7B, 0x66, 0x57, 0xBE, 0x17,
+ 0x63, 0xE9, 0x0F, 0xB1, 0x66, 0x7B, 0xBF, 0x54, 0x1E, 0x7C, 0x88, 0x88,
+ 0x2B, 0x64, 0xD7, 0x55, 0x46, 0xBE, 0x9A, 0xAA, 0x4B, 0x26, 0xBA, 0xAA,
+ 0x35, 0x85, 0xB2, 0x31, 0x59, 0xCC, 0x79, 0x1E, 0x55, 0x9C, 0xE4, 0x43,
+ 0xCE, 0xFA, 0xFA, 0x59, 0xD3, 0xC9, 0xD7, 0xA7, 0xFF, 0x00, 0xF1, 0x5D,
+ 0x12, 0x3C, 0xB1, 0x99, 0x99, 0x2D, 0x1F, 0x89, 0xD0, 0x5C, 0x03, 0xF9,
+ 0x4C, 0xC4, 0xD9, 0xD1, 0x52, 0x0D, 0x5D, 0x97, 0x59, 0xB5, 0x64, 0xD9,
+ 0xD3, 0x56, 0x65, 0x42, 0x08, 0x35, 0x11, 0x52, 0xD9, 0xCC, 0xBD, 0xEE,
+ 0x7C, 0x68, 0x90, 0xE6, 0x58, 0xD9, 0x67, 0x32, 0xA6, 0x32, 0xD8, 0x39,
+ 0xBD, 0xCD, 0xB3, 0xD2, 0x30, 0xFD, 0xD6, 0x2C, 0xFB, 0xDA, 0xF9, 0xB7,
+ 0x39, 0x8E, 0x0E, 0x16, 0x5B, 0x9C, 0x77, 0x42, 0x0C, 0x65, 0xBA, 0xF4,
+ 0x4F, 0xDB, 0x2D, 0xEE, 0x39, 0x69, 0x56, 0xEB, 0xD1, 0x3F, 0x6C, 0xB7,
+ 0xB8, 0xE4, 0x1B, 0xDF, 0x4B, 0xBD, 0x93, 0xFF, 0x00, 0xB0, 0x2E, 0x21,
+ 0x76, 0xFE, 0x97, 0x7B, 0x27, 0xFF, 0x00, 0x60, 0x5C, 0x42, 0x0A, 0xB5,
+ 0xAE, 0x71, 0xA9, 0xA0, 0x93, 0xA0, 0x04, 0x2D, 0x22, 0xBA, 0xC1, 0x15,
+ 0x74, 0xE6, 0xE8, 0x59, 0x54, 0x7B, 0xAA, 0x7C, 0x60, 0x1E, 0x18, 0xE7,
+ 0x42, 0x21, 0xA4, 0xB8, 0x37, 0x3E, 0x6F, 0x79, 0x59, 0x70, 0xA2, 0x43,
+ 0x7D, 0x89, 0x69, 0xA8, 0xED, 0x25, 0xF0, 0xDC, 0xD8, 0x91, 0x2D, 0x5A,
+ 0x0D, 0xCE, 0x1C, 0xD1, 0x5F, 0xBF, 0xA0, 0xE2, 0x83, 0x55, 0x64, 0xE7,
+ 0xCC, 0x73, 0x67, 0x42, 0xD7, 0x34, 0x02, 0xE6, 0x90, 0x0F, 0x45, 0x63,
+ 0xA5, 0x6E, 0x04, 0xEC, 0xBB, 0xEC, 0xCC, 0xC5, 0x2D, 0xB5, 0x12, 0x23,
+ 0x61, 0xC4, 0x87, 0xEF, 0xB0, 0x1D, 0x6B, 0xA3, 0x45, 0x56, 0x47, 0xF4,
+ 0xA0, 0x6F, 0x38, 0x0F, 0xFF, 0x00, 0x96, 0x76, 0x11, 0xB5, 0x15, 0xA5,
+ 0xB6, 0x9E, 0x1E, 0x09, 0xAF, 0xF3, 0x7E, 0xC0, 0x7E, 0xFF, 0x00, 0xC2,
+ 0x0D, 0x69, 0x04, 0x74, 0x8A, 0x91, 0x66, 0xD2, 0x0F, 0x71, 0x10, 0x98,
+ 0x5F, 0xCA, 0x06, 0xD7, 0x53, 0xCC, 0x56, 0xBD, 0xCE, 0xAF, 0x4D, 0x44,
+ 0xD4, 0x3F, 0x6F, 0xE5, 0x61, 0x20, 0xE9, 0x3D, 0x0B, 0xEB, 0x73, 0x3E,
+ 0x18, 0xE2, 0xB2, 0x7D, 0x34, 0xF5, 0x32, 0xDD, 0xE3, 0xC1, 0x63, 0x7A,
+ 0x17, 0xD6, 0xE6, 0x7C, 0x31, 0xC5, 0x64, 0xFA, 0x69, 0xEA, 0x65, 0xBB,
+ 0xC7, 0x82, 0x0E, 0x49, 0x56, 0xA2, 0x41, 0x20, 0x1A, 0x87, 0x4A, 0xA2,
+ 0xCF, 0xA3, 0xA2, 0xC3, 0x64, 0x19, 0x88, 0x71, 0x5C, 0x1A, 0xD8, 0xA5,
+ 0xAC, 0x35, 0xE8, 0xCF, 0x9F, 0xFA, 0x35, 0x1F, 0xE9, 0x06, 0x0D, 0x93,
+ 0x55, 0x75, 0x1A, 0xBF, 0x84, 0x0D, 0x26, 0xAA, 0x81, 0x35, 0xE6, 0x1F,
+ 0xBA, 0xDB, 0x98, 0xD0, 0xB9, 0x18, 0x52, 0xED, 0x8A, 0xCF, 0xC0, 0x23,
+ 0x43, 0x06, 0xD0, 0xAA, 0xB2, 0xD6, 0xE7, 0xAF, 0x41, 0x75, 0x79, 0xD4,
+ 0x70, 0x1F, 0xC8, 0x42, 0x85, 0x0A, 0xDC, 0x13, 0x10, 0x72, 0x84, 0x8E,
+ 0x50, 0x55, 0x53, 0x83, 0x45, 0x56, 0x81, 0xA8, 0x1C, 0xC7, 0xDE, 0x83,
+ 0x5B, 0xC9, 0xBC, 0xB8, 0xB4, 0x31, 0xD6, 0x87, 0x48, 0xAB, 0x3A, 0xB4,
+ 0x82, 0x0D, 0x44, 0x54, 0x56, 0xE5, 0xAF, 0x60, 0xE5, 0x07, 0x2B, 0x5B,
+ 0xCC, 0x00, 0xD0, 0xD3, 0x1D, 0xB5, 0x8F, 0xC6, 0x0D, 0x56, 0xFA, 0x3A,
+ 0x33, 0xAC, 0x1A, 0x49, 0xED, 0x89, 0x1D, 0x84, 0x38, 0x13, 0xC9, 0xB4,
+ 0x3A, 0xA7, 0x5A, 0xA8, 0x8C, 0xD5, 0x5A, 0xF7, 0xA0, 0xC4, 0x5D, 0x77,
+ 0xA1, 0x7D, 0x56, 0x67, 0xBE, 0x38, 0x2E, 0x45, 0x75, 0xDE, 0x85, 0xF5,
+ 0x59, 0x9E, 0xF8, 0xE0, 0x83, 0x0F, 0xD3, 0x2E, 0xBB, 0x03, 0xC3, 0xFA,
+ 0xAE, 0x75, 0x74, 0x5E, 0x99, 0x75, 0xD8, 0x1E, 0x1F, 0xD5, 0x73, 0xA8,
+ 0x2E, 0xE4, 0xDF, 0x66, 0xD5, 0x87, 0x59, 0xD3, 0x56, 0x64, 0x2C, 0x70,
+ 0xAA, 0xB6, 0x91, 0x6B, 0xA3, 0x37, 0x4A, 0xCE, 0x8F, 0x32, 0xCB, 0x30,
+ 0x18, 0xD7, 0x3A, 0xB1, 0x0D, 0x80, 0xB8, 0x3F, 0xF0, 0x8D, 0x35, 0xB5,
+ 0x65, 0x72, 0xAD, 0x33, 0x0C, 0x89, 0x16, 0x2B, 0x59, 0xFF, 0x00, 0x50,
+ 0xC7, 0x10, 0x23, 0x07, 0xB5, 0xD9, 0xF3, 0x90, 0x3A, 0x5B, 0xFD, 0x94,
+ 0x1A, 0x72, 0xC7, 0x02, 0x01, 0x69, 0x04, 0xF4, 0x02, 0x10, 0xC3, 0x7B,
+ 0x7F, 0x33, 0x1C, 0x3F, 0x90, 0xB6, 0xB2, 0xB1, 0x79, 0x28, 0xD0, 0xB9,
+ 0xD4, 0x76, 0x3B, 0xFE, 0xA6, 0x1B, 0x99, 0xFF, 0x00, 0x20, 0x75, 0x90,
+ 0x0E, 0x73, 0x58, 0x39, 0x87, 0xFF, 0x00, 0xBD, 0xCA, 0x17, 0x46, 0xE4,
+ 0x23, 0x42, 0x88, 0xEC, 0xEC, 0xAC, 0x87, 0x8E, 0x70, 0xD8, 0x95, 0xB4,
+ 0x8A, 0x88, 0xA8, 0x74, 0x66, 0xAD, 0x06, 0xBA, 0xA3, 0x55, 0x75, 0x66,
+ 0x45, 0x97, 0x3C, 0x59, 0x0F, 0x93, 0x96, 0x85, 0x11, 0xB1, 0x19, 0x08,
+ 0x13, 0x6D, 0xBD, 0x0E, 0x71, 0xCE, 0x4E, 0x15, 0x0F, 0xE9, 0x62, 0x20,
+ 0xEE, 0x3D, 0x13, 0xF6, 0x30, 0xF1, 0x1C, 0xB9, 0xFF, 0x00, 0x4A, 0xBD,
+ 0xB5, 0x13, 0xBA, 0xDE, 0x0B, 0xA0, 0xF4, 0x4F, 0xD8, 0xC3, 0xC4, 0x72,
+ 0xE7, 0xFD, 0x2A, 0xF6, 0xD4, 0x4E, 0xEB, 0x78, 0x20, 0xD3, 0xA0, 0x04,
+ 0xF4, 0x0A, 0xD1, 0x64, 0xD1, 0xEF, 0x64, 0x39, 0xB6, 0xBA, 0x21, 0x01,
+ 0xA1, 0xAE, 0xAE, 0xB3, 0x57, 0xFD, 0xA5, 0x06, 0x38, 0x6B, 0x9D, 0xD0,
+ 0x09, 0xFE, 0x02, 0xA9, 0x63, 0x81, 0x20, 0xB4, 0x82, 0x05, 0x7D, 0x0B,
+ 0x67, 0x27, 0x31, 0x2E, 0xC6, 0x43, 0xAB, 0xFE, 0x2A, 0xA2, 0x38, 0x90,
+ 0x62, 0x67, 0xFC, 0x87, 0xF6, 0xCC, 0x92, 0xD4, 0x8B, 0x00, 0x73, 0x5C,
+ 0x1D, 0x61, 0x90, 0xDC, 0x3F, 0xE4, 0x7D, 0xA7, 0x3A, 0xD3, 0x9B, 0x58,
+ 0xAE, 0xA1, 0xEE, 0x07, 0x37, 0xF2, 0x83, 0x57, 0x51, 0xAA, 0xBA, 0x8D,
+ 0x5D, 0x15, 0xAA, 0x2D, 0x8C, 0xD3, 0xA1, 0x43, 0x90, 0x32, 0xB0, 0xA2,
+ 0xB5, 0xF6, 0x22, 0xB5, 0xD5, 0xB4, 0xFE, 0x62, 0x43, 0xAB, 0x38, 0x59,
+ 0x0B, 0x5C, 0x80, 0xBD, 0x0E, 0x81, 0xF6, 0x2C, 0xA7, 0x73, 0xEA, 0xBC,
+ 0xF1, 0x7A, 0x1D, 0x03, 0xEC, 0x59, 0x4E, 0xE7, 0xD5, 0x07, 0x15, 0x4D,
+ 0xFB, 0x62, 0x6F, 0xC4, 0x2B, 0x05, 0x67, 0x53, 0x7E, 0xD8, 0x9B, 0xF1,
+ 0x0A, 0xC1, 0x40, 0x57, 0x06, 0x38, 0xB6, 0xD0, 0x69, 0x2D, 0xD3, 0x56,
+ 0x65, 0x6A, 0xDB, 0xC8, 0xC6, 0x6B, 0x25, 0xE5, 0x4D, 0xA1, 0x5B, 0x22,
+ 0x38, 0xBB, 0xFE, 0x70, 0xCA, 0x85, 0x63, 0xA4, 0x7B, 0xD0, 0x6A, 0x2A,
+ 0x22, 0xAA, 0xC7, 0x4A, 0x2C, 0xE9, 0xA8, 0x62, 0x2C, 0xBC, 0xBB, 0xA1,
+ 0x44, 0x86, 0xE6, 0xC3, 0x86, 0xE0, 0x6B, 0x7B, 0x5A, 0x7F, 0x3B, 0x8F,
+ 0xE5, 0x26, 0xBE, 0x82, 0x16, 0x0A, 0x02, 0x22, 0x20, 0xF4, 0xD9, 0x4E,
+ 0xA9, 0x03, 0xC3, 0x6F, 0x05, 0x32, 0x86, 0x53, 0xAA, 0x40, 0xF0, 0xDB,
+ 0xC1, 0x4C, 0xA4, 0x82, 0x2A, 0x67, 0xA9, 0x55, 0x01, 0x11, 0x10, 0x47,
+ 0x31, 0xD5, 0xE2, 0xF7, 0x0F, 0x05, 0x64, 0xD7, 0x52, 0x8D, 0xE1, 0xBB,
+ 0x82, 0xBE, 0x63, 0xAB, 0xC5, 0xEE, 0x1E, 0x0A, 0xC9, 0xAE, 0xA5, 0x1B,
+ 0xC3, 0x77, 0x04, 0x9E, 0xCD, 0x63, 0xE5, 0x04, 0xAF, 0x52, 0x83, 0xE1,
+ 0xB7, 0x82, 0xAC, 0x2E, 0xA8, 0xCF, 0x0C, 0x70, 0x54, 0x95, 0xEA, 0x50,
+ 0x7C, 0x36, 0xF0, 0x55, 0x85, 0xD5, 0x19, 0xE1, 0x8E, 0x09, 0x1D, 0x8C,
+ 0xBC, 0xA5, 0xE6, 0xB1, 0xFD, 0x7C, 0x4E, 0xF1, 0xE2, 0xAC, 0x57, 0xC7,
+ 0xF5, 0xF1, 0x3B, 0xC7, 0x8A, 0xB1, 0x56, 0x44, 0x44, 0x40, 0x44, 0x44,
+ 0x05, 0x34, 0xA7, 0x5B, 0x83, 0xDF, 0x1C, 0x54, 0x2A, 0x69, 0x4E, 0xB7,
+ 0x07, 0xBE, 0x38, 0xAB, 0x03, 0xD1, 0x69, 0x0E, 0xA1, 0x31, 0xE1, 0xBB,
+ 0x82, 0xF3, 0x45, 0xE9, 0x74, 0x87, 0x50, 0x98, 0xF0, 0xDD, 0xC1, 0x79,
+ 0xA2, 0x80, 0x88, 0x88, 0x08, 0x88, 0x80, 0x88, 0x88, 0x36, 0x14, 0x17,
+ 0xB6, 0x65, 0x7B, 0xE1, 0x76, 0x3E, 0x90, 0xFB, 0x16, 0x67, 0xBB, 0xF5,
+ 0x5C, 0x75, 0x05, 0xED, 0x99, 0x5E, 0xF8, 0x5D, 0x8F, 0xA4, 0x3E, 0xC5,
+ 0x99, 0xEE, 0xFD, 0x50, 0x79, 0xF2, 0x22, 0x20, 0x22, 0x22, 0x02, 0x22,
+ 0x20, 0x2D, 0xD7, 0xA2, 0x7E, 0xD9, 0x6F, 0x71, 0xCB, 0x4A, 0xB7, 0x5E,
+ 0x89, 0xFB, 0x65, 0xBD, 0xC7, 0x20, 0xDE, 0xFA, 0x5D, 0xEC, 0x9F, 0xFD,
+ 0x81, 0x71, 0x0B, 0xB7, 0xF4, 0xBB, 0xD9, 0x3F, 0xFB, 0x02, 0xE2, 0x10,
+ 0x11, 0x11, 0x01, 0x11, 0x10, 0x11, 0x11, 0x07, 0x49, 0xE8, 0x5F, 0x5B,
+ 0x99, 0xF0, 0xC7, 0x15, 0x93, 0xE9, 0xA7, 0xA9, 0x96, 0xEF, 0x1E, 0x0B,
+ 0x1B, 0xD0, 0xBE, 0xB7, 0x33, 0xE1, 0x8E, 0x2B, 0x27, 0xD3, 0x4F, 0x53,
+ 0x2D, 0xDE, 0x3C, 0x10, 0x72, 0x48, 0x88, 0x80, 0x88, 0x88, 0x08, 0x88,
+ 0x80, 0xBA, 0xEF, 0x42, 0xFA, 0xAC, 0xCF, 0x7C, 0x70, 0x5C, 0x8A, 0xEB,
+ 0xBD, 0x0B, 0xEA, 0xB3, 0x3D, 0xF1, 0xC1, 0x06, 0x1F, 0xA6, 0x5D, 0x76,
+ 0x07, 0x87, 0xF5, 0x5C, 0xEA, 0xE8, 0xBD, 0x32, 0xEB, 0xB0, 0x3C, 0x3F,
+ 0xAA, 0xE7, 0x50, 0x11, 0x11, 0x01, 0x11, 0x10, 0x11, 0x11, 0x07, 0x71,
+ 0xE8, 0x9F, 0xB1, 0x87, 0x88, 0xE5, 0xCF, 0xFA, 0x55, 0xED, 0xA8, 0x9D,
+ 0xD6, 0xF0, 0x5D, 0x07, 0xA2, 0x7E, 0xC6, 0x1E, 0x23, 0x97, 0x3F, 0xE9,
+ 0x57, 0xB6, 0xA2, 0x77, 0x5B, 0xC1, 0x06, 0x9D, 0x11, 0x10, 0x11, 0x11,
+ 0x01, 0x11, 0x10, 0x17, 0xA1, 0xD0, 0x3E, 0xC5, 0x94, 0xEE, 0x7D, 0x57,
+ 0x9E, 0x2F, 0x43, 0xA0, 0x7D, 0x8B, 0x29, 0xDC, 0xFA, 0xA0, 0xE2, 0xA9,
+ 0xBF, 0x6C, 0x4D, 0xF8, 0x85, 0x60, 0xAC, 0xEA, 0x6F, 0xDB, 0x13, 0x7E,
+ 0x21, 0x58, 0x28, 0x08, 0x88, 0x80, 0x88, 0x88, 0x08, 0x88, 0x83, 0xD3,
+ 0x65, 0x3A, 0xA4, 0x0F, 0x0D, 0xBC, 0x14, 0xCA, 0x19, 0x4E, 0xA9, 0x03,
+ 0xC3, 0x6F, 0x05, 0x32, 0x92, 0x08, 0x88, 0x80, 0x88, 0x88, 0x23, 0x98,
+ 0xEA, 0xF1, 0x7B, 0x87, 0x82, 0xB2, 0x6B, 0xA9, 0x46, 0xF0, 0xDD, 0xC1,
+ 0x5F, 0x31, 0xD5, 0xE2, 0xF7, 0x0F, 0x05, 0x64, 0xD7, 0x52, 0x8D, 0xE1,
+ 0xBB, 0x82, 0x4F, 0x66, 0xB1, 0xF2, 0x82, 0x57, 0xA9, 0x41, 0xF0, 0xDB,
+ 0xC1, 0x5D, 0x00, 0x57, 0x2D, 0x0C, 0x1E, 0xC0, 0xE0, 0xA1, 0x95, 0x98,
+ 0x80, 0x25, 0x20, 0x83, 0x1A, 0x18, 0x22, 0x1B, 0x6B, 0x05, 0xC3, 0x42,
+ 0xAD, 0x72, 0x3A, 0x65, 0xFE, 0x55, 0x22, 0x62, 0x9A, 0xCB, 0x19, 0xDA,
+ 0x7A, 0x21, 0x34, 0x1D, 0x1A, 0x49, 0x26, 0x52, 0x19, 0x27, 0xF9, 0x4B,
+ 0x8E, 0x8C, 0xD8, 0xE1, 0xF9, 0xA9, 0xED, 0x49, 0x69, 0x97, 0xF9, 0x52,
+ 0xD4, 0x96, 0x99, 0x7F, 0x95, 0x5B, 0xFD, 0x67, 0x5C, 0xB8, 0x41, 0x71,
+ 0xD1, 0x9B, 0x1C, 0x3F, 0x34, 0xB8, 0xE8, 0xCD, 0x8E, 0x1F, 0x9A, 0x9E,
+ 0xD4, 0x96, 0x99, 0x7F, 0x95, 0x2D, 0x49, 0x69, 0x97, 0xF9, 0x52, 0xFF,
+ 0x00, 0x4D, 0x72, 0xE1, 0x05, 0xC7, 0x46, 0x6C, 0x70, 0xFC, 0xD2, 0xE3,
+ 0xA3, 0x36, 0x38, 0x7E, 0x6A, 0x7B, 0x52, 0x5A, 0x65, 0xFE, 0x54, 0xB5,
+ 0x25, 0xA6, 0x5F, 0xE5, 0x4B, 0xFD, 0x35, 0xCB, 0x84, 0x17, 0x1D, 0x19,
+ 0xB1, 0xC3, 0xF3, 0x46, 0xD0, 0x94, 0x73, 0x5C, 0x1C, 0xD9, 0x46, 0x02,
+ 0x0D, 0x60, 0x8A, 0xD4, 0xF6, 0xA4, 0xB4, 0xCB, 0xFC, 0xA9, 0x6A, 0x4B,
+ 0x4C, 0xBF, 0xCA, 0x97, 0xFA, 0x6B, 0x97, 0x09, 0xE2, 0x31, 0xB1, 0x18,
+ 0xE6, 0x3C, 0x56, 0xD7, 0x0A, 0x88, 0xD2, 0x16, 0x0D, 0xC7, 0x46, 0x6C,
+ 0x70, 0xFC, 0xD4, 0xF6, 0xA4, 0xB4, 0xCB, 0xFC, 0xA9, 0x6A, 0x4B, 0x4C,
+ 0xBF, 0xCA, 0x97, 0x06, 0xB9, 0x70, 0x82, 0xE3, 0xA3, 0x36, 0x38, 0x7E,
+ 0x69, 0x71, 0xD1, 0x9B, 0x1C, 0x3F, 0x35, 0x3D, 0xA9, 0x2D, 0x32, 0xFF,
+ 0x00, 0x2A, 0x5A, 0x92, 0xD3, 0x2F, 0xF2, 0xA5, 0xFE, 0x9A, 0xE5, 0xC2,
+ 0x0B, 0x8E, 0x8C, 0xD8, 0xE1, 0xF9, 0xA5, 0xC7, 0x46, 0x6C, 0x70, 0xFC,
+ 0xD4, 0xF6, 0xA4, 0xB4, 0xCB, 0xFC, 0xA9, 0x6A, 0x4B, 0x4C, 0xBF, 0xCA,
+ 0x97, 0xFA, 0x6B, 0x97, 0x08, 0x2E, 0x3A, 0x33, 0x63, 0x87, 0xE6, 0x97,
+ 0x1D, 0x19, 0xB1, 0xC3, 0xF3, 0x53, 0xDA, 0x92, 0xD3, 0x2F, 0xF2, 0xA5,
+ 0xA9, 0x2D, 0x32, 0xFF, 0x00, 0x2A, 0x5F, 0xE9, 0xAE, 0x5C, 0x22, 0x85,
+ 0x44, 0x48, 0x40, 0x8A, 0xD8, 0x90, 0xA5, 0x98, 0xC7, 0xB4, 0xD6, 0x08,
+ 0xAF, 0x32, 0xCA, 0x8F, 0x02, 0x1C, 0xC4, 0x27, 0x42, 0x8C, 0xD0, 0xF6,
+ 0x3B, 0xA4, 0x1F, 0x7A, 0x8A, 0xD4, 0x96, 0x99, 0x7F, 0x95, 0x2D, 0x49,
+ 0x69, 0x97, 0xF9, 0x52, 0xE0, 0xD7, 0x2E, 0x10, 0x5C, 0x74, 0x66, 0xC7,
+ 0x0F, 0xCD, 0x2E, 0x3A, 0x33, 0x63, 0x87, 0xE6, 0xA7, 0xB5, 0x25, 0xA6,
+ 0x5F, 0xE5, 0x4B, 0x52, 0x5A, 0x65, 0xFE, 0x54, 0xBF, 0xD3, 0x5C, 0xB8,
+ 0x41, 0x71, 0xD1, 0x9B, 0x1C, 0x3F, 0x34, 0xB8, 0xE8, 0xCD, 0x8E, 0x1F,
+ 0x9A, 0x9E, 0xD4, 0x96, 0x99, 0x7F, 0x95, 0x2D, 0x49, 0x69, 0x97, 0xF9,
+ 0x52, 0xFF, 0x00, 0x4D, 0x72, 0xE1, 0x05, 0xC7, 0x46, 0x6C, 0x70, 0xFC,
+ 0xD2, 0xE3, 0xA3, 0x36, 0x38, 0x7E, 0x6A, 0x7B, 0x52, 0x5A, 0x65, 0xFE,
+ 0x54, 0xB5, 0x25, 0xA6, 0x5F, 0xE5, 0x4B, 0xFD, 0x35, 0xCB, 0x84, 0x17,
+ 0x1D, 0x19, 0xB1, 0xC3, 0xF3, 0x52, 0x4B, 0xD1, 0x72, 0x52, 0xB1, 0x44,
+ 0x59, 0x79, 0x76, 0x43, 0x78, 0x15, 0x56, 0x2B, 0x57, 0xDA, 0x92, 0xD3,
+ 0x2F, 0xF2, 0xA5, 0xA9, 0x2D, 0x32, 0xFF, 0x00, 0x2A, 0x5F, 0xE9, 0xAE,
+ 0x5C, 0x2F, 0x99, 0x95, 0x83, 0x37, 0x0F, 0x93, 0x98, 0x86, 0x22, 0x32,
+ 0xBA, 0xEA, 0x3A, 0x56, 0x2D, 0xC7, 0x46, 0x6C, 0x70, 0xFC, 0xD4, 0xF6,
+ 0xA4, 0xB4, 0xCB, 0xFC, 0xA9, 0x6A, 0x4B, 0x4C, 0xBF, 0xCA, 0x97, 0x1C,
+ 0x9A, 0xE5, 0xC2, 0x0B, 0x8E, 0x8C, 0xD8, 0xE1, 0xF9, 0xA5, 0xC7, 0x46,
+ 0x6C, 0x70, 0xFC, 0xD4, 0xF6, 0xA4, 0xB4, 0xCB, 0xFC, 0xA9, 0x6A, 0x4B,
+ 0x4C, 0xBF, 0xCA, 0x97, 0xFA, 0x6B, 0x97, 0x08, 0x2E, 0x3A, 0x33, 0x63,
+ 0x87, 0xE6, 0x97, 0x1D, 0x19, 0xB1, 0xC3, 0xF3, 0x53, 0xDA, 0x92, 0xD3,
+ 0x2F, 0xF2, 0xA5, 0xA9, 0x2D, 0x32, 0xFF, 0x00, 0x2A, 0x5F, 0xE9, 0xAE,
+ 0x5C, 0x20, 0xB8, 0xE8, 0xCD, 0x8E, 0x1F, 0x9A, 0x5C, 0x74, 0x66, 0xC7,
+ 0x0F, 0xCD, 0x4F, 0x6A, 0x4B, 0x4C, 0xBF, 0xCA, 0x96, 0xA4, 0xB4, 0xCB,
+ 0xFC, 0xA9, 0x7F, 0xA6, 0xB9, 0x70, 0xA4, 0xAD, 0x1F, 0x29, 0x26, 0xF7,
+ 0x3A, 0x5A, 0x03, 0x61, 0xB9, 0xC2, 0xA2, 0x47, 0xBD, 0x5D, 0x35, 0x23,
+ 0x2D, 0x38, 0x1A, 0x26, 0x61, 0x36, 0x20, 0x6F, 0x45, 0x7E, 0xE5, 0x4B,
+ 0x52, 0x5A, 0x65, 0xFE, 0x54, 0xB5, 0x25, 0xA6, 0x5F, 0xE5, 0x4B, 0x83,
+ 0x5C, 0xB8, 0x41, 0x71, 0xD1, 0x9B, 0x1C, 0x3F, 0x34, 0xB8, 0xE8, 0xCD,
+ 0x8E, 0x1F, 0x9A, 0x9E, 0xD4, 0x96, 0x99, 0x7F, 0x95, 0x2D, 0x49, 0x69,
+ 0x97, 0xF9, 0x52, 0xFF, 0x00, 0x4D, 0x72, 0xE1, 0x05, 0xC7, 0x46, 0x6C,
+ 0x70, 0xFC, 0xD2, 0xE3, 0xA3, 0x36, 0x38, 0x7E, 0x6A, 0x7B, 0x52, 0x5A,
+ 0x65, 0xFE, 0x54, 0xB5, 0x25, 0xA6, 0x5F, 0xE5, 0x4B, 0xFD, 0x35, 0xCB,
+ 0x84, 0x17, 0x1D, 0x19, 0xB1, 0xC3, 0xF3, 0x4B, 0x8E, 0x8C, 0xD8, 0xE1,
+ 0xF9, 0xA9, 0xED, 0x49, 0x69, 0x97, 0xF9, 0x52, 0xD4, 0x96, 0x99, 0x7F,
+ 0x95, 0x2F, 0xF4, 0xD7, 0x2E, 0x10, 0x5C, 0x74, 0x66, 0xC7, 0x0F, 0xCD,
+ 0x64, 0x4A, 0xC9, 0x4B, 0xC9, 0x87, 0x09, 0x68, 0x4D, 0x86, 0x1D, 0x9C,
+ 0x81, 0xEF, 0x54, 0xB5, 0x25, 0xA6, 0x5F, 0xE5, 0x4B, 0x52, 0x5A, 0x65,
+ 0xFE, 0x54, 0xB8, 0xE4, 0xD7, 0x2E, 0x14, 0x9A, 0xA3, 0xA5, 0x27, 0x1E,
+ 0x1F, 0x33, 0x01, 0xB1, 0x1C, 0x05, 0x40, 0x9A, 0xF3, 0x05, 0x0D, 0xC7,
+ 0x46, 0x6C, 0x70, 0xFC, 0xD4, 0xF6, 0xA4, 0xB4, 0xCB, 0xFC, 0xA9, 0x6A,
+ 0x4B, 0x4C, 0xBF, 0xCA, 0x97, 0x1C, 0x9A, 0xE5, 0xC2, 0x0B, 0x8E, 0x8C,
+ 0xD8, 0xE1, 0xF9, 0xA5, 0xC7, 0x46, 0x6C, 0x70, 0xFC, 0xD4, 0xF6, 0xA4,
+ 0xB4, 0xCB, 0xFC, 0xA9, 0x6A, 0x4B, 0x4C, 0xBF, 0xCA, 0x97, 0xFA, 0x6B,
+ 0x97, 0x08, 0x2E, 0x3A, 0x33, 0x63, 0x87, 0xE6, 0x97, 0x1D, 0x19, 0xB1,
+ 0xC3, 0xF3, 0x53, 0xDA, 0x92, 0xD3, 0x2F, 0xF2, 0xA5, 0xA9, 0x2D, 0x32,
+ 0xFF, 0x00, 0x2A, 0x5F, 0xE9, 0xAE, 0x5C, 0x20, 0xB8, 0xE8, 0xCD, 0x8E,
+ 0x1F, 0x9A, 0x5C, 0x74, 0x66, 0xC7, 0x0F, 0xCD, 0x4F, 0x6A, 0x4B, 0x4C,
+ 0xBF, 0xCA, 0x96, 0xA4, 0xB4, 0xCB, 0xFC, 0xA9, 0x7F, 0xA6, 0xB9, 0x70,
+ 0xBE, 0x5A, 0x5A, 0x0C, 0xA4, 0x2E, 0x4E, 0x5E, 0x18, 0x86, 0xCA, 0xEB,
+ 0xA8, 0x69, 0x50, 0xCC, 0x51, 0x72, 0x53, 0x51, 0x4C, 0x58, 0xF2, 0xEC,
+ 0x88, 0xF3, 0xD2, 0x4D, 0x6A, 0xFB, 0x52, 0x5A, 0x65, 0xFE, 0x54, 0xB5,
+ 0x25, 0xA6, 0x5F, 0xE5, 0x4B, 0x83, 0x5C, 0xB8, 0x41, 0x71, 0xD1, 0x9B,
+ 0x1C, 0x3F, 0x34, 0xB8, 0xE8, 0xCD, 0x8E, 0x1F, 0x9A, 0x9E, 0xD4, 0x96,
+ 0x99, 0x7F, 0x95, 0x2D, 0x49, 0x69, 0x97, 0xF9, 0x52, 0xFF, 0x00, 0x4D,
+ 0x72, 0xE1, 0x05, 0xC7, 0x46, 0x6C, 0x70, 0xFC, 0xD2, 0xE3, 0xA3, 0x36,
+ 0x38, 0x7E, 0x6A, 0x7B, 0x52, 0x5A, 0x65, 0xFE, 0x54, 0xB5, 0x25, 0xA6,
+ 0x5F, 0xE5, 0x4B, 0xFD, 0x35, 0xCB, 0x84, 0x17, 0x1D, 0x19, 0xB1, 0xC3,
+ 0xF3, 0x4B, 0x8E, 0x8C, 0xD8, 0xE1, 0xF9, 0xA9, 0xED, 0x49, 0x69, 0x97,
+ 0xF9, 0x52, 0xD4, 0x96, 0x99, 0x7F, 0x95, 0x2F, 0xF4, 0xD7, 0x2E, 0x10,
+ 0x5C, 0x74, 0x66, 0xC7, 0x0F, 0xCD, 0x66, 0x41, 0x83, 0x0E, 0x5E, 0x13,
+ 0x61, 0x41, 0x68, 0x6B, 0x1B, 0x98, 0x01, 0xEE, 0x51, 0x5A, 0x92, 0xD3,
+ 0x2F, 0xF2, 0xA5, 0xA9, 0x2D, 0x32, 0xFF, 0x00, 0x2A, 0x5C, 0x1A, 0xE5,
+ 0xC2, 0x28, 0xB4, 0x3D, 0x1F, 0x1A, 0x23, 0xA2, 0x45, 0x95, 0x63, 0x9E,
+ 0xE3, 0x59, 0x26, 0xBC, 0xE5, 0x5B, 0x71, 0xD1, 0x9B, 0x1C, 0x3F, 0x35,
+ 0x3D, 0xA9, 0x2D, 0x32, 0xFF, 0x00, 0x2A, 0x5A, 0x92, 0xD3, 0x2F, 0xF2,
+ 0xA5, 0xFE, 0x9A, 0xE5, 0xC2, 0x0B, 0x8E, 0x8C, 0xD8, 0xE1, 0xF9, 0xA5,
+ 0xC7, 0x46, 0x6C, 0x70, 0xFC, 0xD4, 0xF6, 0xA4, 0xB4, 0xCB, 0xFC, 0xA9,
+ 0x6A, 0x4B, 0x4C, 0xBF, 0xCA, 0x97, 0xFA, 0x6B, 0x97, 0x08, 0x2E, 0x3A,
+ 0x33, 0x63, 0x87, 0xE6, 0x97, 0x1D, 0x19, 0xB1, 0xC3, 0xF3, 0x53, 0xDA,
+ 0x92, 0xD3, 0x2F, 0xF2, 0xA5, 0xA9, 0x2D, 0x32, 0xFF, 0x00, 0x2A, 0x5F,
+ 0xE9, 0xAE, 0x5C, 0x20, 0xB8, 0xE8, 0xCD, 0x8E, 0x1F, 0x9A, 0x5C, 0x74,
+ 0x66, 0xC7, 0x0F, 0xCD, 0x4F, 0x6A, 0x4B, 0x4C, 0xBF, 0xCA, 0x96, 0xA4,
+ 0xB4, 0xCB, 0xFC, 0xA9, 0x7F, 0xA6, 0xB9, 0x70, 0x9D, 0x8D, 0x0C, 0x63,
+ 0x58, 0xD1, 0x53, 0x5A, 0x2A, 0x03, 0xF6, 0x57, 0x2C, 0x6B, 0x52, 0x5A,
+ 0x65, 0xFE, 0x54, 0xB5, 0x25, 0xA6, 0x5F, 0xE5, 0x4B, 0x83, 0x59, 0xE1,
+ 0x92, 0x8B, 0x1A, 0xD4, 0x96, 0x99, 0x7F, 0x95, 0x2D, 0x49, 0x69, 0x97,
+ 0xF9, 0x52, 0xE0, 0xD6, 0x78, 0x64, 0xA2, 0xC6, 0xB5, 0x25, 0xA6, 0x5F,
+ 0xE5, 0x4B, 0x52, 0x5A, 0x65, 0xFE, 0x54, 0xB8, 0x35, 0x9E, 0x12, 0xCC,
+ 0x75, 0x78, 0xBD, 0xC3, 0xC1, 0x59, 0x35, 0xD4, 0xA3, 0x78, 0x6E, 0xE0,
+ 0xAC, 0xAE, 0x47, 0x4C, 0xBF, 0xCA, 0xA9, 0x35, 0x31, 0x00, 0xCA, 0x46,
+ 0x02, 0x34, 0x32, 0x4C, 0x37, 0x54, 0x03, 0x86, 0x85, 0x26, 0x62, 0x9A,
+ 0xC7, 0x19, 0xDA, 0x3A, 0x3F, 0xFF, 0xD9
+};
diff --git a/components/drivers/usb/cherryusb/demo/cherryusb_yuyv.h b/components/drivers/usb/cherryusb/demo/cherryusb_yuyv.h
new file mode 100644
index 0000000000..096b835165
--- /dev/null
+++ b/components/drivers/usb/cherryusb/demo/cherryusb_yuyv.h
@@ -0,0 +1,514 @@
+const unsigned char cherryusb_yuyv[6144] = {
+ 0x68, 0x68, 0x63, 0xC7, 0x63, 0x68, 0x63, 0xC7, 0x63, 0x68, 0x63, 0xC7,
+ 0x63, 0x68, 0x63, 0xC7, 0x63, 0x68, 0x63, 0xC7, 0x63, 0x68, 0x63, 0xC7,
+ 0x63, 0x68, 0x63, 0xC7, 0x63, 0x68, 0x63, 0xC7, 0x63, 0x68, 0x63, 0xC7,
+ 0x63, 0x68, 0x63, 0xC7, 0x63, 0x68, 0x63, 0xC7, 0x63, 0x68, 0x63, 0xC7,
+ 0x63, 0x68, 0x63, 0xC7, 0x63, 0x68, 0x63, 0xC6, 0x63, 0x69, 0x63, 0xC2,
+ 0x63, 0x69, 0x63, 0xBF, 0x63, 0x69, 0x63, 0xC8, 0x63, 0x6A, 0x64, 0xC4,
+ 0x64, 0x69, 0x63, 0xC5, 0x63, 0x68, 0x63, 0xC7, 0x63, 0x68, 0x63, 0xC7,
+ 0x63, 0x68, 0x63, 0xC7, 0x63, 0x68, 0x63, 0xC7, 0x63, 0x68, 0x63, 0xC7,
+ 0x63, 0x68, 0x63, 0xC7, 0x63, 0x68, 0x63, 0xC7, 0x63, 0x68, 0x63, 0xC7,
+ 0x63, 0x68, 0x63, 0xC7, 0x63, 0x68, 0x63, 0xC7, 0x63, 0x68, 0x63, 0xC7,
+ 0x63, 0x68, 0x63, 0xC7, 0x63, 0x68, 0x68, 0xC7, 0x68, 0x68, 0x67, 0xC0,
+ 0x67, 0x68, 0x67, 0xC0, 0x67, 0x68, 0x67, 0xC0, 0x67, 0x68, 0x67, 0xC0,
+ 0x67, 0x68, 0x67, 0xC0, 0x67, 0x68, 0x67, 0xC0, 0x67, 0x68, 0x67, 0xC0,
+ 0x67, 0x68, 0x67, 0xC0, 0x67, 0x68, 0x67, 0xC0, 0x67, 0x68, 0x67, 0xC0,
+ 0x67, 0x68, 0x67, 0xC0, 0x67, 0x68, 0x67, 0xC0, 0x67, 0x68, 0x67, 0xC0,
+ 0x67, 0x6C, 0x83, 0xB5, 0x61, 0x70, 0x7E, 0xAA, 0x8C, 0x72, 0xD9, 0x9F,
+ 0x64, 0x70, 0x6A, 0xAF, 0xD2, 0x72, 0x6A, 0xA3, 0xC3, 0x6F, 0x67, 0xB2,
+ 0x67, 0x68, 0x67, 0xC0, 0x67, 0x68, 0x67, 0xC0, 0x67, 0x68, 0x67, 0xC0,
+ 0x67, 0x68, 0x67, 0xC0, 0x67, 0x68, 0x67, 0xC0, 0x67, 0x68, 0x67, 0xC0,
+ 0x67, 0x68, 0x67, 0xC0, 0x67, 0x68, 0x67, 0xC0, 0x67, 0x68, 0x67, 0xC0,
+ 0x67, 0x68, 0x67, 0xC0, 0x67, 0x68, 0x67, 0xC0, 0x67, 0x68, 0x67, 0xC0,
+ 0x67, 0x68, 0x68, 0xC0, 0x68, 0x68, 0x67, 0xC4, 0x67, 0x6B, 0x67, 0xC2,
+ 0x67, 0x6B, 0x67, 0xC2, 0x67, 0x6B, 0x67, 0xC2, 0x67, 0x6B, 0x67, 0xC2,
+ 0x67, 0x6B, 0x67, 0xC2, 0x67, 0x6B, 0x67, 0xC2, 0x67, 0x6B, 0x67, 0xC2,
+ 0x67, 0x6B, 0x67, 0xC2, 0x67, 0x6B, 0x67, 0xC2, 0x67, 0x6B, 0x67, 0xC2,
+ 0x67, 0x6B, 0x67, 0xC2, 0x67, 0x6B, 0x67, 0xC2, 0x67, 0x6C, 0x67, 0xC4,
+ 0x67, 0x6D, 0x67, 0xC2, 0x68, 0x6B, 0x67, 0xC0, 0x69, 0x6D, 0x67, 0xBA,
+ 0x67, 0x6D, 0x67, 0xBD, 0x67, 0x6C, 0x67, 0xC0, 0x67, 0x6B, 0x67, 0xC2,
+ 0x67, 0x6B, 0x67, 0xC2, 0x67, 0x6B, 0x67, 0xC2, 0x67, 0x6B, 0x67, 0xC2,
+ 0x67, 0x6B, 0x67, 0xC2, 0x67, 0x6B, 0x67, 0xC2, 0x67, 0x6B, 0x67, 0xC2,
+ 0x67, 0x6B, 0x67, 0xC2, 0x67, 0x6B, 0x67, 0xC2, 0x67, 0x6B, 0x67, 0xC2,
+ 0x67, 0x6B, 0x67, 0xC2, 0x67, 0x6B, 0x67, 0xC2, 0x67, 0x68, 0x67, 0xC4,
+ 0x78, 0x70, 0x76, 0xC0, 0x76, 0x70, 0x76, 0xBF, 0x76, 0x70, 0x76, 0xBF,
+ 0x76, 0x70, 0x76, 0xBF, 0x76, 0x70, 0x76, 0xBF, 0x76, 0x70, 0x76, 0xBF,
+ 0x76, 0x70, 0x76, 0xBF, 0x76, 0x70, 0x76, 0xBF, 0x76, 0x70, 0x76, 0xBF,
+ 0x76, 0x70, 0x76, 0xBF, 0x76, 0x70, 0x76, 0xBF, 0x76, 0x70, 0x76, 0xBF,
+ 0x76, 0x70, 0x76, 0xBF, 0x76, 0x70, 0x76, 0xBF, 0x76, 0x70, 0x76, 0xBF,
+ 0x76, 0x6D, 0x76, 0xBB, 0x76, 0x6F, 0x76, 0xBB, 0x76, 0x6F, 0x76, 0xBF,
+ 0x76, 0x6F, 0x76, 0xBF, 0x76, 0x6F, 0x76, 0xBF, 0x76, 0x6F, 0x76, 0xBF,
+ 0x76, 0x6F, 0x76, 0xBF, 0x76, 0x6F, 0x76, 0xBF, 0x76, 0x6F, 0x76, 0xBF,
+ 0x76, 0x6F, 0x76, 0xBF, 0x76, 0x6F, 0x76, 0xBF, 0x76, 0x6F, 0x76, 0xBF,
+ 0x76, 0x6F, 0x76, 0xBF, 0x76, 0x6F, 0x76, 0xBF, 0x76, 0x6F, 0x76, 0xBF,
+ 0x76, 0x6F, 0x76, 0xBF, 0x76, 0x6B, 0x78, 0xC0, 0xF7, 0x6D, 0x93, 0x7E,
+ 0x91, 0x60, 0x91, 0x7A, 0x91, 0x60, 0x91, 0x7A, 0x91, 0x60, 0x91, 0x7A,
+ 0x91, 0x60, 0x91, 0x7A, 0x91, 0x60, 0x91, 0x7A, 0x91, 0x60, 0x91, 0x7A,
+ 0x91, 0x60, 0x91, 0x7A, 0x91, 0x60, 0x91, 0x7A, 0x91, 0x60, 0x91, 0x7A,
+ 0x91, 0x60, 0x91, 0x7A, 0x91, 0x60, 0x91, 0x7A, 0x91, 0x60, 0x91, 0x7A,
+ 0x91, 0x60, 0x91, 0x7A, 0x91, 0x60, 0x91, 0x7A, 0x91, 0x68, 0x8D, 0x7B,
+ 0x7F, 0x96, 0x83, 0x7A, 0x83, 0x9D, 0x83, 0x7A, 0x83, 0x9D, 0x83, 0x7A,
+ 0x83, 0x9D, 0x83, 0x7A, 0x83, 0x9D, 0x83, 0x7A, 0x83, 0x9D, 0x83, 0x7A,
+ 0x83, 0x9D, 0x83, 0x7A, 0x83, 0x9D, 0x83, 0x7A, 0x83, 0x9D, 0x83, 0x7A,
+ 0x83, 0x9D, 0x83, 0x7A, 0x83, 0x9D, 0x83, 0x7A, 0x83, 0x9D, 0x83, 0x7A,
+ 0x83, 0x9D, 0x83, 0x7A, 0x83, 0x9D, 0x83, 0x7A, 0x83, 0x9D, 0x83, 0x7A,
+ 0x85, 0x91, 0xF6, 0x7F, 0xFC, 0x71, 0x93, 0x77, 0x92, 0x61, 0x92, 0x6B,
+ 0x92, 0x61, 0x92, 0x6B, 0x92, 0x61, 0x92, 0x6B, 0x92, 0x61, 0x92, 0x6B,
+ 0x92, 0x61, 0x92, 0x6B, 0x92, 0x64, 0xCD, 0x6D, 0xBD, 0x6B, 0x96, 0x6E,
+ 0xA1, 0x6C, 0xCB, 0x6E, 0xCC, 0x66, 0x93, 0x6D, 0x92, 0x61, 0x92, 0x6B,
+ 0x92, 0x61, 0x92, 0x6B, 0x92, 0x61, 0x92, 0x6B, 0x92, 0x61, 0x92, 0x6B,
+ 0x92, 0x61, 0x92, 0x6B, 0x92, 0x68, 0x8E, 0x6D, 0x86, 0x98, 0x85, 0x6D,
+ 0x85, 0x9D, 0x85, 0x68, 0x85, 0x9D, 0x85, 0x68, 0x85, 0x9D, 0x85, 0x68,
+ 0x85, 0x9D, 0x85, 0x68, 0x85, 0x9D, 0x85, 0x68, 0x85, 0x99, 0xC7, 0x6B,
+ 0xCE, 0x94, 0x98, 0x6E, 0xD0, 0x8F, 0xCC, 0x6F, 0x85, 0x9C, 0x85, 0x69,
+ 0x85, 0x9D, 0x85, 0x68, 0x85, 0x9D, 0x85, 0x68, 0x85, 0x9D, 0x85, 0x68,
+ 0x85, 0x9D, 0x85, 0x68, 0x85, 0x9D, 0x85, 0x68, 0x86, 0x8F, 0xFA, 0x77,
+ 0xFD, 0x7D, 0xF5, 0x7B, 0xF6, 0x79, 0xF6, 0x7C, 0xF6, 0x79, 0xF6, 0x7C,
+ 0xF6, 0x79, 0xF6, 0x7C, 0xF6, 0x79, 0xF6, 0x7C, 0xF6, 0x79, 0xF6, 0x7C,
+ 0xF6, 0x79, 0xF6, 0x7C, 0xF7, 0x7C, 0xF4, 0x7B, 0xF6, 0x7D, 0xF7, 0x7B,
+ 0xF7, 0x7A, 0xF6, 0x7C, 0xF6, 0x79, 0xF6, 0x7C, 0xF6, 0x79, 0xF6, 0x7C,
+ 0xF6, 0x79, 0xF6, 0x7C, 0xF6, 0x79, 0xF6, 0x7C, 0xF6, 0x79, 0xF6, 0x7C,
+ 0xF4, 0x7A, 0xE2, 0x7B, 0xDF, 0x85, 0xF5, 0x7B, 0xF4, 0x86, 0xF4, 0x7B,
+ 0xF4, 0x86, 0xF4, 0x7B, 0xF4, 0x86, 0xF4, 0x7B, 0xF4, 0x86, 0xF4, 0x7B,
+ 0xF4, 0x86, 0xF4, 0x7B, 0xF4, 0x86, 0xF5, 0x7B, 0xF5, 0x85, 0xF6, 0x7B,
+ 0xF4, 0x85, 0xF5, 0x7B, 0xF5, 0x86, 0xF4, 0x7A, 0xF4, 0x86, 0xF4, 0x7B,
+ 0xF4, 0x86, 0xF4, 0x7B, 0xF4, 0x86, 0xF4, 0x7B, 0xF4, 0x86, 0xF4, 0x7B,
+ 0xF4, 0x86, 0xF4, 0x7B, 0xF6, 0x81, 0xFC, 0x7B, 0xFC, 0x7F, 0xF3, 0x7C,
+ 0x30, 0x82, 0x30, 0x7D, 0x30, 0x82, 0x30, 0x7D, 0x30, 0x82, 0x30, 0x7D,
+ 0x30, 0x82, 0x30, 0x7D, 0x30, 0x82, 0x30, 0x7D, 0x30, 0x82, 0x30, 0x7D,
+ 0x30, 0x80, 0x30, 0x7D, 0xEF, 0x81, 0x30, 0x7E, 0x30, 0x82, 0x30, 0x7D,
+ 0x30, 0x82, 0x30, 0x7D, 0x30, 0x82, 0x30, 0x7D, 0x30, 0x82, 0x30, 0x7D,
+ 0x30, 0x82, 0x30, 0x7D, 0x30, 0x82, 0x30, 0x7D, 0x30, 0x7D, 0xE8, 0x7D,
+ 0xE7, 0x82, 0x2D, 0x7D, 0x30, 0x83, 0x30, 0x7D, 0x30, 0x83, 0x30, 0x7D,
+ 0x30, 0x83, 0x30, 0x7D, 0x30, 0x83, 0x30, 0x7D, 0x30, 0x83, 0x30, 0x7D,
+ 0x30, 0x83, 0x30, 0x7D, 0x30, 0x82, 0xEF, 0x7E, 0x33, 0x83, 0x30, 0x7D,
+ 0x30, 0x83, 0x30, 0x7D, 0x30, 0x83, 0x30, 0x7D, 0x30, 0x83, 0x30, 0x7D,
+ 0x30, 0x83, 0x30, 0x7D, 0x30, 0x83, 0x30, 0x7D, 0x30, 0x83, 0x30, 0x7D,
+ 0xEF, 0x80, 0xFD, 0x7C, 0xFC, 0x7E, 0xF2, 0x7C, 0x30, 0x83, 0x30, 0x7F,
+ 0x30, 0x83, 0x30, 0x80, 0x62, 0x83, 0x39, 0x80, 0x87, 0x83, 0x9A, 0x80,
+ 0x6D, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80, 0x30, 0x7F, 0x30, 0x7D,
+ 0xEC, 0x81, 0x30, 0x7D, 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x29, 0x83, 0x94, 0x80, 0x31, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x7E, 0xE8, 0x7D, 0xE7, 0x83, 0x2C, 0x7E,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80, 0x40, 0x83, 0x92, 0x80,
+ 0x22, 0x83, 0x30, 0x80, 0x83, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x82, 0xEF, 0x7E, 0x33, 0x85, 0x30, 0x7E, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x3F, 0x83, 0x8B, 0x80, 0x36, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x7F, 0xEF, 0x80, 0xFD, 0x7C,
+ 0xFC, 0x7E, 0xF2, 0x7C, 0x30, 0x82, 0x31, 0x7F, 0x31, 0x82, 0x31, 0x7F,
+ 0x31, 0x82, 0x31, 0x7F, 0x31, 0x82, 0x31, 0x7F, 0x31, 0x82, 0x31, 0x7F,
+ 0x31, 0x82, 0x31, 0x7F, 0x30, 0x7F, 0x30, 0x7D, 0xEC, 0x81, 0x30, 0x7D,
+ 0x31, 0x82, 0x31, 0x7F, 0x31, 0x82, 0x31, 0x7F, 0x31, 0x82, 0x31, 0x7F,
+ 0x31, 0x82, 0x31, 0x7F, 0x31, 0x82, 0x31, 0x7F, 0x31, 0x82, 0x31, 0x7F,
+ 0x2F, 0x7E, 0xE8, 0x7E, 0xE7, 0x83, 0x2C, 0x7E, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80, 0x30, 0x82, 0xEF, 0x7E,
+ 0x33, 0x85, 0x30, 0x7E, 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x7F, 0xEF, 0x80, 0xFD, 0x7C, 0xFC, 0x7E, 0xF6, 0x7C,
+ 0xEF, 0x7F, 0xEF, 0x7E, 0xEF, 0x81, 0xEF, 0x7E, 0xEF, 0x81, 0xEF, 0x7E,
+ 0xEF, 0x81, 0xEF, 0x7E, 0xEF, 0x81, 0xEF, 0x7E, 0xEF, 0x81, 0xEF, 0x7E,
+ 0xEF, 0x7E, 0xEE, 0x7E, 0xFA, 0x7E, 0xEF, 0x7E, 0xEF, 0x81, 0xEF, 0x7E,
+ 0xEF, 0x81, 0xEF, 0x7E, 0xEF, 0x81, 0xEF, 0x7E, 0xEF, 0x81, 0xEF, 0x7E,
+ 0xEF, 0x81, 0xEF, 0x7E, 0xEF, 0x81, 0xEF, 0x7E, 0xEA, 0x7E, 0xE8, 0x7D,
+ 0xE7, 0x82, 0xEE, 0x7E, 0xEB, 0x83, 0xEB, 0x7E, 0xEB, 0x83, 0xEB, 0x7E,
+ 0xEB, 0x83, 0xEB, 0x7E, 0xEB, 0x83, 0xEB, 0x7E, 0xEB, 0x83, 0xEB, 0x7E,
+ 0xEB, 0x83, 0xEB, 0x7E, 0xEC, 0x82, 0xFD, 0x7E, 0xED, 0x83, 0xEB, 0x7E,
+ 0xEB, 0x83, 0xEB, 0x7E, 0xEB, 0x83, 0xEB, 0x7E, 0xEB, 0x83, 0xEB, 0x7E,
+ 0xEB, 0x83, 0xEB, 0x7E, 0xEB, 0x83, 0xEB, 0x7E, 0xEB, 0x83, 0xEB, 0x7E,
+ 0xFA, 0x81, 0xFD, 0x7C, 0xFC, 0x7E, 0xF2, 0x7C, 0x30, 0x83, 0x30, 0x7F,
+ 0x30, 0x83, 0x30, 0x80, 0x2B, 0x83, 0x5B, 0x80, 0x37, 0x83, 0x49, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80, 0x30, 0x7F, 0x30, 0x7D,
+ 0xEC, 0x81, 0x30, 0x7D, 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x29, 0x83, 0x48, 0x80, 0x5D, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x7E, 0xE8, 0x7D, 0xE7, 0x83, 0x2C, 0x7E,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80, 0x2B, 0x83, 0x62, 0x80,
+ 0x64, 0x83, 0x60, 0x80, 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x82, 0xEF, 0x7E, 0x33, 0x85, 0x30, 0x7E, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x2F, 0x83, 0x55, 0x80, 0x33, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x7F, 0xEF, 0x80, 0xFD, 0x7C,
+ 0xFC, 0x7E, 0xF2, 0x7C, 0x30, 0x83, 0x30, 0x7F, 0x30, 0x83, 0x30, 0x80,
+ 0x31, 0x83, 0x2F, 0x80, 0x30, 0x83, 0x37, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x7F, 0x30, 0x7D, 0xEC, 0x81, 0x30, 0x7D,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80, 0x35, 0x83, 0x2E, 0x80,
+ 0x28, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x7E, 0xE8, 0x7D, 0xE7, 0x83, 0x2C, 0x7E, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x2E, 0x80, 0x2A, 0x83, 0x32, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80, 0x30, 0x82, 0xEF, 0x7E,
+ 0x33, 0x85, 0x30, 0x7E, 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x39, 0x83, 0x27, 0x80, 0x2A, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x7F, 0xEF, 0x80, 0xFD, 0x7C, 0xFC, 0x7F, 0xF3, 0x7C,
+ 0xAC, 0x7D, 0xAC, 0x7D, 0xAC, 0x7C, 0xAC, 0x7D, 0xAC, 0x7C, 0xAC, 0x7D,
+ 0xAC, 0x7C, 0xAC, 0x7D, 0xAC, 0x7C, 0xAC, 0x7D, 0xAC, 0x7C, 0xAC, 0x7D,
+ 0xAC, 0x7D, 0xAB, 0x7D, 0xF9, 0x7E, 0xAC, 0x7E, 0xAC, 0x7C, 0xAC, 0x7D,
+ 0xAC, 0x7C, 0xAC, 0x7D, 0xAC, 0x7C, 0xAC, 0x7D, 0xAC, 0x7C, 0xAC, 0x7D,
+ 0xAC, 0x7C, 0xAC, 0x7D, 0xAC, 0x7C, 0xAC, 0x7D, 0xAA, 0x7D, 0xE8, 0x7D,
+ 0xE7, 0x82, 0xC9, 0x7E, 0xCB, 0x83, 0xCB, 0x7E, 0xCB, 0x83, 0xCB, 0x7E,
+ 0xCB, 0x83, 0xCB, 0x7E, 0xCB, 0x83, 0xCB, 0x7E, 0xCB, 0x83, 0xCB, 0x7E,
+ 0xCB, 0x83, 0xCB, 0x7E, 0xCC, 0x82, 0xF8, 0x7D, 0xCC, 0x84, 0xCB, 0x7E,
+ 0xCB, 0x83, 0xCB, 0x7E, 0xCB, 0x83, 0xCB, 0x7E, 0xCB, 0x83, 0xCB, 0x7E,
+ 0xCB, 0x83, 0xCB, 0x7E, 0xCB, 0x83, 0xCB, 0x7E, 0xCB, 0x83, 0xCB, 0x7E,
+ 0xF4, 0x81, 0xFD, 0x7C, 0xFC, 0x7E, 0xF2, 0x7C, 0x30, 0x82, 0x31, 0x7F,
+ 0x31, 0x82, 0x31, 0x7F, 0x31, 0x82, 0x35, 0x7F, 0x34, 0x82, 0x2F, 0x7F,
+ 0x31, 0x82, 0x31, 0x7F, 0x31, 0x82, 0x31, 0x7F, 0x30, 0x7F, 0x30, 0x7D,
+ 0xEC, 0x81, 0x30, 0x7D, 0x31, 0x82, 0x31, 0x7F, 0x31, 0x82, 0x31, 0x7F,
+ 0x30, 0x82, 0x33, 0x7F, 0x31, 0x82, 0x31, 0x7F, 0x31, 0x82, 0x31, 0x7F,
+ 0x31, 0x82, 0x31, 0x7F, 0x2F, 0x7E, 0xE8, 0x7E, 0xE7, 0x83, 0x2C, 0x7E,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x33, 0x80,
+ 0x31, 0x83, 0x33, 0x7F, 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x82, 0xEF, 0x7E, 0x33, 0x85, 0x30, 0x7E, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x2E, 0x83, 0x2D, 0x7F, 0x2F, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x7F, 0xEF, 0x80, 0xFD, 0x7C,
+ 0xFC, 0x7E, 0xF2, 0x7C, 0x30, 0x83, 0x30, 0x7F, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x33, 0x80, 0xAB, 0x83, 0x35, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x7F, 0x30, 0x7D, 0xEC, 0x81, 0x30, 0x7D,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80, 0x6D, 0x83, 0x4F, 0x80,
+ 0x31, 0x83, 0x31, 0x80, 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x7E, 0xE8, 0x7D, 0xE7, 0x83, 0x2C, 0x7E, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x33, 0x80, 0x77, 0x83, 0x34, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80, 0x30, 0x82, 0xEF, 0x7E,
+ 0x33, 0x85, 0x30, 0x7E, 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x63, 0x83, 0x9A, 0x80, 0x34, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x7F, 0xEF, 0x80, 0xFD, 0x7C, 0xFC, 0x7F, 0xF3, 0x7C,
+ 0x30, 0x81, 0x30, 0x7D, 0x30, 0x82, 0x30, 0x7D, 0x30, 0x82, 0x30, 0x7D,
+ 0x30, 0x82, 0x30, 0x7D, 0x30, 0x82, 0x30, 0x7D, 0x30, 0x82, 0x30, 0x7D,
+ 0x30, 0x80, 0x30, 0x7D, 0xEB, 0x81, 0x30, 0x7E, 0x30, 0x82, 0x30, 0x7D,
+ 0x30, 0x82, 0x30, 0x7D, 0x30, 0x82, 0x30, 0x7D, 0x30, 0x82, 0x30, 0x7D,
+ 0x30, 0x82, 0x30, 0x7D, 0x30, 0x82, 0x30, 0x7D, 0x2F, 0x7E, 0xE8, 0x7E,
+ 0xE7, 0x82, 0x2D, 0x7D, 0x30, 0x85, 0x30, 0x7D, 0x30, 0x85, 0x30, 0x7D,
+ 0x30, 0x85, 0x30, 0x7D, 0x30, 0x85, 0x30, 0x7D, 0x30, 0x85, 0x30, 0x7D,
+ 0x30, 0x85, 0x30, 0x7D, 0x30, 0x83, 0xEF, 0x7E, 0x33, 0x87, 0x30, 0x7D,
+ 0x30, 0x85, 0x30, 0x7D, 0x30, 0x85, 0x30, 0x7D, 0x30, 0x85, 0x30, 0x7D,
+ 0x30, 0x85, 0x30, 0x7D, 0x30, 0x85, 0x30, 0x7D, 0x30, 0x85, 0x30, 0x7D,
+ 0xEF, 0x80, 0xFD, 0x7C, 0xFC, 0x7F, 0xFC, 0x7C, 0xFC, 0x7E, 0xFC, 0x7E,
+ 0xFC, 0x7D, 0xFC, 0x7E, 0xFC, 0x7D, 0xFC, 0x7E, 0xFC, 0x7C, 0xFC, 0x7D,
+ 0xFC, 0x7D, 0xFC, 0x7E, 0xFC, 0x7D, 0xFC, 0x7E, 0xFC, 0x7F, 0xFE, 0x7E,
+ 0xFD, 0x80, 0xFB, 0x7D, 0xFC, 0x7D, 0xFC, 0x7E, 0xFC, 0x7D, 0xFC, 0x7E,
+ 0xFC, 0x7C, 0xFC, 0x7D, 0xFC, 0x7C, 0xFC, 0x7E, 0xFC, 0x7D, 0xFC, 0x7E,
+ 0xFC, 0x7D, 0xFC, 0x7E, 0xF8, 0x7E, 0xE8, 0x7E, 0xE7, 0x81, 0xFD, 0x7E,
+ 0xFB, 0x80, 0xFB, 0x7E, 0xFB, 0x80, 0xFB, 0x7E, 0xFB, 0x80, 0xFB, 0x7D,
+ 0xFB, 0x80, 0xFB, 0x7D, 0xFB, 0x80, 0xFB, 0x7E, 0xFB, 0x80, 0xFB, 0x7E,
+ 0xFB, 0x82, 0xF8, 0x7E, 0xFC, 0x7D, 0xFB, 0x7E, 0xFB, 0x80, 0xFB, 0x7E,
+ 0xFB, 0x80, 0xFB, 0x7E, 0xFB, 0x80, 0xFB, 0x7D, 0xFB, 0x80, 0xFB, 0x7D,
+ 0xFB, 0x80, 0xFB, 0x7E, 0xFB, 0x80, 0xFB, 0x7E, 0xFC, 0x81, 0xFD, 0x7C,
+ 0xFC, 0x7F, 0xF3, 0x7C, 0x30, 0x87, 0x30, 0x7D, 0x30, 0x88, 0x30, 0x7D,
+ 0x30, 0x88, 0x30, 0x7D, 0x37, 0x86, 0x36, 0x7F, 0x30, 0x88, 0x30, 0x7D,
+ 0x30, 0x88, 0x30, 0x7D, 0x30, 0x81, 0x30, 0x7D, 0xEB, 0x81, 0x30, 0x7E,
+ 0x30, 0x88, 0x30, 0x7D, 0x30, 0x88, 0x30, 0x7D, 0x31, 0x86, 0x2E, 0x7E,
+ 0x2B, 0x86, 0x30, 0x7D, 0x30, 0x88, 0x30, 0x7D, 0x30, 0x88, 0x30, 0x7D,
+ 0x2F, 0x7E, 0xE8, 0x7E, 0xE7, 0x82, 0x2D, 0x7D, 0x30, 0x85, 0x30, 0x7D,
+ 0x30, 0x85, 0x30, 0x7D, 0x2D, 0x82, 0x33, 0x7E, 0x32, 0x82, 0x2C, 0x7E,
+ 0x30, 0x85, 0x30, 0x7D, 0x30, 0x85, 0x30, 0x7D, 0x30, 0x82, 0xEF, 0x7E,
+ 0x33, 0x85, 0x30, 0x7D, 0x30, 0x85, 0x30, 0x7D, 0x30, 0x85, 0x30, 0x7D,
+ 0x31, 0x82, 0x3B, 0x7E, 0x37, 0x85, 0x30, 0x7F, 0x30, 0x85, 0x30, 0x7D,
+ 0x30, 0x85, 0x30, 0x7D, 0xEF, 0x80, 0xFD, 0x7C, 0xFC, 0x7E, 0xF2, 0x7C,
+ 0x30, 0x83, 0x30, 0x7D, 0x30, 0x83, 0x30, 0x7D, 0x30, 0x83, 0x35, 0x7D,
+ 0x2F, 0x83, 0x31, 0x7D, 0x30, 0x83, 0x30, 0x7D, 0x30, 0x83, 0x30, 0x7D,
+ 0x30, 0x84, 0x30, 0x7D, 0xEB, 0x81, 0x30, 0x7E, 0x30, 0x83, 0x30, 0x7D,
+ 0x30, 0x83, 0x30, 0x7D, 0x36, 0x83, 0x34, 0x7D, 0x33, 0x83, 0x30, 0x7D,
+ 0x30, 0x83, 0x30, 0x7D, 0x30, 0x83, 0x30, 0x7D, 0x2F, 0x7E, 0xE8, 0x7E,
+ 0xE7, 0x82, 0x2D, 0x7D, 0x30, 0x83, 0x30, 0x7D, 0x30, 0x83, 0x30, 0x7D,
+ 0x30, 0x83, 0x2F, 0x7D, 0x36, 0x83, 0x30, 0x7D, 0x30, 0x83, 0x30, 0x7D,
+ 0x30, 0x83, 0x30, 0x7D, 0x30, 0x82, 0xEF, 0x7E, 0x33, 0x85, 0x30, 0x7D,
+ 0x30, 0x83, 0x30, 0x7D, 0x30, 0x83, 0x30, 0x7D, 0x2C, 0x83, 0x32, 0x7D,
+ 0x30, 0x83, 0x30, 0x7D, 0x30, 0x83, 0x30, 0x7D, 0x30, 0x84, 0x30, 0x7D,
+ 0xEF, 0x81, 0xFD, 0x7C, 0xFC, 0x7E, 0xF6, 0x7C, 0x99, 0x7D, 0x99, 0x7D,
+ 0x99, 0x7D, 0x99, 0x7D, 0x99, 0x7D, 0x99, 0x7D, 0x99, 0x7D, 0x99, 0x7D,
+ 0x99, 0x7D, 0x99, 0x7D, 0x99, 0x7D, 0x99, 0x7D, 0x99, 0x7D, 0x9C, 0x7D,
+ 0xF4, 0x80, 0x99, 0x7D, 0x99, 0x7D, 0x99, 0x7D, 0x99, 0x7D, 0x99, 0x7D,
+ 0x99, 0x7D, 0x99, 0x7D, 0x99, 0x7D, 0x99, 0x7D, 0x99, 0x7D, 0x99, 0x7D,
+ 0x99, 0x7D, 0x99, 0x7D, 0x9B, 0x7E, 0xE8, 0x7E, 0xE7, 0x82, 0xB8, 0x7E,
+ 0xB6, 0x83, 0xB6, 0x7D, 0xB6, 0x83, 0xB6, 0x7D, 0xB6, 0x83, 0xB6, 0x7D,
+ 0xB6, 0x83, 0xB6, 0x7D, 0xB6, 0x83, 0xB6, 0x7D, 0xB6, 0x83, 0xB6, 0x7D,
+ 0xB6, 0x82, 0xF4, 0x7D, 0xB8, 0x85, 0xB6, 0x7D, 0xB6, 0x83, 0xB6, 0x7D,
+ 0xB6, 0x83, 0xB6, 0x7D, 0xB6, 0x83, 0xB6, 0x7D, 0xB6, 0x83, 0xB6, 0x7D,
+ 0xB6, 0x83, 0xB6, 0x7D, 0xB6, 0x84, 0xB6, 0x7D, 0xF8, 0x81, 0xFD, 0x7C,
+ 0xFB, 0x7F, 0xFE, 0x7D, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80,
+ 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80,
+ 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80,
+ 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80,
+ 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80,
+ 0xFF, 0x7E, 0xE9, 0x80, 0xE7, 0x81, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80,
+ 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80,
+ 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80,
+ 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80,
+ 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80,
+ 0xFF, 0x80, 0xFF, 0x80, 0xFD, 0x80, 0xFC, 0x7E, 0xFB, 0x7F, 0xFE, 0x7D,
+ 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80,
+ 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80,
+ 0xFF, 0x80, 0xFD, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80,
+ 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80,
+ 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x7E, 0xE9, 0x80,
+ 0xE7, 0x81, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80,
+ 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80,
+ 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFD, 0x80,
+ 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80,
+ 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80,
+ 0xFD, 0x80, 0xFC, 0x7E, 0xFB, 0x7F, 0xFE, 0x7D, 0xFF, 0x80, 0xFF, 0x80,
+ 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80,
+ 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80,
+ 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80,
+ 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80,
+ 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x7E, 0xE9, 0x80, 0xE7, 0x81, 0xFF, 0x80,
+ 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80,
+ 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80,
+ 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80,
+ 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80,
+ 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFD, 0x80, 0xFC, 0x7E,
+ 0xFC, 0x7E, 0xFA, 0x7C, 0xFC, 0x7F, 0xFD, 0x7E, 0xFD, 0x7E, 0xFD, 0x7D,
+ 0xFD, 0x7E, 0xFD, 0x7D, 0xFD, 0x7E, 0xFD, 0x7D, 0xFD, 0x7E, 0xFD, 0x7D,
+ 0xFD, 0x7E, 0xFD, 0x7D, 0xFD, 0x7E, 0xFD, 0x7D, 0xFD, 0x7E, 0xFD, 0x7D,
+ 0xFD, 0x7E, 0xFD, 0x7D, 0xFD, 0x7E, 0xFD, 0x7D, 0xFD, 0x7E, 0xFD, 0x7D,
+ 0xFD, 0x7E, 0xFD, 0x7D, 0xFD, 0x7E, 0xFD, 0x7D, 0xFD, 0x7E, 0xFD, 0x7D,
+ 0xF9, 0x7E, 0xE8, 0x7E, 0xE7, 0x82, 0xF9, 0x7E, 0xFD, 0x81, 0xFD, 0x7D,
+ 0xFD, 0x81, 0xFD, 0x7D, 0xFD, 0x81, 0xFD, 0x7D, 0xFD, 0x81, 0xFD, 0x7D,
+ 0xFD, 0x81, 0xFD, 0x7D, 0xFD, 0x81, 0xFD, 0x7D, 0xFD, 0x81, 0xFD, 0x7D,
+ 0xFD, 0x81, 0xFD, 0x7D, 0xFD, 0x81, 0xFD, 0x7D, 0xFD, 0x81, 0xFD, 0x7D,
+ 0xFD, 0x81, 0xFD, 0x7D, 0xFD, 0x81, 0xFD, 0x7D, 0xFD, 0x81, 0xFD, 0x7D,
+ 0xFD, 0x81, 0xFD, 0x7D, 0xF9, 0x80, 0xFD, 0x7C, 0xFC, 0x7F, 0xF3, 0x7C,
+ 0x30, 0x82, 0x30, 0x7D, 0x30, 0x84, 0x30, 0x7E, 0x30, 0x84, 0x30, 0x7E,
+ 0x30, 0x84, 0x30, 0x7E, 0x30, 0x84, 0x30, 0x7E, 0x30, 0x84, 0x30, 0x7E,
+ 0x30, 0x84, 0x30, 0x7E, 0x30, 0x84, 0x30, 0x7E, 0x30, 0x84, 0x30, 0x7E,
+ 0x30, 0x84, 0x30, 0x7E, 0x30, 0x84, 0x30, 0x7E, 0x30, 0x84, 0x30, 0x7E,
+ 0x30, 0x84, 0x30, 0x7E, 0x30, 0x84, 0x30, 0x7E, 0x2F, 0x7E, 0xE8, 0x7E,
+ 0xE7, 0x82, 0x2D, 0x7D, 0x30, 0x7F, 0x30, 0x7E, 0x30, 0x7F, 0x30, 0x7E,
+ 0x30, 0x7F, 0x30, 0x7E, 0x30, 0x7F, 0x30, 0x7E, 0x30, 0x7F, 0x30, 0x7E,
+ 0x30, 0x7F, 0x30, 0x7E, 0x30, 0x7F, 0x30, 0x7E, 0x30, 0x7F, 0x30, 0x7E,
+ 0x30, 0x7F, 0x30, 0x7E, 0x30, 0x7F, 0x30, 0x7E, 0x30, 0x7F, 0x30, 0x7E,
+ 0x30, 0x7F, 0x30, 0x7E, 0x30, 0x7F, 0x30, 0x7E, 0x30, 0x7F, 0x30, 0x7D,
+ 0xEF, 0x80, 0xFD, 0x7C, 0xFC, 0x7E, 0xF2, 0x7C, 0x30, 0x83, 0x30, 0x7F,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x7C, 0x80, 0x31, 0x83, 0x46, 0x80, 0x47, 0x83, 0x72, 0x80,
+ 0x5E, 0x83, 0x44, 0x80, 0x85, 0x83, 0x5F, 0x80, 0x38, 0x83, 0x34, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x7E, 0xE8, 0x7D, 0xE7, 0x83, 0x2C, 0x7E,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x58, 0x80, 0xB1, 0x83, 0x3E, 0x80,
+ 0x97, 0x83, 0x5F, 0x80, 0x41, 0x83, 0xA3, 0x80, 0x61, 0x83, 0x3E, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x7F, 0xEF, 0x80, 0xFD, 0x7C,
+ 0xFC, 0x7E, 0xF2, 0x7C, 0x30, 0x83, 0x30, 0x7F, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x7E, 0xE8, 0x7D, 0xE7, 0x83, 0x2C, 0x7E, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x7F, 0xEF, 0x80, 0xFD, 0x7C, 0xFC, 0x7E, 0xF2, 0x7C,
+ 0x30, 0x83, 0x30, 0x7F, 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80, 0x30, 0x7E, 0xE8, 0x7D,
+ 0xE7, 0x83, 0x2C, 0x7E, 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x7F,
+ 0xEF, 0x80, 0xFD, 0x7C, 0xFC, 0x7F, 0xFB, 0x7C, 0xFB, 0x7E, 0xFB, 0x7E,
+ 0xFB, 0x7E, 0xFB, 0x7E, 0xFB, 0x7E, 0xFB, 0x7E, 0xFB, 0x7E, 0xFB, 0x7E,
+ 0xFB, 0x7E, 0xFB, 0x7E, 0xFB, 0x7E, 0xFB, 0x7E, 0xFB, 0x7E, 0xFB, 0x7E,
+ 0xFB, 0x7E, 0xFB, 0x7E, 0xFB, 0x7E, 0xFB, 0x7E, 0xFB, 0x7E, 0xFB, 0x7E,
+ 0xFB, 0x7E, 0xFB, 0x7E, 0xFB, 0x7E, 0xFB, 0x7E, 0xFB, 0x7E, 0xFB, 0x7E,
+ 0xFB, 0x7E, 0xFB, 0x7E, 0xF9, 0x7E, 0xE8, 0x7E, 0xE7, 0x82, 0xFB, 0x7D,
+ 0xFE, 0x81, 0xFE, 0x7E, 0xFE, 0x81, 0xFE, 0x7E, 0xFE, 0x81, 0xFE, 0x7E,
+ 0xFE, 0x81, 0xFE, 0x7E, 0xFE, 0x81, 0xFE, 0x7E, 0xFE, 0x81, 0xFE, 0x7E,
+ 0xFE, 0x81, 0xFE, 0x7E, 0xFE, 0x81, 0xFE, 0x7E, 0xFE, 0x81, 0xFE, 0x7E,
+ 0xFE, 0x81, 0xFE, 0x7E, 0xFE, 0x81, 0xFE, 0x7E, 0xFE, 0x81, 0xFE, 0x7E,
+ 0xFE, 0x81, 0xFE, 0x7E, 0xFE, 0x81, 0xFE, 0x7E, 0xFD, 0x81, 0xFC, 0x7E,
+ 0xFC, 0x80, 0x2E, 0x7C, 0x30, 0x82, 0x30, 0x80, 0x30, 0x82, 0x30, 0x80,
+ 0x30, 0x82, 0x30, 0x80, 0x30, 0x82, 0x30, 0x80, 0x30, 0x82, 0x59, 0x7F,
+ 0x30, 0x83, 0x30, 0x7D, 0x2D, 0x83, 0x31, 0x80, 0x36, 0x83, 0x37, 0x7D,
+ 0x30, 0x80, 0x30, 0x7D, 0x30, 0x82, 0x30, 0x7D, 0x30, 0x82, 0x30, 0x80,
+ 0x30, 0x82, 0x30, 0x80, 0x30, 0x82, 0x30, 0x80, 0x30, 0x82, 0x30, 0x80,
+ 0x30, 0x82, 0x30, 0x80, 0x31, 0x82, 0x31, 0x7F, 0x31, 0x82, 0x31, 0x7F,
+ 0x31, 0x82, 0x31, 0x7F, 0x31, 0x82, 0x31, 0x7F, 0x31, 0x82, 0x30, 0x7F,
+ 0x2D, 0x83, 0x30, 0x7D, 0x30, 0x82, 0x30, 0x7D, 0x2F, 0x7F, 0x35, 0x7D,
+ 0x3B, 0x7F, 0x2F, 0x7D, 0x30, 0x83, 0x30, 0x7D, 0x52, 0x84, 0x31, 0x7F,
+ 0x31, 0x82, 0x31, 0x7F, 0x31, 0x82, 0x31, 0x7F, 0x31, 0x82, 0x31, 0x7F,
+ 0x31, 0x82, 0x31, 0x7F, 0x2E, 0x80, 0xFC, 0x7D, 0xFC, 0x80, 0x2E, 0x7C,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x7E, 0x5A, 0x7F, 0x2F, 0x82, 0x2F, 0x7D,
+ 0x2A, 0x7E, 0x35, 0x7C, 0x2F, 0x7E, 0x37, 0x7D, 0x2F, 0x81, 0x2F, 0x7D,
+ 0x2F, 0x83, 0x31, 0x7D, 0x30, 0x83, 0x30, 0x80, 0x32, 0x83, 0x2A, 0x80,
+ 0x32, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80, 0x31, 0x83, 0x30, 0x80,
+ 0x34, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80, 0x35, 0x83, 0x34, 0x80,
+ 0x31, 0x83, 0x29, 0x80, 0x30, 0x83, 0x31, 0x80, 0x2C, 0x87, 0x32, 0x7D,
+ 0x32, 0x87, 0x32, 0x7D, 0x31, 0x85, 0x37, 0x7D, 0x39, 0x85, 0x2E, 0x7D,
+ 0x32, 0x86, 0x32, 0x7D, 0x52, 0x84, 0x30, 0x7F, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x2E, 0x80, 0xFC, 0x7D, 0xFC, 0x80, 0x2E, 0x7C, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x32, 0x80, 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x52, 0x83, 0x85, 0x80, 0xB0, 0x83, 0x56, 0x80,
+ 0x67, 0x83, 0x73, 0x80, 0x44, 0x83, 0x71, 0x80, 0x2F, 0x83, 0x8D, 0x80,
+ 0x54, 0x83, 0x6C, 0x80, 0x75, 0x83, 0x5E, 0x80, 0xB6, 0x83, 0x2F, 0x80,
+ 0x2C, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x2E, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80, 0x2E, 0x80, 0xFC, 0x7D,
+ 0xFC, 0x80, 0x2E, 0x7D, 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x2D, 0x83, 0x30, 0x80, 0x30, 0x83, 0x2B, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x2E, 0x80, 0xFC, 0x7D, 0xFD, 0x81, 0x55, 0x7F,
+ 0x58, 0x83, 0x58, 0x80, 0x58, 0x83, 0x58, 0x80, 0x58, 0x83, 0x58, 0x80,
+ 0x58, 0x83, 0x58, 0x80, 0x58, 0x83, 0x58, 0x80, 0x58, 0x83, 0x58, 0x80,
+ 0x58, 0x83, 0x58, 0x80, 0x58, 0x83, 0x58, 0x80, 0x58, 0x83, 0x58, 0x80,
+ 0x58, 0x83, 0x58, 0x80, 0x58, 0x83, 0x58, 0x80, 0x58, 0x83, 0x58, 0x80,
+ 0x58, 0x83, 0x58, 0x80, 0x58, 0x83, 0x58, 0x80, 0x58, 0x83, 0x58, 0x80,
+ 0x58, 0x83, 0x58, 0x80, 0x58, 0x83, 0x58, 0x80, 0x58, 0x83, 0x58, 0x80,
+ 0x58, 0x83, 0x58, 0x80, 0x58, 0x83, 0x58, 0x80, 0x58, 0x83, 0x58, 0x80,
+ 0x58, 0x83, 0x58, 0x80, 0x58, 0x83, 0x58, 0x80, 0x58, 0x83, 0x58, 0x80,
+ 0x58, 0x83, 0x58, 0x80, 0x58, 0x83, 0x58, 0x80, 0x58, 0x83, 0x58, 0x80,
+ 0x58, 0x83, 0x58, 0x80, 0x58, 0x83, 0x58, 0x80, 0x58, 0x83, 0x58, 0x80,
+ 0x53, 0x80, 0xFC, 0x7E, 0xFC, 0x72, 0x91, 0x77, 0x91, 0x61, 0x91, 0x6B,
+ 0x91, 0x61, 0x91, 0x6B, 0x91, 0x61, 0x91, 0x6B, 0x91, 0x61, 0x91, 0x6B,
+ 0x91, 0x61, 0x91, 0x6B, 0x91, 0x61, 0x91, 0x6B, 0x91, 0x61, 0x91, 0x6B,
+ 0x91, 0x61, 0x91, 0x6B, 0x91, 0x61, 0x91, 0x6B, 0x91, 0x61, 0x91, 0x6B,
+ 0x91, 0x61, 0x91, 0x6B, 0x91, 0x61, 0x91, 0x6B, 0x91, 0x61, 0x91, 0x6B,
+ 0x91, 0x61, 0x91, 0x6B, 0x91, 0x68, 0x90, 0x70, 0x83, 0x95, 0x83, 0x6D,
+ 0x83, 0x9D, 0x83, 0x68, 0x83, 0x9D, 0x83, 0x68, 0x83, 0x9D, 0x83, 0x68,
+ 0x83, 0x9D, 0x83, 0x68, 0x83, 0x9D, 0x83, 0x68, 0x83, 0x9D, 0x83, 0x68,
+ 0x83, 0x9D, 0x83, 0x68, 0x83, 0x9D, 0x83, 0x68, 0x83, 0x9D, 0x83, 0x68,
+ 0x83, 0x9D, 0x83, 0x68, 0x83, 0x9D, 0x83, 0x68, 0x83, 0x9D, 0x83, 0x68,
+ 0x83, 0x9D, 0x83, 0x68, 0x83, 0x9D, 0x83, 0x68, 0x84, 0x8F, 0xFA, 0x77,
+ 0xFC, 0x72, 0x93, 0x77, 0x92, 0x61, 0x92, 0x6B, 0x92, 0x61, 0x92, 0x6B,
+ 0x92, 0x61, 0x92, 0x6B, 0x92, 0x61, 0x92, 0x6B, 0x92, 0x61, 0x92, 0x6B,
+ 0x92, 0x61, 0x92, 0x6B, 0x92, 0x61, 0x92, 0x6B, 0x92, 0x61, 0x92, 0x6B,
+ 0x92, 0x61, 0x92, 0x6B, 0x92, 0x61, 0x92, 0x6B, 0x92, 0x61, 0x92, 0x6B,
+ 0x92, 0x61, 0x92, 0x6B, 0x92, 0x61, 0x92, 0x6B, 0x92, 0x61, 0x92, 0x6B,
+ 0x92, 0x68, 0x8E, 0x70, 0x86, 0x95, 0x85, 0x6D, 0x85, 0x9D, 0x85, 0x68,
+ 0x85, 0x9D, 0x85, 0x68, 0x85, 0x9D, 0x85, 0x68, 0x85, 0x9D, 0x85, 0x68,
+ 0x85, 0x9D, 0x85, 0x68, 0x85, 0x9D, 0x85, 0x68, 0x85, 0x9D, 0x85, 0x68,
+ 0x85, 0x9D, 0x85, 0x68, 0x85, 0x9D, 0x85, 0x68, 0x85, 0x9D, 0x85, 0x68,
+ 0x85, 0x9D, 0x85, 0x68, 0x85, 0x9D, 0x85, 0x68, 0x85, 0x9D, 0x85, 0x68,
+ 0x85, 0x9D, 0x85, 0x68, 0x86, 0x8F, 0xFA, 0x77, 0xFC, 0x71, 0x93, 0x77,
+ 0x92, 0x61, 0x92, 0x6B, 0x92, 0x61, 0x92, 0x6B, 0x92, 0x62, 0x96, 0x6B,
+ 0xB1, 0x6B, 0xC5, 0x73, 0xA2, 0x69, 0x8E, 0x70, 0xD1, 0x69, 0xBD, 0x6E,
+ 0xC2, 0x6B, 0xAA, 0x73, 0xAF, 0x68, 0x91, 0x6B, 0xAB, 0x69, 0xCD, 0x70,
+ 0xA2, 0x68, 0xA8, 0x70, 0xAF, 0x67, 0x9F, 0x6E, 0x8F, 0x63, 0x92, 0x6B,
+ 0x92, 0x61, 0x92, 0x6B, 0x92, 0x61, 0x92, 0x6B, 0x92, 0x68, 0x8E, 0x6D,
+ 0x86, 0x98, 0x85, 0x6D, 0x85, 0x9D, 0x85, 0x68, 0x85, 0x9D, 0x85, 0x68,
+ 0x86, 0x9D, 0x88, 0x6B, 0xC6, 0x93, 0xA9, 0x71, 0x84, 0x96, 0xC0, 0x6C,
+ 0xB3, 0x92, 0xB7, 0x70, 0xA3, 0x92, 0xB3, 0x73, 0x86, 0x96, 0xBF, 0x6D,
+ 0xC2, 0x93, 0xBB, 0x70, 0x7F, 0x97, 0x93, 0x6D, 0xAB, 0x98, 0xA7, 0x6B,
+ 0x85, 0x9D, 0x85, 0x68, 0x85, 0x9D, 0x85, 0x68, 0x85, 0x9D, 0x85, 0x68,
+ 0x86, 0x8F, 0xFA, 0x77, 0xFC, 0x74, 0x93, 0x7A, 0x92, 0x64, 0x92, 0x69,
+ 0x92, 0x64, 0x92, 0x69, 0x92, 0x64, 0x92, 0x69, 0x92, 0x64, 0x92, 0x68,
+ 0x92, 0x64, 0x92, 0x68, 0x92, 0x64, 0x92, 0x69, 0x92, 0x64, 0x92, 0x68,
+ 0x92, 0x63, 0x92, 0x69, 0x92, 0x64, 0x92, 0x68, 0x92, 0x64, 0x92, 0x68,
+ 0x92, 0x64, 0x92, 0x69, 0x92, 0x64, 0x92, 0x69, 0x92, 0x64, 0x92, 0x69,
+ 0x92, 0x64, 0x92, 0x69, 0x92, 0x67, 0x8E, 0x6E, 0x86, 0x97, 0x85, 0x6E,
+ 0x85, 0x98, 0x85, 0x69, 0x85, 0x98, 0x85, 0x69, 0x85, 0x98, 0x85, 0x69,
+ 0x85, 0x99, 0x85, 0x68, 0x85, 0x99, 0x85, 0x69, 0x85, 0x99, 0x85, 0x68,
+ 0x85, 0x99, 0x85, 0x68, 0x85, 0x98, 0x85, 0x68, 0x86, 0x99, 0x85, 0x68,
+ 0x85, 0x98, 0x85, 0x69, 0x85, 0x98, 0x85, 0x69, 0x85, 0x98, 0x85, 0x69,
+ 0x85, 0x98, 0x85, 0x69, 0x85, 0x98, 0x85, 0x69, 0x85, 0x8C, 0xFB, 0x7A,
+ 0xFB, 0x78, 0xAE, 0x7C, 0xAE, 0x70, 0xAE, 0x75, 0xAE, 0x70, 0xAE, 0x75,
+ 0xAE, 0x70, 0xAE, 0x75, 0xAE, 0x70, 0xAE, 0x75, 0xAE, 0x70, 0xAE, 0x75,
+ 0xAE, 0x70, 0xAE, 0x75, 0xAE, 0x70, 0xAE, 0x75, 0xAE, 0x70, 0xAE, 0x75,
+ 0xAE, 0x70, 0xAE, 0x75, 0xAE, 0x70, 0xAE, 0x75, 0xAE, 0x70, 0xAE, 0x75,
+ 0xAE, 0x70, 0xAE, 0x75, 0xAE, 0x70, 0xAE, 0x75, 0xAE, 0x70, 0xAE, 0x75,
+ 0xAE, 0x71, 0xB3, 0x76, 0xAF, 0x8C, 0xA6, 0x76, 0xA5, 0x92, 0xA5, 0x75,
+ 0xA5, 0x92, 0xA5, 0x75, 0xA5, 0x92, 0xA5, 0x75, 0xA5, 0x92, 0xA5, 0x75,
+ 0xA5, 0x92, 0xA5, 0x75, 0xA5, 0x92, 0xA5, 0x75, 0xA5, 0x92, 0xA5, 0x75,
+ 0xA5, 0x92, 0xA5, 0x75, 0xA5, 0x92, 0xA5, 0x75, 0xA5, 0x92, 0xA5, 0x75,
+ 0xA5, 0x92, 0xA5, 0x75, 0xA5, 0x92, 0xA5, 0x75, 0xA5, 0x92, 0xA5, 0x75,
+ 0xA5, 0x92, 0xA5, 0x75, 0xA6, 0x88, 0xFC, 0x7B, 0xFD, 0x88, 0x88, 0x82,
+ 0x89, 0x95, 0x89, 0x88, 0x89, 0x95, 0x89, 0x88, 0x89, 0x95, 0x89, 0x88,
+ 0x89, 0x95, 0x89, 0x88, 0x89, 0x95, 0x89, 0x88, 0x89, 0x95, 0x89, 0x88,
+ 0x89, 0x95, 0x89, 0x88, 0x89, 0x95, 0x89, 0x88, 0x89, 0x95, 0x89, 0x88,
+ 0x89, 0x95, 0x89, 0x88, 0x89, 0x95, 0x89, 0x88, 0x89, 0x95, 0x89, 0x88,
+ 0x89, 0x95, 0x89, 0x88, 0x89, 0x97, 0x89, 0x86, 0x88, 0x99, 0x85, 0x85,
+ 0x88, 0x99, 0x88, 0x85, 0x88, 0x9A, 0x89, 0x89, 0x89, 0x95, 0x89, 0x88,
+ 0x89, 0x95, 0x89, 0x88, 0x89, 0x95, 0x89, 0x88, 0x89, 0x95, 0x89, 0x88,
+ 0x89, 0x95, 0x89, 0x88, 0x89, 0x95, 0x89, 0x88, 0x89, 0x95, 0x89, 0x88,
+ 0x89, 0x95, 0x89, 0x88, 0x89, 0x95, 0x89, 0x88, 0x89, 0x95, 0x89, 0x88,
+ 0x89, 0x95, 0x89, 0x88, 0x89, 0x95, 0x89, 0x88, 0x89, 0x95, 0x89, 0x88,
+ 0x88, 0x87, 0xFD, 0x82, 0xFC, 0x8C, 0x89, 0x81, 0x88, 0x94, 0x88, 0x88,
+ 0x88, 0x94, 0x88, 0x88, 0x88, 0x94, 0x88, 0x88, 0x88, 0x94, 0x88, 0x88,
+ 0x88, 0x94, 0x88, 0x88, 0x88, 0x94, 0x88, 0x88, 0x88, 0x94, 0x88, 0x88,
+ 0x88, 0x94, 0x88, 0x88, 0x88, 0x94, 0x88, 0x88, 0x88, 0x94, 0x88, 0x88,
+ 0x88, 0x94, 0x88, 0x88, 0x88, 0x94, 0x88, 0x88, 0x88, 0x94, 0x88, 0x88,
+ 0x88, 0x98, 0x88, 0x86, 0x7E, 0x9C, 0x8B, 0x85, 0x88, 0x9C, 0x8C, 0x85,
+ 0x88, 0x98, 0x88, 0x88, 0x88, 0x94, 0x88, 0x88, 0x88, 0x94, 0x88, 0x88,
+ 0x88, 0x94, 0x88, 0x88, 0x88, 0x94, 0x88, 0x88, 0x88, 0x94, 0x88, 0x88,
+ 0x88, 0x94, 0x88, 0x88, 0x88, 0x94, 0x88, 0x88, 0x88, 0x94, 0x88, 0x88,
+ 0x88, 0x94, 0x88, 0x88, 0x88, 0x94, 0x88, 0x88, 0x88, 0x94, 0x88, 0x88,
+ 0x88, 0x94, 0x88, 0x88, 0x88, 0x94, 0x88, 0x88, 0x89, 0x8E, 0xFD, 0x81,
+ 0xFC, 0x7E, 0xF0, 0x7F, 0x30, 0x82, 0x30, 0x81, 0x30, 0x82, 0x30, 0x7F,
+ 0x30, 0x83, 0x33, 0x82, 0xFD, 0x7F, 0x30, 0x81, 0x30, 0x82, 0x30, 0x7F,
+ 0x30, 0x82, 0x30, 0x7F, 0x34, 0x82, 0xFD, 0x81, 0x30, 0x82, 0x30, 0x7F,
+ 0x30, 0x82, 0x30, 0x7F, 0x30, 0x82, 0x30, 0x81, 0xFE, 0x81, 0x30, 0x81,
+ 0x30, 0x82, 0x30, 0x7F, 0x30, 0x82, 0x30, 0x7F, 0x30, 0x81, 0xFE, 0x80,
+ 0x30, 0x82, 0x30, 0x7F, 0x30, 0x82, 0x30, 0x7F, 0x30, 0x82, 0x30, 0x81,
+ 0xFC, 0x82, 0x2D, 0x82, 0x30, 0x82, 0x30, 0x7F, 0x30, 0x82, 0x30, 0x7F,
+ 0x30, 0x82, 0xC4, 0x81, 0x2F, 0x82, 0x30, 0x81, 0x30, 0x82, 0x30, 0x7F,
+ 0x30, 0x81, 0x30, 0x7F, 0x5E, 0x81, 0x2F, 0x82, 0x30, 0x82, 0x30, 0x81,
+ 0x30, 0x82, 0x30, 0x7F, 0x30, 0x81, 0x30, 0x7F, 0xFE, 0x80, 0xFE, 0x81,
+ 0xFE, 0x80, 0xFE, 0x81, 0xFD, 0x7D, 0xFC, 0x7F, 0xFD, 0x80, 0xEF, 0x7E,
+ 0x30, 0x83, 0x31, 0x80, 0x2E, 0x83, 0x35, 0x80, 0x30, 0x85, 0x33, 0x80,
+ 0xFD, 0x82, 0x30, 0x80, 0x2F, 0x83, 0x30, 0x80, 0x2D, 0x83, 0x31, 0x80,
+ 0x34, 0x82, 0xFE, 0x80, 0x30, 0x83, 0x30, 0x80, 0x2E, 0x83, 0x2F, 0x80,
+ 0x2E, 0x83, 0x30, 0x80, 0xFE, 0x82, 0x30, 0x80, 0x2B, 0x83, 0x2B, 0x80,
+ 0x2E, 0x83, 0x31, 0x80, 0x30, 0x82, 0xFE, 0x80, 0x30, 0x83, 0x34, 0x80,
+ 0x2D, 0x83, 0x34, 0x80, 0x30, 0x83, 0x30, 0x80, 0xFD, 0x82, 0x2D, 0x80,
+ 0x30, 0x83, 0x32, 0x80, 0x30, 0x83, 0x31, 0x80, 0x30, 0x83, 0xC4, 0x80,
+ 0x2F, 0x83, 0x30, 0x80, 0x2B, 0x83, 0x32, 0x80, 0x34, 0x83, 0x30, 0x80,
+ 0x5E, 0x83, 0x2F, 0x80, 0x30, 0x83, 0x30, 0x80, 0x2B, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0xFF, 0x7F, 0xFF, 0x80, 0xFF, 0x80, 0xFF, 0x80,
+ 0xFD, 0x7F, 0xFD, 0x7F, 0xFD, 0x80, 0xEF, 0x7E, 0x30, 0x83, 0x91, 0x80,
+ 0x2D, 0x83, 0x35, 0x80, 0x30, 0x85, 0x33, 0x80, 0xFD, 0x82, 0x30, 0x80,
+ 0x39, 0x83, 0x68, 0x80, 0x33, 0x83, 0x31, 0x80, 0x34, 0x82, 0xFE, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x96, 0x83, 0x31, 0x80, 0x2E, 0x83, 0x30, 0x80,
+ 0xFE, 0x82, 0x30, 0x80, 0x64, 0x83, 0xD1, 0x80, 0x55, 0x83, 0x31, 0x80,
+ 0x30, 0x82, 0xFE, 0x80, 0x30, 0x83, 0x2C, 0x80, 0x3C, 0x83, 0x49, 0x80,
+ 0x5B, 0x83, 0x30, 0x80, 0xFD, 0x82, 0x2D, 0x80, 0x74, 0x83, 0x25, 0x80,
+ 0x8D, 0x83, 0x52, 0x80, 0x30, 0x83, 0xC4, 0x80, 0x2F, 0x83, 0x30, 0x80,
+ 0x33, 0x83, 0x31, 0x80, 0x84, 0x83, 0x30, 0x80, 0x5E, 0x83, 0x2F, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x72, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0xFF, 0x7F, 0xFD, 0x80, 0xFF, 0x80, 0xFF, 0x80, 0xFD, 0x7F, 0xFD, 0x7F,
+ 0xFD, 0x80, 0xEF, 0x7E, 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x85, 0x33, 0x80, 0xFD, 0x82, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x34, 0x82, 0xFE, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80, 0xFE, 0x82, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80, 0x30, 0x82, 0xFE, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0xFD, 0x82, 0x2D, 0x80, 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0xC4, 0x80, 0x2F, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x5E, 0x83, 0x2F, 0x80, 0x30, 0x83, 0x30, 0x80,
+ 0x30, 0x83, 0x30, 0x80, 0x30, 0x83, 0x30, 0x80, 0xFF, 0x7F, 0xFF, 0x80,
+ 0xFF, 0x80, 0xFF, 0x80, 0xFD, 0x7F, 0xFD, 0x7F, 0xFA, 0x7E, 0xF0, 0x7B,
+ 0x5E, 0x8A, 0x5E, 0x7F, 0x5E, 0x8A, 0x5E, 0x7F, 0x5E, 0x8B, 0x5D, 0x7F,
+ 0xFF, 0x81, 0x5E, 0x7F, 0x5E, 0x8A, 0x5E, 0x7F, 0x5E, 0x8A, 0x5E, 0x7F,
+ 0x5B, 0x80, 0xFB, 0x7F, 0x5E, 0x8A, 0x5E, 0x7F, 0x5E, 0x8A, 0x5E, 0x7F,
+ 0x5E, 0x8A, 0x5E, 0x7F, 0xF8, 0x85, 0x5E, 0x7F, 0x5E, 0x8A, 0x5E, 0x7F,
+ 0x5E, 0x8A, 0x5E, 0x7F, 0x5E, 0x85, 0xFB, 0x7F, 0x5E, 0x8A, 0x5E, 0x7F,
+ 0x5E, 0x8A, 0x5E, 0x7F, 0x5E, 0x88, 0x5E, 0x7F, 0xF3, 0x85, 0x5E, 0x80,
+ 0x5E, 0x8A, 0x5E, 0x7F, 0x5E, 0x8A, 0x5E, 0x7F, 0x5E, 0x85, 0xC4, 0x7F,
+ 0x5C, 0x85, 0x5E, 0x7F, 0x5E, 0x8A, 0x5E, 0x7F, 0x5E, 0x8A, 0x5E, 0x7F,
+ 0x81, 0x85, 0x5B, 0x7F, 0x5E, 0x8A, 0x5E, 0x7F, 0x5E, 0x8A, 0x5E, 0x7F,
+ 0x5E, 0x8A, 0x5E, 0x7F, 0xFD, 0x81, 0xFD, 0x7D, 0xFD, 0x81, 0xFD, 0x7D,
+ 0xFC, 0x7E, 0xFA, 0x7B, 0xF7, 0x7E, 0xFC, 0x7D, 0xFD, 0x81, 0xFD, 0x7E,
+ 0xFD, 0x81, 0xFD, 0x7E, 0xFD, 0x81, 0xFD, 0x7E, 0xFD, 0x81, 0xFD, 0x7E,
+ 0xFD, 0x81, 0xFD, 0x7E, 0xFD, 0x81, 0xFD, 0x7E, 0xFD, 0x81, 0xFD, 0x7E,
+ 0xFD, 0x81, 0xFD, 0x7E, 0xFD, 0x81, 0xFD, 0x7E, 0xFD, 0x81, 0xFD, 0x7E,
+ 0xFC, 0x82, 0xFC, 0x7F, 0xFD, 0x81, 0xFD, 0x7E, 0xFD, 0x81, 0xFD, 0x7E,
+ 0xFD, 0x81, 0xFD, 0x7E, 0xFD, 0x81, 0xFD, 0x7E, 0xFD, 0x81, 0xFD, 0x7E,
+ 0xFD, 0x82, 0xFC, 0x7F, 0xFC, 0x82, 0xFC, 0x7F, 0xFD, 0x81, 0xFD, 0x7E,
+ 0xFD, 0x81, 0xFD, 0x7E, 0xFD, 0x81, 0xFD, 0x7E, 0xFD, 0x81, 0xFD, 0x7E,
+ 0xFD, 0x81, 0xFD, 0x7E, 0xFD, 0x81, 0xFD, 0x7E, 0xFD, 0x81, 0xFD, 0x7E,
+ 0xFD, 0x81, 0xFD, 0x7E, 0xFD, 0x81, 0xFD, 0x7E, 0xFD, 0x81, 0xFD, 0x7E,
+ 0xFD, 0x81, 0xFD, 0x7F, 0xFD, 0x81, 0xFD, 0x7F, 0xFC, 0x7D, 0xF7, 0x7E
+};
diff --git a/components/drivers/usb/cherryusb/demo/hid_custom_inout_template.c b/components/drivers/usb/cherryusb/demo/hid_custom_inout_template.c
index d5c3b7e0c0..92bca37be9 100644
--- a/components/drivers/usb/cherryusb/demo/hid_custom_inout_template.c
+++ b/components/drivers/usb/cherryusb/demo/hid_custom_inout_template.c
@@ -28,6 +28,11 @@
#define HIDRAW_OUT_EP_INTERVAL 10
#endif
+#define USBD_VID 0xffff
+#define USBD_PID 0xffff
+#define USBD_MAX_POWER 100
+#define USBD_LANGID_STRING 1033
+
/*!< config descriptor size */
#define USB_HID_CONFIG_DESC_SIZ (9 + 9 + 9 + 7 + 7)
diff --git a/components/drivers/usb/cherryusb/demo/pic_data.h b/components/drivers/usb/cherryusb/demo/pic_data.h
deleted file mode 100644
index 3a009c12ba..0000000000
--- a/components/drivers/usb/cherryusb/demo/pic_data.h
+++ /dev/null
@@ -1,1146 +0,0 @@
-/*
- * Copyright (c) 2024, sakumisu
- *
- * SPDX-License-Identifier: Apache-2.0
- */
-#ifndef __PIC_DATA_H_
-#define __PIC_DATA_H_
-
-const unsigned char jpeg_data[8493] = {
- 0xFF, 0xD8, 0xFF, 0xE0, 0x00, 0x10, 0x4A, 0x46, 0x49, 0x46, 0x00, 0x01, 0x01, 0x01, 0x00, 0x48,
- 0x00, 0x48, 0x00, 0x00, 0xFF, 0xDB, 0x00, 0x43, 0x00, 0x0D, 0x09, 0x0A, 0x0B, 0x0A, 0x08, 0x0D,
- 0x0B, 0x0A, 0x0B, 0x0E, 0x0E, 0x0D, 0x0F, 0x13, 0x20, 0x15, 0x13, 0x12, 0x12, 0x13, 0x27, 0x1C,
- 0x1E, 0x17, 0x20, 0x2E, 0x29, 0x31, 0x30, 0x2E, 0x29, 0x2D, 0x2C, 0x33, 0x3A, 0x4A, 0x3E, 0x33,
- 0x36, 0x46, 0x37, 0x2C, 0x2D, 0x40, 0x57, 0x41, 0x46, 0x4C, 0x4E, 0x52, 0x53, 0x52, 0x32, 0x3E,
- 0x5A, 0x61, 0x5A, 0x50, 0x60, 0x4A, 0x51, 0x52, 0x4F, 0xFF, 0xDB, 0x00, 0x43, 0x01, 0x0E, 0x0E,
- 0x0E, 0x13, 0x11, 0x13, 0x26, 0x15, 0x15, 0x26, 0x4F, 0x35, 0x2D, 0x35, 0x4F, 0x4F, 0x4F, 0x4F,
- 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F,
- 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F,
- 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0xFF, 0xC0,
- 0x00, 0x11, 0x08, 0x00, 0xF0, 0x01, 0x40, 0x03, 0x01, 0x22, 0x00, 0x02, 0x11, 0x01, 0x03, 0x11,
- 0x01, 0xFF, 0xC4, 0x00, 0x1B, 0x00, 0x00, 0x01, 0x05, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x03, 0x04, 0x05, 0x06, 0x07, 0xFF, 0xC4,
- 0x00, 0x3B, 0x10, 0x01, 0x00, 0x02, 0x01, 0x02, 0x03, 0x05, 0x06, 0x04, 0x05, 0x04, 0x02, 0x02,
- 0x03, 0x00, 0x00, 0x01, 0x00, 0x02, 0x03, 0x04, 0x11, 0x05, 0x21, 0x31, 0x12, 0x41, 0x51, 0x61,
- 0x71, 0x06, 0x13, 0x81, 0x91, 0xA1, 0xC1, 0x14, 0x22, 0xB1, 0xD1, 0x07, 0x23, 0x32, 0x52, 0xF0,
- 0x33, 0x42, 0x72, 0xE1, 0x15, 0x62, 0x24, 0xF1, 0x43, 0x53, 0xB2, 0xFF, 0xC4, 0x00, 0x1A, 0x01,
- 0x00, 0x03, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0xFF, 0xC4, 0x00, 0x23, 0x11, 0x01, 0x01, 0x00, 0x02,
- 0x02, 0x03, 0x00, 0x03, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x11,
- 0x03, 0x21, 0x12, 0x31, 0x41, 0x13, 0x22, 0x51, 0x04, 0x33, 0x14, 0x61, 0xFF, 0xDA, 0x00, 0x0C,
- 0x03, 0x01, 0x00, 0x02, 0x11, 0x03, 0x11, 0x00, 0x3F, 0x00, 0xE4, 0x12, 0x0A, 0x49, 0x12, 0x0A,
- 0x4F, 0x66, 0xF2, 0xC6, 0x04, 0x82, 0x90, 0xD2, 0x32, 0x49, 0xAC, 0x68, 0xD2, 0x32, 0x43, 0x48,
- 0x29, 0x15, 0x43, 0x02, 0x46, 0x48, 0x69, 0x05, 0x21, 0x31, 0x81, 0x20, 0xA4, 0x91, 0x20, 0xA4,
- 0x55, 0x0D, 0x1A, 0x41, 0x49, 0x22, 0x41, 0x48, 0xAB, 0x18, 0x12, 0x0A, 0x43, 0x48, 0xC9, 0x15,
- 0x43, 0x46, 0x90, 0x52, 0x48, 0x90, 0x52, 0x2A, 0x86, 0x04, 0x8A, 0x3A, 0x46, 0x48, 0xAA, 0x19,
- 0x45, 0x14, 0x50, 0x9C, 0xA2, 0x8A, 0x28, 0x44, 0xA2, 0x8A, 0x28, 0x44, 0xA2, 0x8A, 0x28, 0x44,
- 0xA2, 0x8A, 0x28, 0x44, 0xA2, 0x8A, 0x28, 0x44, 0xA2, 0x8A, 0x28, 0x44, 0xA2, 0x8A, 0x28, 0x44,
- 0xA2, 0x8A, 0x28, 0x44, 0xA2, 0x8A, 0x28, 0x44, 0xA2, 0x8A, 0x28, 0x45, 0xBC, 0x91, 0x92, 0x48,
- 0x90, 0x12, 0x74, 0x5E, 0x58, 0xC0, 0x90, 0x52, 0x48, 0x90, 0x52, 0x15, 0x0C, 0x09, 0x05, 0x21,
- 0xA4, 0x64, 0x93, 0x58, 0xD1, 0xA4, 0x64, 0x86, 0x90, 0x52, 0x2A, 0x86, 0x04, 0x8C, 0x90, 0xD2,
- 0x0A, 0x42, 0x63, 0x02, 0x41, 0x49, 0x22, 0x41, 0x48, 0xAA, 0x1A, 0x34, 0x82, 0x92, 0x44, 0x82,
- 0x91, 0x56, 0x30, 0x24, 0x14, 0x86, 0x91, 0x92, 0x2A, 0x86, 0x8D, 0x20, 0xA4, 0x91, 0x20, 0xA4,
- 0x55, 0x0C, 0x09, 0x14, 0x74, 0x8C, 0x91, 0x54, 0x32, 0x8A, 0x28, 0x55, 0xAB, 0x62, 0xDB, 0x1F,
- 0xD2, 0x6E, 0xF9, 0x1B, 0xED, 0xF7, 0x22, 0x9C, 0x31, 0xC7, 0x64, 0x50, 0x4F, 0x08, 0xD1, 0x47,
- 0x15, 0xBC, 0xDA, 0x44, 0xC3, 0x5C, 0xF8, 0xB7, 0xB6, 0x2B, 0x1C, 0xFC, 0x6A, 0xF7, 0x8F, 0xEF,
- 0x2A, 0x4D, 0x8D, 0x05, 0xF6, 0xD1, 0xD4, 0x7A, 0x2B, 0xC9, 0xF5, 0x94, 0x75, 0xB8, 0x0C, 0x79,
- 0x56, 0x86, 0xD4, 0xB7, 0x30, 0xF0, 0xF2, 0x92, 0x36, 0x99, 0x61, 0xD7, 0x91, 0x55, 0x88, 0xE7,
- 0x3A, 0x0E, 0x03, 0xC3, 0x31, 0xE4, 0xDF, 0x53, 0xAA, 0xA1, 0x70, 0xFE, 0x9A, 0xA7, 0x2D, 0xFC,
- 0xCE, 0xFE, 0x5D, 0xDE, 0x64, 0x8B, 0x89, 0xD8, 0xD2, 0xEB, 0x2D, 0x4C, 0x54, 0x29, 0x4B, 0x73,
- 0xA8, 0x1B, 0x07, 0x97, 0xCE, 0x1E, 0x5D, 0xE8, 0x9F, 0xE2, 0x4C, 0x7C, 0x9B, 0x12, 0x29, 0xAD,
- 0x4C, 0x95, 0xCD, 0x56, 0xB9, 0x01, 0x1E, 0x53, 0x32, 0xF8, 0xDA, 0xE5, 0xB6, 0x33, 0x75, 0x14,
- 0xE4, 0x75, 0x8C, 0x6C, 0xF2, 0xC7, 0x51, 0x61, 0xC1, 0x93, 0x35, 0x6E, 0xE3, 0x3B, 0x5D, 0x80,
- 0x53, 0xBF, 0x69, 0x12, 0x6C, 0xEC, 0xCD, 0x7D, 0x26, 0x0B, 0xE9, 0xF1, 0x2B, 0x4B, 0x76, 0xAF,
- 0xCD, 0xE4, 0xF2, 0x3C, 0x25, 0x7D, 0x6E, 0x22, 0xE3, 0x92, 0xA6, 0xD6, 0x3A, 0xED, 0xDF, 0x0D,
- 0xCF, 0xC7, 0xAD, 0xD4, 0x22, 0x8A, 0x28, 0xE9, 0x94, 0x51, 0x45, 0x08, 0x94, 0x51, 0x45, 0x08,
- 0x94, 0x51, 0x45, 0x08, 0xBA, 0x24, 0x8C, 0x90, 0xD2, 0x0A, 0x4E, 0x9B, 0xC9, 0x1A, 0x34, 0x8C,
- 0x92, 0x44, 0x80, 0x91, 0x54, 0x30, 0x24, 0x14, 0x92, 0x24, 0x14, 0x85, 0x43, 0x02, 0x41, 0x48,
- 0x69, 0x19, 0x24, 0xD6, 0x34, 0x69, 0x19, 0x21, 0xA4, 0x14, 0x8A, 0xA1, 0x81, 0x23, 0x24, 0x34,
- 0x82, 0x90, 0x98, 0xC0, 0x90, 0x52, 0x48, 0x90, 0x52, 0x2A, 0x86, 0x8D, 0x20, 0xA4, 0x91, 0x20,
- 0xA4, 0x55, 0x8C, 0x09, 0x05, 0x86, 0x90, 0xF2, 0xE0, 0xB5, 0x31, 0xD2, 0xFD, 0x44, 0xDD, 0xF2,
- 0x89, 0xAC, 0xEE, 0xAE, 0x91, 0xE9, 0xB1, 0x92, 0xAA, 0x6E, 0x08, 0xA7, 0x89, 0x1D, 0x20, 0xA4,
- 0x49, 0x50, 0xDA, 0x5A, 0x8D, 0x0D, 0x32, 0x8D, 0xB0, 0x85, 0x6D, 0xE0, 0x74, 0x7F, 0x69, 0x3E,
- 0x3E, 0x1B, 0x6A, 0x7B, 0x3F, 0x9F, 0x25, 0xAA, 0xFB, 0xDB, 0xD8, 0xB6, 0xDB, 0x73, 0x2A, 0x3B,
- 0x7D, 0xD7, 0xE0, 0x40, 0xD3, 0x65, 0xED, 0x62, 0xAA, 0xBC, 0xF6, 0xFA, 0xCE, 0xAB, 0x2D, 0x69,
- 0x6C, 0x15, 0xA5, 0x76, 0x1A, 0x54, 0x0F, 0x04, 0x0E, 0x93, 0x25, 0x4B, 0xBF, 0x8F, 0x8F, 0x1C,
- 0xB6, 0xDE, 0x79, 0x14, 0xD3, 0xE2, 0x9C, 0x3D, 0xD3, 0xDA, 0xD9, 0x71, 0x0F, 0xBA, 0x5D, 0x93,
- 0xFB, 0x1F, 0x07, 0xCB, 0xC3, 0xFC, 0xDF, 0x3F, 0x15, 0x7D, 0xE6, 0x5A, 0xD3, 0xFB, 0x90, 0xF9,
- 0xB2, 0xC7, 0x65, 0xC9, 0x96, 0x0E, 0x2E, 0x9B, 0x4A, 0xAF, 0xBB, 0xC5, 0x8A, 0xBD, 0x36, 0xA8,
- 0xBE, 0xAF, 0x3F, 0xBC, 0x1B, 0x86, 0x54, 0xAB, 0xD1, 0x48, 0xDA, 0x9B, 0x8E, 0x47, 0x6E, 0x44,
- 0x93, 0x87, 0x63, 0x75, 0x1A, 0xFC, 0x54, 0x0D, 0xC1, 0x2C, 0xFA, 0x1C, 0xD9, 0x2F, 0xF6, 0xDB,
- 0x1E, 0xDF, 0x1B, 0xA1, 0xC5, 0x47, 0x4F, 0xA6, 0xAE, 0x37, 0x95, 0x83, 0x77, 0xD5, 0xE6, 0xCC,
- 0x3E, 0x37, 0x5E, 0xD1, 0x5B, 0xF7, 0x8E, 0xDF, 0x07, 0xFC, 0x26, 0xB6, 0xB7, 0x3E, 0xD7, 0x0D,
- 0xFB, 0xBE, 0xF2, 0x8D, 0xF1, 0x9A, 0x8C, 0x76, 0xB5, 0xFF, 0x00, 0xA2, 0xA8, 0xAB, 0xD1, 0xE7,
- 0x24, 0xE9, 0xDD, 0xD1, 0xCA, 0x09, 0xE2, 0x54, 0xB4, 0x1A, 0x5B, 0x64, 0xDA, 0xF7, 0xDC, 0xAF,
- 0x71, 0xDE, 0xFF, 0x00, 0xD4, 0xB2, 0xE4, 0xC3, 0xA7, 0xBD, 0xAD, 0x8C, 0x0B, 0x2A, 0xEE, 0x12,
- 0x0D, 0x46, 0xAC, 0x06, 0x98, 0xDD, 0x8E, 0x8B, 0xDE, 0xFF, 0x00, 0xD4, 0xA4, 0xE4, 0x6C, 0xF3,
- 0x65, 0xF6, 0xDC, 0xDB, 0xF1, 0x3A, 0xB4, 0xE9, 0xAA, 0xBD, 0xD5, 0x5D, 0x83, 0x9A, 0xC8, 0x73,
- 0x67, 0xB6, 0x7D, 0xF7, 0x02, 0xA1, 0xE0, 0x6F, 0xB7, 0xAC, 0x8C, 0x2C, 0xE1, 0x29, 0x51, 0x5B,
- 0x3C, 0xF6, 0x3B, 0x8F, 0xF3, 0xE9, 0x24, 0xB6, 0x97, 0x37, 0xB9, 0x2B, 0x5A, 0xFE, 0x7C, 0x8F,
- 0x64, 0x3B, 0xDF, 0x1F, 0xF3, 0xCE, 0x27, 0x55, 0x82, 0x96, 0x3C, 0x53, 0x57, 0x2F, 0x0A, 0x74,
- 0xF7, 0xAD, 0x72, 0xD9, 0xB2, 0x83, 0xB1, 0xC8, 0xDF, 0xBC, 0x99, 0xFA, 0x92, 0xA6, 0x7B, 0x56,
- 0x80, 0x15, 0x76, 0xF9, 0x4A, 0x1B, 0x9B, 0x2C, 0x1C, 0x7D, 0xD1, 0x45, 0x14, 0x51, 0xCA, 0x51,
- 0x45, 0x14, 0x22, 0x51, 0x45, 0x14, 0x22, 0xE9, 0x92, 0x0A, 0x49, 0x12, 0x0A, 0x4E, 0xAB, 0xC7,
- 0x1A, 0x34, 0x8C, 0x90, 0xD2, 0x0A, 0x45, 0x50, 0xD1, 0xA4, 0x64, 0x92, 0x24, 0x04, 0x8A, 0xA1,
- 0x81, 0x20, 0xA4, 0x91, 0x20, 0xA4, 0x2A, 0x18, 0x12, 0x0A, 0x43, 0x48, 0xC9, 0x26, 0xB1, 0xA3,
- 0x48, 0xC9, 0x0D, 0x20, 0xA4, 0x55, 0x0C, 0x09, 0x19, 0x21, 0xA4, 0x14, 0x84, 0xC6, 0x04, 0x82,
- 0x92, 0x44, 0x82, 0x91, 0x56, 0x30, 0x06, 0xE8, 0x79, 0xCB, 0x6D, 0x95, 0xD8, 0x1D, 0xDE, 0x5B,
- 0x4A, 0xA9, 0x3A, 0x4D, 0x06, 0x0C, 0x78, 0xB4, 0x38, 0xF5, 0x05, 0x47, 0x35, 0xCD, 0xD5, 0xE7,
- 0xB7, 0x91, 0xE1, 0x23, 0x27, 0x56, 0xFC, 0x38, 0x39, 0xBA, 0xB3, 0x71, 0xF0, 0x9B, 0xE4, 0x3B,
- 0x79, 0xFB, 0x18, 0x6A, 0xF8, 0x9C, 0xFE, 0x47, 0xDE, 0x1B, 0xC2, 0x34, 0x41, 0xB7, 0xBF, 0xCB,
- 0xBF, 0x8F, 0x2D, 0xBE, 0x5F, 0xF7, 0x1F, 0x57, 0x9B, 0x29, 0x65, 0xDD, 0x81, 0xA5, 0xAE, 0x4C,
- 0xE3, 0x93, 0x25, 0x9A, 0x50, 0x76, 0xDF, 0xBD, 0x7C, 0xA4, 0x77, 0xEF, 0x76, 0xE1, 0x8E, 0xF5,
- 0xA8, 0x1E, 0x1F, 0x7D, 0x3E, 0xEE, 0x2C, 0x86, 0x5C, 0x63, 0xBF, 0x4D, 0x93, 0xE1, 0x35, 0xDD,
- 0x42, 0x12, 0x85, 0x3B, 0x15, 0xCD, 0x50, 0xC9, 0x60, 0x6C, 0x1B, 0xAF, 0x9C, 0x9F, 0x57, 0x54,
- 0xB3, 0x7C, 0x7D, 0xFD, 0x43, 0xB9, 0x92, 0xDD, 0x3C, 0x66, 0xB1, 0x75, 0x15, 0xF2, 0xD7, 0x22,
- 0xBB, 0x0A, 0x9B, 0x5A, 0xA9, 0xB9, 0x63, 0xC2, 0x65, 0x67, 0xE1, 0xFE, 0xE7, 0x35, 0x75, 0x1A,
- 0x7D, 0xED, 0x83, 0xAA, 0x75, 0x68, 0xF8, 0x3E, 0x5E, 0x7F, 0x3F, 0x39, 0xBF, 0x12, 0x56, 0xDF,
- 0xCC, 0x37, 0xF3, 0x39, 0x24, 0xBB, 0xA5, 0x77, 0x5C, 0xB8, 0x92, 0xF5, 0xEC, 0xBD, 0xBA, 0xED,
- 0xCF, 0x6D, 0xBC, 0x20, 0x75, 0x4E, 0x5A, 0xCC, 0xEF, 0xD9, 0x73, 0xF9, 0x6C, 0xDB, 0x26, 0xC7,
- 0x35, 0x79, 0x4D, 0x8E, 0x11, 0x43, 0x03, 0x6B, 0x3B, 0x36, 0x28, 0xAB, 0xE7, 0xD0, 0x3F, 0x59,
- 0x47, 0x53, 0xA6, 0x31, 0x6A, 0x0C, 0xB8, 0xF9, 0xE2, 0xB3, 0xCB, 0xBF, 0xB2, 0xF8, 0x3F, 0x69,
- 0x73, 0x44, 0x5A, 0xF8, 0x6E, 0xD7, 0x93, 0x7B, 0x6D, 0xBB, 0xD0, 0x03, 0xAF, 0xD5, 0x94, 0xFA,
- 0xB3, 0xE3, 0x35, 0x96, 0xD9, 0xF5, 0x76, 0x73, 0xE6, 0x5A, 0xBD, 0x36, 0x16, 0x3E, 0xA2, 0xDB,
- 0xE8, 0xAD, 0x8F, 0x11, 0xC8, 0x00, 0xF3, 0x77, 0x37, 0x59, 0x59, 0xCE, 0x7E, 0x26, 0xD4, 0xC7,
- 0xBB, 0x51, 0xEC, 0x9E, 0x6F, 0x7A, 0xC9, 0xF2, 0x9E, 0xEB, 0x47, 0x60, 0xE6, 0xA8, 0x0F, 0x8F,
- 0x39, 0x29, 0xEA, 0xD8, 0x7C, 0x95, 0x97, 0x0F, 0xD2, 0xE1, 0xAD, 0x8B, 0x64, 0xA9, 0x92, 0xDD,
- 0x56, 0xC6, 0xE1, 0xF0, 0x9B, 0x94, 0xA6, 0x8F, 0x3D, 0x4A, 0x65, 0xD3, 0xE3, 0xC8, 0x79, 0xD4,
- 0xDC, 0xF4, 0x4E, 0x64, 0xC2, 0xC7, 0x7E, 0xC5, 0x01, 0x7D, 0x7C, 0xE6, 0x86, 0x83, 0x23, 0x7C,
- 0xA0, 0x0B, 0xCF, 0xBA, 0x26, 0xDB, 0x8B, 0x5A, 0xD6, 0xAD, 0x5A, 0x70, 0x7D, 0x1D, 0xEC, 0x35,
- 0xAD, 0xE9, 0x5A, 0x9D, 0x0B, 0x9B, 0x07, 0xC4, 0x82, 0xE2, 0xC3, 0x8B, 0x23, 0xEE, 0xB1, 0xF6,
- 0x50, 0xD8, 0x5E, 0x6E, 0xDF, 0xE7, 0x84, 0x5F, 0x8B, 0x5B, 0x18, 0x71, 0xBB, 0xF3, 0xFC, 0xC9,
- 0xCF, 0x77, 0xC0, 0x96, 0xE9, 0x8B, 0xDE, 0x81, 0x6D, 0x8B, 0x1D, 0x37, 0x79, 0x92, 0x4D, 0xFB,
- 0x6D, 0x97, 0x13, 0xA0, 0xB0, 0xB8, 0xFE, 0xDA, 0x7D, 0x01, 0x98, 0x3F, 0x9B, 0xBE, 0xD5, 0xF2,
- 0xDF, 0xAB, 0x38, 0xFE, 0xB3, 0xBA, 0xE3, 0x5C, 0x3E, 0xB6, 0xC7, 0x5A, 0x6A, 0x32, 0x5F, 0x23,
- 0x64, 0xB2, 0x53, 0x6A, 0xEC, 0x1D, 0x0E, 0x7B, 0xCC, 0x6C, 0xDA, 0x5E, 0x1D, 0x83, 0x0B, 0x6B,
- 0x69, 0x85, 0x0F, 0xFF, 0x00, 0x65, 0x97, 0xE3, 0xB3, 0xB4, 0xD3, 0x17, 0xAB, 0x87, 0xFD, 0x1C,
- 0x6E, 0x59, 0x6F, 0xE5, 0xCE, 0xC5, 0x2E, 0x65, 0xC5, 0x87, 0x25, 0xF7, 0xD2, 0x36, 0x57, 0xFD,
- 0x96, 0xEB, 0xF0, 0x7B, 0xFF, 0x00, 0xCE, 0xB2, 0x5F, 0xFC, 0x65, 0xCD, 0x3D, 0xAE, 0xAF, 0xBC,
- 0x0D, 0xC0, 0xE8, 0x9E, 0x12, 0xF7, 0x72, 0x78, 0xB6, 0x74, 0x51, 0x24, 0x50, 0x94, 0xA2, 0x8A,
- 0x28, 0x45, 0xD4, 0xA4, 0x64, 0x86, 0x90, 0x52, 0x76, 0x5E, 0x28, 0xC0, 0x90, 0x52, 0x48, 0x90,
- 0x52, 0x4D, 0x43, 0x46, 0x91, 0x92, 0x1A, 0x41, 0x48, 0xAA, 0x1A, 0x34, 0x8C, 0x92, 0x44, 0x80,
- 0x91, 0x54, 0x30, 0x24, 0x14, 0x92, 0x24, 0x14, 0x85, 0x43, 0x02, 0x41, 0x48, 0x69, 0x19, 0x24,
- 0xD6, 0x34, 0x69, 0x19, 0x21, 0xA4, 0x14, 0x8A, 0xA1, 0x81, 0x23, 0x24, 0x34, 0x9A, 0x1A, 0x4E,
- 0x1E, 0x38, 0xCC, 0xFA, 0x91, 0xEC, 0xBC, 0xEB, 0x43, 0x92, 0x9E, 0x2F, 0x81, 0x12, 0x85, 0xA6,
- 0x18, 0xB9, 0x36, 0x76, 0x3C, 0x19, 0x73, 0x29, 0x8B, 0x1D, 0xAE, 0x9D, 0x76, 0x37, 0xDA, 0x74,
- 0xDC, 0x23, 0x47, 0xAA, 0xCB, 0xA1, 0x30, 0xDC, 0xAD, 0x32, 0x63, 0x52, 0xA5, 0xAC, 0x3B, 0x9D,
- 0x7B, 0xBC, 0x25, 0x0C, 0xBA, 0xDF, 0x75, 0x5E, 0xC6, 0x3A, 0x14, 0xA9, 0xD0, 0x0D, 0x82, 0x2D,
- 0x0F, 0x10, 0x5C, 0xAD, 0x4B, 0x22, 0x9B, 0x8E, 0xFD, 0xE4, 0xCF, 0x21, 0x4B, 0xB3, 0x81, 0xC7,
- 0x8F, 0x2B, 0x4B, 0x27, 0x02, 0xCB, 0x77, 0x7B, 0xB5, 0xDB, 0xBC, 0xAD, 0x8D, 0xDF, 0x8B, 0x2A,
- 0xEB, 0x34, 0xF9, 0x30, 0x50, 0xA3, 0x89, 0xA5, 0x43, 0x60, 0xDB, 0x91, 0x27, 0x78, 0x9E, 0xA1,
- 0x76, 0x2E, 0xD9, 0xF0, 0xD8, 0x58, 0x8E, 0x29, 0xA8, 0x39, 0x64, 0xA1, 0x6A, 0xF7, 0x8F, 0x26,
- 0x66, 0x09, 0x75, 0xB9, 0x61, 0xF2, 0xE7, 0xF3, 0xA8, 0xBD, 0x65, 0xEE, 0x1D, 0xAA, 0x72, 0xAB,
- 0x67, 0xF9, 0x94, 0x39, 0xF9, 0x9D, 0x37, 0x97, 0xB5, 0x3A, 0x6D, 0x26, 0xAB, 0x19, 0x76, 0xA6,
- 0x36, 0xC7, 0x26, 0xBD, 0x3E, 0x9F, 0xB4, 0xCF, 0xA6, 0x83, 0x36, 0x9D, 0xC9, 0x93, 0x12, 0x5C,
- 0x36, 0xDA, 0xD5, 0x77, 0xDB, 0xAF, 0x52, 0x50, 0x89, 0xA6, 0x8C, 0x57, 0x0C, 0xBA, 0xF4, 0xD6,
- 0xB2, 0xE9, 0xF4, 0x7A, 0xAD, 0xCB, 0x8E, 0x3B, 0xBD, 0x2D, 0x57, 0x61, 0xF5, 0x3B, 0xBE, 0x12,
- 0x1C, 0x1A, 0x2C, 0xFA, 0x0C, 0x99, 0x32, 0xD2, 0xFD, 0xBA, 0x81, 0xB3, 0xB6, 0xDD, 0x5F, 0xFA,
- 0x80, 0x5D, 0xBD, 0x54, 0x36, 0x47, 0x99, 0xE0, 0xFE, 0xD2, 0xFE, 0x87, 0x2F, 0x6B, 0x4B, 0x96,
- 0x99, 0x0D, 0xCD, 0xC1, 0x1F, 0x8C, 0x5E, 0xAA, 0xC8, 0x17, 0x75, 0x5B, 0x57, 0x1E, 0xA3, 0x0E,
- 0x4C, 0x98, 0xEB, 0xC9, 0x3F, 0x99, 0x8C, 0xF5, 0xEA, 0x78, 0x24, 0x7D, 0x66, 0x07, 0x85, 0xF0,
- 0xCC, 0x58, 0x57, 0x7B, 0xE5, 0xAF, 0x69, 0xB6, 0xDB, 0x72, 0x5D, 0xC3, 0xEB, 0xCF, 0xFE, 0xA4,
- 0xDC, 0x33, 0x49, 0x67, 0x8C, 0xE3, 0xC4, 0x6E, 0xE3, 0xBA, 0xAB, 0xE3, 0x53, 0x9B, 0xF4, 0x12,
- 0x5F, 0xE3, 0x15, 0xC7, 0xAC, 0xD5, 0xB8, 0x32, 0x1B, 0xD7, 0x23, 0xF9, 0x13, 0xAD, 0x5F, 0x28,
- 0x6E, 0x58, 0x9B, 0x16, 0xE4, 0xF4, 0x98, 0xDB, 0x5D, 0xC8, 0x9D, 0x54, 0x3E, 0x7C, 0xD9, 0xA5,
- 0xAA, 0xAE, 0xD5, 0xC6, 0xBD, 0x2A, 0x3B, 0x1E, 0x2F, 0x8F, 0xC3, 0xA7, 0xCE, 0x5C, 0xA7, 0x0B,
- 0xBE, 0x0D, 0x5D, 0x70, 0x58, 0xFC, 0xB4, 0x04, 0xB1, 0xD1, 0x3C, 0x7E, 0x32, 0x1D, 0x7E, 0x3B,
- 0x5B, 0x39, 0x8E, 0x86, 0xFB, 0x00, 0x04, 0x95, 0xDB, 0x30, 0xD6, 0x3A, 0xB3, 0x0E, 0xDE, 0x4C,
- 0x80, 0x0A, 0xAE, 0xC0, 0x4D, 0x7C, 0x55, 0xAE, 0x93, 0x4E, 0x96, 0xBA, 0x64, 0xB7, 0x25, 0xAF,
- 0x50, 0xEF, 0x07, 0xC7, 0xC7, 0xC3, 0x7F, 0x1E, 0x8F, 0xA6, 0xD1, 0x38, 0xAB, 0xB9, 0xFD, 0x4F,
- 0x26, 0xDE, 0x1E, 0x47, 0xEF, 0x2B, 0xEB, 0x1C, 0x78, 0xAA, 0x64, 0xCC, 0xA6, 0x33, 0x95, 0x28,
- 0x75, 0xBB, 0xE5, 0xFB, 0xC3, 0xDB, 0x68, 0x3E, 0x25, 0x67, 0x0E, 0xA4, 0xAD, 0x5E, 0xC0, 0x63,
- 0xC6, 0x75, 0x47, 0x6E, 0x5E, 0x6F, 0x7C, 0xB3, 0x8F, 0x8C, 0xD2, 0x87, 0x67, 0x01, 0xBB, 0xFD,
- 0xC9, 0xCB, 0xE0, 0x7E, 0xF3, 0x97, 0xC9, 0x9F, 0x36, 0xAA, 0xE7, 0x2E, 0xCD, 0x07, 0xF2, 0xD4,
- 0xE8, 0x7E, 0xEF, 0x9C, 0xB7, 0x83, 0x1B, 0x5D, 0x9B, 0xA1, 0xEA, 0xED, 0x29, 0x3F, 0xB4, 0xE3,
- 0xCD, 0xDE, 0x82, 0xE9, 0xB0, 0xEA, 0xCC, 0xF5, 0x6B, 0x98, 0x2E, 0x5B, 0xA9, 0x6E, 0x7B, 0xCC,
- 0x8E, 0x33, 0xC2, 0x72, 0xD7, 0x0E, 0x4C, 0x9A, 0x5E, 0xD6, 0x5C, 0x4F, 0x3E, 0xC9, 0xCE, 0xD5,
- 0xF8, 0x77, 0x9F, 0xE7, 0x9C, 0x97, 0x4F, 0x96, 0x95, 0x05, 0xC8, 0x7C, 0x1D, 0xFF, 0x00, 0x49,
- 0x72, 0xBA, 0xAB, 0x64, 0x4A, 0xD0, 0x4A, 0x9E, 0x3D, 0x59, 0x1E, 0x9E, 0xAE, 0x8D, 0x1C, 0x98,
- 0xE9, 0xB8, 0xAC, 0x55, 0xBE, 0x2A, 0x64, 0xB6, 0xC9, 0x62, 0xBB, 0x7A, 0x6F, 0xCB, 0xEF, 0x2C,
- 0x69, 0xB5, 0x3A, 0xCD, 0x26, 0x1E, 0xDB, 0x5D, 0xF0, 0xEF, 0xCA, 0xB7, 0x39, 0x3B, 0xF8, 0x77,
- 0x9F, 0x0E, 0x53, 0xB0, 0xD4, 0xDE, 0xB4, 0xC0, 0xB7, 0x0E, 0xDD, 0xB6, 0x01, 0x39, 0xF5, 0xEB,
- 0x39, 0xEE, 0x38, 0xFF, 0x00, 0xF1, 0x45, 0xEA, 0xD8, 0x3F, 0x56, 0x51, 0x96, 0xEE, 0x5E, 0x4F,
- 0xF3, 0x98, 0x0A, 0x36, 0x2E, 0xA7, 0x25, 0x32, 0xE6, 0xB5, 0xE9, 0x46, 0x85, 0x9D, 0xFB, 0x3B,
- 0xEF, 0xB3, 0xDF, 0x21, 0x8A, 0x29, 0x77, 0x14, 0xA2, 0x8A, 0x28, 0xE2, 0xEB, 0x12, 0x32, 0x43,
- 0x48, 0x29, 0x3B, 0x2F, 0x0C, 0x60, 0x48, 0xC9, 0x0D, 0x20, 0xA4, 0x2A, 0x18, 0x12, 0x0A, 0x49,
- 0x12, 0x0A, 0x49, 0xA8, 0x68, 0xD2, 0x32, 0x43, 0x48, 0x29, 0x15, 0x43, 0x46, 0x91, 0x92, 0x48,
- 0x90, 0x12, 0x2A, 0x86, 0x04, 0x82, 0x92, 0x44, 0x82, 0x90, 0xA8, 0x60, 0x48, 0x29, 0x0D, 0x23,
- 0x24, 0x9A, 0xC6, 0x8F, 0x6D, 0x99, 0x23, 0xA8, 0xCF, 0xDA, 0xED, 0x39, 0xB2, 0x6F, 0xE3, 0xDA,
- 0x64, 0xD5, 0xD0, 0xEA, 0x2F, 0xD3, 0x1A, 0x1E, 0x2F, 0x29, 0x63, 0x0F, 0x09, 0xB5, 0xAE, 0x19,
- 0x32, 0x00, 0xBD, 0x2A, 0x6F, 0xFA, 0xC9, 0x53, 0xED, 0xAE, 0x18, 0xE4, 0xFA, 0xAB, 0x62, 0xCF,
- 0xEF, 0xAE, 0x62, 0xCD, 0x51, 0x57, 0x62, 0xC1, 0xB2, 0x7A, 0xCB, 0x4E, 0x8B, 0x16, 0x14, 0xC9,
- 0x8C, 0xB6, 0x6B, 0x75, 0x2C, 0x6F, 0xB1, 0xE9, 0xB7, 0xDE, 0x5C, 0xA7, 0x0E, 0xC3, 0xA6, 0x56,
- 0xA1, 0x6B, 0x27, 0x26, 0xDC, 0xDD, 0xBF, 0x4F, 0xF1, 0x96, 0x34, 0x9A, 0x5D, 0x46, 0x5B, 0x85,
- 0x40, 0xC2, 0xBB, 0x3B, 0xF4, 0x4E, 0xFD, 0xBC, 0xE6, 0x6A, 0x7C, 0xBA, 0xF8, 0xF8, 0xB2, 0x7D,
- 0x94, 0x55, 0xAE, 0x43, 0x08, 0xE6, 0xC7, 0x5A, 0x29, 0xBE, 0xC2, 0x1F, 0x4F, 0x19, 0x4B, 0x3A,
- 0x8B, 0xD9, 0xA2, 0x9E, 0x49, 0x36, 0xF5, 0xFA, 0x51, 0x1B, 0x96, 0x53, 0xBC, 0x3B, 0xA6, 0x25,
- 0xCA, 0x16, 0x44, 0x5F, 0x8C, 0x91, 0xDD, 0xD1, 0x9E, 0x2E, 0x3D, 0x41, 0xA4, 0xD7, 0x63, 0xC5,
- 0x91, 0xC7, 0x9E, 0xD7, 0xA5, 0x2E, 0xF3, 0xED, 0x57, 0xA3, 0xE3, 0x35, 0x71, 0xE0, 0x46, 0xFD,
- 0x86, 0xB6, 0xDC, 0x13, 0x67, 0x9A, 0x7F, 0x8C, 0xCF, 0xAE, 0x3C, 0x39, 0x0D, 0xAE, 0x28, 0xF7,
- 0x6F, 0xBF, 0xEB, 0x2F, 0xE8, 0xF4, 0xE5, 0x1A, 0x98, 0xF2, 0x6F, 0x4E, 0x9D, 0x9B, 0x9B, 0x81,
- 0xE4, 0xF5, 0x3F, 0x4F, 0x28, 0x32, 0xC1, 0x7D, 0x34, 0x0E, 0x0A, 0xB9, 0x37, 0x46, 0xAF, 0x44,
- 0x4D, 0xC6, 0x59, 0xD3, 0xE8, 0xAD, 0x5A, 0x64, 0x6A, 0x6F, 0x54, 0x11, 0x3B, 0xB6, 0xDF, 0xF7,
- 0x93, 0x66, 0xD0, 0xEA, 0xAB, 0xBD, 0xF1, 0x8A, 0x75, 0xD9, 0xFC, 0xC2, 0x79, 0x3D, 0x76, 0xF9,
- 0x47, 0xD1, 0xEA, 0x9C, 0x57, 0x0C, 0x94, 0x6B, 0xBF, 0x27, 0x6E, 0x64, 0x85, 0xFE, 0x4F, 0x69,
- 0xD3, 0xEA, 0xB9, 0xC0, 0x74, 0xE7, 0xE2, 0x72, 0x5E, 0xC7, 0x3A, 0xE3, 0x41, 0x7C, 0xF6, 0x1F,
- 0xA4, 0xAE, 0xE9, 0x6F, 0x6E, 0x26, 0x52, 0xE2, 0xFB, 0xAB, 0x36, 0x1F, 0x2D, 0xB9, 0x3F, 0xA4,
- 0xDD, 0xE1, 0x95, 0xC7, 0x7B, 0x5A, 0xF4, 0xDB, 0x7B, 0x1B, 0x72, 0xEF, 0x96, 0xB1, 0xE8, 0x4C,
- 0x9A, 0x87, 0x26, 0xDC, 0xFB, 0x0D, 0x5F, 0x98, 0x9F, 0x79, 0x0E, 0x5A, 0xDD, 0x62, 0x05, 0x4B,
- 0xF0, 0x86, 0x5D, 0x17, 0x69, 0x3F, 0x3D, 0x37, 0xB1, 0xE2, 0x9D, 0xE7, 0xDE, 0x65, 0xE0, 0xE1,
- 0x6E, 0x4C, 0xD7, 0xCD, 0x71, 0x0B, 0x2A, 0x3E, 0xBD, 0xC4, 0xEB, 0xB0, 0x69, 0x57, 0x29, 0x50,
- 0xD8, 0x3A, 0xFA, 0x4A, 0x9C, 0x57, 0x2E, 0x9F, 0x87, 0x69, 0xED, 0x93, 0x20, 0x15, 0xAE, 0xE5,
- 0x2A, 0x75, 0x5E, 0xE0, 0x91, 0xBE, 0xFA, 0x83, 0x32, 0xE5, 0xF8, 0x8F, 0xBB, 0xD2, 0x61, 0x5B,
- 0x9B, 0xBB, 0x6D, 0x5A, 0x1C, 0xB7, 0xFD, 0x8F, 0x16, 0x72, 0x5A, 0x9B, 0x7E, 0x23, 0x3B, 0x93,
- 0x35, 0xBB, 0x76, 0x7A, 0x15, 0xE8, 0x1E, 0x07, 0x94, 0xD1, 0xE2, 0x19, 0x75, 0x1C, 0x47, 0x53,
- 0x6C, 0xB9, 0x94, 0x17, 0x62, 0xA7, 0x40, 0xEE, 0x24, 0x0E, 0x2C, 0x58, 0x7F, 0xD4, 0xB1, 0xBF,
- 0x80, 0x6E, 0xCD, 0xF1, 0xE8, 0xEE, 0xCD, 0xC9, 0xC9, 0xD5, 0x56, 0xA5, 0xD3, 0x6A, 0x85, 0x0F,
- 0x0A, 0x9B, 0x7D, 0x7A, 0xC9, 0xB1, 0x69, 0xAD, 0x67, 0x74, 0x56, 0x1B, 0x96, 0xC5, 0x57, 0x1E,
- 0x2A, 0xD2, 0xA7, 0x5B, 0x64, 0x76, 0x0F, 0xB7, 0xD6, 0x53, 0xCF, 0xAF, 0xA9, 0xB9, 0x6D, 0x46,
- 0x4C, 0x8F, 0xF6, 0xE3, 0xFC, 0xA7, 0xA6, 0xFF, 0x00, 0xFD, 0xC7, 0xB5, 0xF5, 0x50, 0xE2, 0x76,
- 0xDA, 0x86, 0x3C, 0x78, 0x76, 0x73, 0x64, 0xA5, 0x3C, 0x97, 0x9F, 0xCB, 0xAC, 0x4F, 0x10, 0x0F,
- 0xC9, 0xA4, 0xA3, 0xFF, 0x00, 0x3B, 0x1F, 0xA1, 0xFB, 0xFC, 0xA7, 0x3D, 0x6D, 0x62, 0x2F, 0xBA,
- 0xC5, 0x4A, 0x79, 0xBB, 0xAF, 0xED, 0xF4, 0x8D, 0x5D, 0x7E, 0xA6, 0xBD, 0x32, 0x6D, 0xE8, 0x04,
- 0x5E, 0x3F, 0xDA, 0xFF, 0x00, 0xF4, 0x87, 0x41, 0x74, 0x74, 0xED, 0xD8, 0x72, 0x66, 0xBE, 0xC1,
- 0xCD, 0xB5, 0x9F, 0xD5, 0x66, 0x27, 0x17, 0xD6, 0x57, 0x53, 0x96, 0xB4, 0xC3, 0xCF, 0x1D, 0x37,
- 0xD9, 0xF1, 0x7B, 0xD9, 0x4B, 0x2E, 0xA7, 0x36, 0x6F, 0xF5, 0x72, 0x5E, 0xFB, 0x74, 0xED, 0x59,
- 0x76, 0x91, 0x46, 0x63, 0xAB, 0x2E, 0x4E, 0x77, 0x33, 0xC4, 0xF5, 0x38, 0x3C, 0xE3, 0x4B, 0xF8,
- 0x74, 0xDB, 0xF0, 0xFC, 0x99, 0x36, 0xDE, 0xD6, 0x79, 0x7A, 0x0F, 0x3F, 0xF3, 0xCA, 0x50, 0x94,
- 0x3B, 0xB0, 0x71, 0x43, 0x72, 0x85, 0x4A, 0x5A, 0xF6, 0x2B, 0x53, 0x75, 0xE8, 0x12, 0x6D, 0x11,
- 0x8E, 0xDA, 0xAC, 0x74, 0xCA, 0x6F, 0x8E, 0xF6, 0x2B, 0x6F, 0x10, 0x79, 0x6E, 0x79, 0xCD, 0x77,
- 0x85, 0x5F, 0x87, 0xDE, 0xD7, 0x52, 0xF4, 0xB3, 0xB5, 0x2E, 0x1D, 0xDE, 0x7E, 0x0C, 0x16, 0xAC,
- 0x38, 0xDC, 0x8D, 0x9E, 0xAD, 0x14, 0x82, 0x90, 0xD2, 0x32, 0x4E, 0xEB, 0xE7, 0x46, 0x8D, 0x23,
- 0x24, 0x34, 0x82, 0x91, 0x56, 0x30, 0x24, 0x64, 0x96, 0x31, 0xE9, 0xF2, 0x65, 0xC5, 0x93, 0x25,
- 0x03, 0xB3, 0x88, 0x1B, 0x6E, 0x83, 0xB2, 0xED, 0xC8, 0xEF, 0x90, 0x24, 0x5D, 0x54, 0x6C, 0x81,
- 0x20, 0xA4, 0x91, 0x20, 0xA4, 0x55, 0x0D, 0x1A, 0x46, 0x48, 0x69, 0x05, 0x22, 0xA8, 0x68, 0xD2,
- 0x32, 0x49, 0x12, 0x02, 0x45, 0x50, 0xC0, 0x90, 0x52, 0x48, 0x90, 0x52, 0x15, 0x0D, 0x6F, 0x45,
- 0xC4, 0x1C, 0x1B, 0x53, 0x35, 0x1C, 0x98, 0xFB, 0xB6, 0x76, 0x4F, 0x4F, 0x1F, 0x49, 0xB5, 0xA4,
- 0xCB, 0xA2, 0xD4, 0x5E, 0xAE, 0x1D, 0x4D, 0x07, 0x7F, 0xE9, 0xBF, 0xE5, 0x7D, 0x36, 0x7A, 0xFC,
- 0x37, 0x9C, 0xC2, 0x47, 0xAD, 0x2D, 0x7B, 0x15, 0xA5, 0x5B, 0x2F, 0x40, 0x37, 0x59, 0x9B, 0x88,
- 0xDD, 0x3C, 0x7C, 0xB9, 0x63, 0xD6, 0xB7, 0x76, 0x27, 0x0F, 0xCB, 0xA8, 0xCE, 0x06, 0xC2, 0xA0,
- 0x6F, 0xDC, 0x4D, 0xBB, 0xE9, 0x6B, 0x8F, 0x19, 0x5C, 0x66, 0xC0, 0x6C, 0x6C, 0x74, 0x27, 0x31,
- 0xC1, 0x30, 0x6A, 0x38, 0x75, 0x5C, 0xD9, 0xB2, 0xE4, 0xAD, 0xAC, 0x6D, 0x5C, 0x65, 0xDD, 0xAA,
- 0x78, 0xA7, 0x4D, 0xFF, 0x00, 0x49, 0x77, 0x53, 0xA8, 0xC9, 0x90, 0x6C, 0x65, 0xBA, 0x3D, 0xFD,
- 0xA6, 0x61, 0x91, 0xB7, 0x45, 0xEB, 0xF1, 0x3A, 0xC7, 0x69, 0xA6, 0x93, 0x57, 0xA7, 0xB9, 0x65,
- 0x39, 0x33, 0x2B, 0x3F, 0x0D, 0x72, 0xAB, 0x8F, 0x62, 0xDD, 0xF5, 0x5E, 0x4F, 0xA4, 0x83, 0x55,
- 0x7C, 0x80, 0xB6, 0xC9, 0x6A, 0x9E, 0x2D, 0x99, 0x93, 0x9B, 0x3E, 0xF6, 0xE5, 0xBD, 0xD3, 0xA3,
- 0x65, 0xDB, 0xE5, 0x19, 0x8B, 0xF2, 0xC3, 0x97, 0x98, 0xFB, 0x68, 0x5B, 0x05, 0xB0, 0x5B, 0x6B,
- 0x0A, 0x9D, 0xC1, 0xBC, 0xB1, 0xA7, 0xCB, 0x71, 0x36, 0xC6, 0xED, 0xE6, 0xCC, 0xBC, 0x5C, 0x4B,
- 0x57, 0x5D, 0xAB, 0x67, 0xB7, 0x5F, 0x0E, 0x89, 0xE8, 0x9C, 0xFE, 0x7B, 0xCB, 0xB8, 0x75, 0x58,
- 0xB2, 0xA7, 0xBC, 0xB5, 0xEA, 0xF7, 0x96, 0x37, 0x3E, 0x67, 0x3F, 0xA4, 0x68, 0xFD, 0xB2, 0x33,
- 0x1F, 0x57, 0x47, 0xC3, 0xF5, 0xB6, 0xC6, 0x86, 0x40, 0xEC, 0xEF, 0xCC, 0xDF, 0x99, 0xE6, 0x4D,
- 0xEB, 0x70, 0xDD, 0x26, 0xBB, 0x19, 0x96, 0x85, 0x77, 0xB1, 0xB9, 0x6A, 0xF8, 0xF9, 0x93, 0x93,
- 0xD1, 0x69, 0xA9, 0x9D, 0x3D, 0xDD, 0xE8, 0xFA, 0x3F, 0x69, 0xD4, 0x70, 0xEC, 0x36, 0xC1, 0x8A,
- 0xB5, 0x2D, 0x6A, 0xA7, 0x79, 0xDE, 0x4E, 0x7C, 0xFA, 0x7D, 0xDD, 0x58, 0x63, 0x92, 0x6F, 0xE4,
- 0xD8, 0xB8, 0x7E, 0x4D, 0x16, 0x62, 0xC1, 0xBD, 0x7A, 0x6E, 0x74, 0x66, 0xD6, 0x93, 0x18, 0x5A,
- 0xC2, 0x75, 0x37, 0x8B, 0x4F, 0x66, 0xC6, 0xD9, 0x11, 0x3F, 0x5F, 0x84, 0xB1, 0x8E, 0x8D, 0x72,
- 0x55, 0xAA, 0x35, 0x79, 0x74, 0xE6, 0x4C, 0xD7, 0x74, 0x66, 0xFC, 0x96, 0x4E, 0xCE, 0x9F, 0x05,
- 0xB2, 0x3D, 0xC6, 0xEC, 0xE2, 0xB8, 0xA6, 0x3C, 0xDC, 0x43, 0x54, 0xE4, 0xCC, 0xED, 0x53, 0x95,
- 0x2B, 0xDC, 0x1F, 0xBC, 0xED, 0x75, 0xB5, 0x72, 0x62, 0x6B, 0xB6, 0xE6, 0xDF, 0x59, 0xC7, 0x7B,
- 0x4D, 0xC5, 0xF4, 0x7C, 0x07, 0x02, 0x5F, 0xB3, 0x97, 0x59, 0x73, 0x7C, 0x78, 0x47, 0xA7, 0x9D,
- 0xBC, 0x0F, 0xAB, 0xDD, 0xDE, 0x86, 0x1B, 0x5E, 0xAA, 0xE2, 0xFC, 0x66, 0x2E, 0x59, 0xDC, 0xFF,
- 0x00, 0x16, 0x30, 0xE8, 0xB1, 0x15, 0xC9, 0x92, 0xB8, 0x47, 0x9A, 0xAF, 0x34, 0xF2, 0x3A, 0xFC,
- 0xA7, 0x35, 0xA9, 0xE2, 0xB8, 0xE8, 0xB5, 0xD2, 0x62, 0xDD, 0xFE, 0xFB, 0xFD, 0x8F, 0xDF, 0xE5,
- 0x28, 0xEB, 0x35, 0x59, 0xB5, 0x9A, 0x9B, 0xEA, 0x35, 0x37, 0x6F, 0x92, 0xEE, 0xEA, 0xFD, 0xBC,
- 0x0F, 0x29, 0x5D, 0x9D, 0x58, 0xE3, 0xA3, 0xBB, 0x0E, 0x4E, 0x4F, 0x2C, 0xB6, 0x52, 0x66, 0xD4,
- 0x65, 0xCF, 0x6E, 0xD6, 0x5B, 0xB6, 0x7B, 0xB7, 0x79, 0x1E, 0x87, 0x74, 0x8A, 0x28, 0xA5, 0x59,
- 0xCA, 0x38, 0x2B, 0xB1, 0x2D, 0x53, 0x47, 0x6B, 0xE9, 0x7D, 0xED, 0x5D, 0xEE, 0xBC, 0xAB, 0xE2,
- 0x78, 0xFA, 0xEF, 0x03, 0x4B, 0x5B, 0x57, 0x53, 0x45, 0xA5, 0xB9, 0x3C, 0xCD, 0x9E, 0x50, 0xDC,
- 0xF4, 0xC5, 0x8B, 0x46, 0xDA, 0xF5, 0x32, 0xDC, 0xC6, 0x28, 0x73, 0x37, 0x7E, 0x52, 0xFE, 0xBF,
- 0x80, 0xDF, 0x4F, 0x47, 0x26, 0x0C, 0xBE, 0xF6, 0x87, 0x37, 0x96, 0xC9, 0xF5, 0x94, 0xF5, 0x5E,
- 0xF2, 0xB7, 0x5B, 0x09, 0xB3, 0xDE, 0x6D, 0x3A, 0x2D, 0x26, 0xAC, 0xB6, 0x1A, 0xAB, 0xC9, 0x06,
- 0x4A, 0xEA, 0xDF, 0x8B, 0x8F, 0x1C, 0xBA, 0x7D, 0xD8, 0xBA, 0x7C, 0x8D, 0x34, 0xF5, 0xAB, 0xB8,
- 0x9D, 0x46, 0x55, 0xD5, 0x61, 0x0F, 0xE7, 0x63, 0x3F, 0x2B, 0xD4, 0xF0, 0x7F, 0x69, 0xB1, 0xC5,
- 0x34, 0x5B, 0x06, 0xA7, 0x4B, 0x5D, 0xF1, 0xA1, 0xDB, 0xA9, 0xDD, 0xE9, 0xE5, 0x32, 0xB1, 0xE5,
- 0x0B, 0x35, 0x4D, 0xEA, 0xF2, 0x47, 0xBC, 0x8C, 0x8E, 0x4C, 0x75, 0xFA, 0xB0, 0x70, 0xCC, 0x6E,
- 0x4D, 0x7E, 0x2F, 0x0A, 0xBD, 0xA7, 0xD0, 0xE7, 0xF6, 0x9D, 0x6E, 0xA7, 0x25, 0x32, 0x68, 0xFD,
- 0xCD, 0x9E, 0xA7, 0xC9, 0xF1, 0xF9, 0xCC, 0x3E, 0x19, 0xA7, 0x30, 0xD7, 0x2E, 0x67, 0x99, 0x64,
- 0xA5, 0x5F, 0x2E, 0xAF, 0xDB, 0xEB, 0x27, 0xCB, 0xA8, 0x5B, 0xF6, 0x45, 0x6C, 0xBD, 0x3C, 0x3C,
- 0xA4, 0xE5, 0xDB, 0x69, 0xC3, 0xFA, 0xE3, 0xDF, 0xDB, 0x41, 0x20, 0xA4, 0x91, 0x20, 0xA4, 0xF4,
- 0xAF, 0x92, 0x18, 0x12, 0x0A, 0x43, 0x49, 0x26, 0x5D, 0x2E, 0x6C, 0x78, 0xAB, 0x9A, 0xF8, 0xED,
- 0x5C, 0x77, 0xFE, 0x9B, 0x27, 0x27, 0xD2, 0x4A, 0x85, 0x66, 0xDF, 0x55, 0x67, 0x7E, 0x7B, 0x46,
- 0x48, 0x69, 0x07, 0x6D, 0xDE, 0x90, 0xA8, 0x60, 0x48, 0xC9, 0x0D, 0x20, 0xA4, 0x2A, 0x18, 0x12,
- 0x0A, 0x49, 0x7D, 0xDD, 0xDA, 0x36, 0x2A, 0xED, 0xE3, 0xB7, 0x28, 0x09, 0x26, 0xA2, 0x8D, 0x23,
- 0x24, 0x34, 0x82, 0x91, 0x54, 0x34, 0x69, 0x19, 0x24, 0x89, 0x01, 0x22, 0xA8, 0x61, 0x16, 0xB6,
- 0x13, 0x92, 0x3B, 0x93, 0xA3, 0xE1, 0xD9, 0xAB, 0x97, 0x01, 0x7A, 0x00, 0xF4, 0xB0, 0x77, 0x33,
- 0x9D, 0x49, 0x36, 0x97, 0x55, 0x97, 0x49, 0x97, 0xB7, 0x8F, 0x64, 0x79, 0x35, 0x7A, 0x24, 0x8C,
- 0xF1, 0xD9, 0xD5, 0xD5, 0xFE, 0x6E, 0x63, 0x8F, 0x2D, 0xBE, 0xAE, 0x83, 0x35, 0x94, 0x65, 0x0C,
- 0xAE, 0x41, 0x7B, 0x36, 0xB1, 0xBF, 0x83, 0xB4, 0x90, 0xE3, 0x3A, 0x4B, 0x53, 0x7C, 0x98, 0x72,
- 0x96, 0xEF, 0x0D, 0x93, 0xE7, 0xB9, 0xFA, 0x4A, 0x7A, 0x9E, 0x2A, 0x58, 0x4D, 0x3E, 0x12, 0x9F,
- 0xFB, 0x59, 0xDD, 0xF8, 0x1D, 0x3F, 0x59, 0x91, 0x8B, 0xFC, 0xBD, 0x0E, 0x4E, 0x6E, 0x34, 0xD9,
- 0x95, 0x1E, 0x5C, 0x77, 0xBA, 0xDA, 0xEB, 0xB7, 0x8D, 0x9F, 0xBB, 0x20, 0x6B, 0xA6, 0xAB, 0xF9,
- 0xF3, 0x0B, 0xE1, 0x51, 0x5F, 0x9F, 0x4F, 0xAC, 0xAF, 0x97, 0x25, 0xF2, 0xDB, 0xB5, 0x92, 0xED,
- 0x9F, 0x15, 0x91, 0xA4, 0xD3, 0xC6, 0xE2, 0x79, 0x45, 0xEA, 0xB7, 0xF8, 0x9D, 0x2D, 0x3F, 0xA7,
- 0x1E, 0x4B, 0xFA, 0xEC, 0x7E, 0xF1, 0x7F, 0xE4, 0x6B, 0x5F, 0xE8, 0xD3, 0x54, 0xF5, 0xB2, 0xFD,
- 0x89, 0x49, 0x20, 0xA4, 0x5E, 0x24, 0xBF, 0x22, 0xDA, 0x78, 0x38, 0xF6, 0xAB, 0x4F, 0x6D, 0xF1,
- 0xE1, 0xC0, 0x1E, 0x1B, 0x3F, 0xBC, 0xD5, 0xD2, 0xFB, 0x6B, 0x93, 0x1A, 0x7B, 0xED, 0x28, 0x87,
- 0x5E, 0xCA, 0x7F, 0xD4, 0xE5, 0x92, 0x0A, 0x49, 0x78, 0xF1, 0x7D, 0x96, 0x98, 0xF3, 0xE7, 0x89,
- 0xA1, 0xBD, 0x1B, 0x49, 0xFC, 0x41, 0xE1, 0x95, 0xD8, 0xCF, 0xA6, 0xD5, 0x0F, 0x8D, 0x6A, 0x27,
- 0xFF, 0x00, 0xD4, 0xD5, 0xC1, 0xFC, 0x40, 0xF6, 0x75, 0x37, 0xB6, 0x7C, 0xF8, 0xDF, 0x0B, 0x61,
- 0x5F, 0xD3, 0x79, 0xE4, 0x4C, 0x14, 0x99, 0xBC, 0x18, 0xB3, 0xFC, 0xB9, 0x3E, 0xEF, 0x73, 0xC3,
- 0xC6, 0x30, 0xF1, 0x8E, 0x15, 0x93, 0x37, 0x09, 0xCA, 0x8D, 0xAA, 0x95, 0xC9, 0x6A, 0x73, 0xAB,
- 0xCC, 0xDF, 0x67, 0xC1, 0xE7, 0xB3, 0x3C, 0x3F, 0x5E, 0xEA, 0x6D, 0xAE, 0xCE, 0xEB, 0x6F, 0x7B,
- 0xEA, 0x4B, 0xA6, 0x46, 0xEE, 0xEB, 0x61, 0xD9, 0xDD, 0xF8, 0x4E, 0xB3, 0xF8, 0x7D, 0xC5, 0xDD,
- 0x1F, 0x11, 0xB6, 0x87, 0x2B, 0xFC, 0xBC, 0xDF, 0x9A, 0x83, 0xD3, 0x7D, 0xB9, 0x9F, 0x10, 0xFA,
- 0x46, 0xFE, 0x23, 0xF0, 0x7F, 0xC1, 0xF1, 0x5A, 0xF1, 0x0C, 0x35, 0xFE, 0x4E, 0xAC, 0xFC, 0xC8,
- 0x72, 0x2E, 0x1F, 0x73, 0x67, 0xD4, 0x66, 0x5C, 0x7F, 0xA7, 0x23, 0x8B, 0x5A, 0xEF, 0x1B, 0x8A,
- 0x48, 0x29, 0x24, 0x48, 0x29, 0x3A, 0x68, 0x18, 0x12, 0x28, 0xE9, 0x0A, 0x98, 0xEF, 0x92, 0xC5,
- 0x71, 0xD5, 0xB2, 0xF7, 0x06, 0xF1, 0x54, 0x5A, 0xDA, 0x6B, 0x61, 0xAE, 0x2A, 0xB9, 0x2C, 0x2E,
- 0xC6, 0xD5, 0x47, 0x6E, 0x9D, 0xEC, 0xB8, 0x60, 0xE2, 0x59, 0xEA, 0x7B, 0x9D, 0x16, 0x6C, 0x98,
- 0xFB, 0x9A, 0xE3, 0x53, 0x6F, 0x27, 0x6D, 0xA5, 0xFE, 0x01, 0xC3, 0x4D, 0x2E, 0x13, 0x2E, 0xA3,
- 0x09, 0x92, 0xFD, 0x4B, 0x26, 0xE5, 0x1F, 0x00, 0xFB, 0xCE, 0x97, 0x05, 0xB5, 0x17, 0x40, 0xDD,
- 0xAB, 0xFE, 0xEE, 0xE3, 0xE3, 0x39, 0xB3, 0xE4, 0x47, 0x41, 0x74, 0x86, 0x49, 0xFA, 0x97, 0x09,
- 0xAA, 0xBE, 0xA7, 0x4A, 0x98, 0xF5, 0xDA, 0x5B, 0xE3, 0x53, 0x91, 0x92, 0x8D, 0x77, 0x3C, 0xB7,
- 0xE4, 0xC2, 0xD3, 0x5F, 0x0E, 0x6C, 0x6D, 0x71, 0xAE, 0x3B, 0x57, 0x9E, 0xDD, 0x4D, 0xA7, 0xA0,
- 0x6A, 0xBF, 0x0C, 0xE9, 0x9C, 0x19, 0xA8, 0x64, 0x13, 0x9D, 0x93, 0x77, 0x7F, 0x13, 0xC2, 0x70,
- 0xFC, 0x47, 0x4C, 0xE8, 0xB5, 0x7D, 0xBA, 0xD4, 0xBD, 0x7A, 0x88, 0x6D, 0xB9, 0xDE, 0x7A, 0xCA,
- 0xC7, 0x3F, 0x23, 0x49, 0x69, 0x8E, 0x29, 0xDB, 0x0E, 0x9F, 0x3E, 0x4C, 0x5D, 0xAA, 0x5C, 0x2D,
- 0x55, 0xDB, 0x97, 0x31, 0x94, 0x75, 0xF8, 0x71, 0xAF, 0x6C, 0x0D, 0xAD, 0xD2, 0xC7, 0x5D, 0xFC,
- 0x1F, 0x39, 0x36, 0xA7, 0x17, 0x6B, 0x0F, 0xBC, 0xC3, 0x67, 0x65, 0xDC, 0xF2, 0xFD, 0x98, 0x5A,
- 0x3C, 0xF4, 0xD4, 0xA6, 0x93, 0x5B, 0x45, 0x6E, 0x95, 0xED, 0x1C, 0xAC, 0x2F, 0x47, 0xCE, 0x68,
- 0x7F, 0x63, 0x2E, 0xCF, 0x16, 0x9B, 0x48, 0x35, 0xD0, 0x54, 0x43, 0x7C, 0x54, 0xED, 0x0B, 0xDF,
- 0x6B, 0x6E, 0x87, 0xCB, 0xF4, 0x83, 0xA1, 0xC0, 0xE2, 0xC6, 0xEA, 0xF5, 0x03, 0xEF, 0x15, 0x29,
- 0x57, 0xA9, 0xE6, 0xFF, 0x00, 0x9E, 0x12, 0xE7, 0x12, 0xD2, 0x64, 0xD1, 0x63, 0xC3, 0x41, 0x2F,
- 0x8E, 0xF7, 0x5A, 0xDC, 0xE8, 0x87, 0x20, 0xF5, 0x36, 0xE6, 0x46, 0xE2, 0x23, 0x7F, 0x77, 0x6A,
- 0x1C, 0x83, 0xB2, 0x9E, 0x7D, 0xCF, 0xC7, 0xED, 0x12, 0xC6, 0x26, 0x90, 0x6B, 0x25, 0x77, 0xB0,
- 0x78, 0xB3, 0x5B, 0x57, 0xC2, 0x29, 0x83, 0x85, 0xE3, 0xD5, 0x99, 0xAA, 0xB7, 0xFF, 0x00, 0x68,
- 0xF3, 0x26, 0x4B, 0xE5, 0x0E, 0xF9, 0xB2, 0xDA, 0x9D, 0x96, 0xCA, 0x1D, 0xDB, 0xCE, 0xFC, 0xB1,
- 0xC9, 0x4D, 0x37, 0xCA, 0x71, 0xE5, 0x88, 0x22, 0x55, 0xD2, 0x4B, 0x97, 0x55, 0x9F, 0x2E, 0x0C,
- 0x78, 0x2F, 0x91, 0x71, 0xE3, 0xDF, 0xB3, 0x55, 0xE4, 0x6F, 0xE1, 0x01, 0x20, 0xA4, 0xA4, 0x1F,
- 0x72, 0x32, 0x4E, 0x88, 0x12, 0x3E, 0x2C, 0x96, 0xC3, 0x9A, 0xB9, 0x68, 0x85, 0xA8, 0x88, 0xA0,
- 0x9B, 0x9E, 0x4C, 0x49, 0x19, 0x20, 0x9B, 0xA8, 0x75, 0x0E, 0x4B, 0x39, 0x2F, 0x6B, 0xDB, 0x6D,
- 0xEC, 0xAB, 0xB1, 0xDE, 0xC0, 0x45, 0xE8, 0x43, 0x49, 0xAB, 0xC0, 0x74, 0xBA, 0x6D, 0x4E, 0xAE,
- 0xB4, 0xD4, 0xDC, 0xA5, 0x1E, 0xF5, 0x91, 0x9A, 0x62, 0x6D, 0xB4, 0xC0, 0x72, 0x75, 0x55, 0xA7,
- 0x12, 0xB6, 0x3E, 0x17, 0x7D, 0x0F, 0xB9, 0xC6, 0x96, 0xB0, 0xF6, 0xD3, 0x99, 0xE5, 0xBC, 0xCE,
- 0x49, 0xAD, 0xC7, 0x74, 0xDA, 0x7D, 0x36, 0xB2, 0xD4, 0xD3, 0x5C, 0xB5, 0x07, 0x61, 0x3B, 0xE6,
- 0x52, 0x49, 0xC3, 0x49, 0xB3, 0xED, 0x79, 0xEC, 0x74, 0xC0, 0x90, 0x52, 0x48, 0x90, 0x52, 0x54,
- 0x86, 0x8D, 0x23, 0x24, 0x34, 0x82, 0x91, 0x54, 0x34, 0x69, 0x19, 0x24, 0x89, 0x01, 0x22, 0xA8,
- 0x60, 0x48, 0x29, 0x24, 0x48, 0x29, 0x0A, 0x86, 0x04, 0x82, 0x90, 0xD2, 0x32, 0x49, 0xAC, 0x68,
- 0xD2, 0x32, 0x43, 0x48, 0x29, 0x15, 0x43, 0x02, 0x46, 0x48, 0x69, 0x05, 0x21, 0x31, 0x81, 0x20,
- 0xA4, 0x91, 0x20, 0xA4, 0x55, 0x0C, 0xB0, 0xE5, 0xBE, 0x0C, 0xD4, 0xCD, 0x8A, 0xCD, 0x72, 0x52,
- 0xC5, 0xAA, 0x9D, 0xC8, 0xEE, 0x4F, 0x56, 0x2D, 0x83, 0xDB, 0x0F, 0x63, 0xDC, 0x7F, 0x94, 0xCA,
- 0xD3, 0x73, 0xFF, 0x00, 0x4B, 0x9D, 0x3E, 0x03, 0xF4, 0x67, 0x93, 0xA4, 0xE9, 0x3D, 0x89, 0xE3,
- 0x4F, 0x0B, 0xE2, 0x66, 0x1C, 0x96, 0xFE, 0x46, 0x74, 0x11, 0x79, 0x16, 0xE9, 0xF5, 0xE9, 0xF2,
- 0x9C, 0xDC, 0xFC, 0x7B, 0x3C, 0x8F, 0x65, 0xAE, 0x39, 0x7C, 0xB9, 0x9C, 0xD8, 0xAF, 0x83, 0x35,
- 0xF1, 0x65, 0xAB, 0x4C, 0x94, 0xB3, 0x5B, 0x55, 0xEA, 0x23, 0xB2, 0x48, 0x92, 0x77, 0x1F, 0xC4,
- 0x4E, 0x0C, 0x62, 0xD4, 0xE3, 0xE2, 0xFA, 0x5A, 0xEF, 0x87, 0x51, 0xB1, 0x93, 0x63, 0x91, 0x6D,
- 0xB9, 0x3F, 0x10, 0xDB, 0xD4, 0xF3, 0x9C, 0x4A, 0x4B, 0xE3, 0xCC, 0xCF, 0x11, 0x9B, 0xD3, 0x46,
- 0x93, 0x43, 0x84, 0xE2, 0x4C, 0xB6, 0xD4, 0x77, 0x63, 0x36, 0x37, 0xEF, 0x77, 0xFD, 0xBF, 0x59,
- 0x45, 0x27, 0x51, 0xC3, 0x34, 0x34, 0xAE, 0x97, 0x11, 0x91, 0x2B, 0x52, 0x85, 0xEE, 0xF2, 0xDD,
- 0x5E, 0x61, 0xEB, 0xF6, 0x1F, 0x08, 0x72, 0x3A, 0x2A, 0x17, 0xE5, 0xAD, 0xC2, 0xB5, 0xD8, 0xEF,
- 0x8E, 0xD4, 0x77, 0xA6, 0x43, 0x6B, 0x03, 0xD3, 0x67, 0xBF, 0x7F, 0xDF, 0xCB, 0xE3, 0xA3, 0x5C,
- 0xF9, 0xEB, 0x46, 0xE6, 0xF7, 0x1E, 0x81, 0xCC, 0xDA, 0x53, 0xE1, 0xFA, 0x0C, 0x2E, 0xA6, 0x97,
- 0xD3, 0xE3, 0x1B, 0x2E, 0xED, 0xDF, 0xCC, 0xA7, 0x7E, 0xEF, 0x4F, 0x91, 0x34, 0xF5, 0xBA, 0xDD,
- 0x16, 0x0A, 0x76, 0x73, 0x64, 0xC4, 0x6C, 0x6D, 0xF9, 0x55, 0xFA, 0x03, 0xB4, 0xE7, 0x72, 0x37,
- 0xD1, 0xBB, 0xD1, 0xE1, 0x53, 0x1E, 0xEC, 0x8D, 0x56, 0xA2, 0xF7, 0x76, 0xBD, 0x32, 0x63, 0x7B,
- 0xAD, 0xD9, 0x53, 0xF7, 0x25, 0x52, 0xB9, 0x32, 0x8E, 0x3C, 0xD8, 0xCB, 0xD7, 0xC7, 0x73, 0x6F,
- 0x9F, 0x73, 0x25, 0xCB, 0xC5, 0xF8, 0x35, 0xAC, 0x99, 0x32, 0xD8, 0x37, 0xEA, 0x52, 0xC9, 0xFA,
- 0x49, 0xF4, 0x47, 0x0B, 0xD5, 0x5C, 0xFC, 0x1E, 0xBF, 0x15, 0xEC, 0xF4, 0xA5, 0x9E, 0xC5, 0xBE,
- 0x03, 0xB3, 0x27, 0x27, 0xFF, 0x00, 0x92, 0xCF, 0x90, 0xCB, 0xAA, 0xB6, 0x3E, 0x0D, 0xDA, 0x17,
- 0x02, 0xA5, 0xBA, 0xD6, 0xDD, 0x57, 0xC9, 0xE8, 0xFF, 0x00, 0x9C, 0xE4, 0x7A, 0x3E, 0x0E, 0xBA,
- 0xBD, 0xEF, 0x5E, 0x54, 0xAB, 0x61, 0xDB, 0x98, 0xF4, 0x04, 0xF5, 0x7E, 0x93, 0xAA, 0xD3, 0x69,
- 0x1C, 0x6E, 0xD6, 0x1F, 0x8F, 0x3F, 0xF3, 0xE7, 0x2E, 0x57, 0x41, 0x6A, 0xEA, 0x6D, 0x92, 0xB5,
- 0x1A, 0xE4, 0xA3, 0xB8, 0x75, 0x1D, 0xCD, 0xFE, 0x7D, 0x7E, 0x71, 0x61, 0xC8, 0xEF, 0x4D, 0x03,
- 0xF1, 0xB9, 0x9E, 0x1F, 0x47, 0x2A, 0xF0, 0xFD, 0x65, 0x77, 0xAB, 0xBE, 0xCF, 0x82, 0x3B, 0x89,
- 0xFE, 0x78, 0x90, 0x4E, 0x1C, 0xE1, 0xB6, 0x63, 0x30, 0x25, 0x1E, 0x5E, 0x0A, 0x74, 0x67, 0x4F,
- 0x4E, 0x19, 0x5B, 0x64, 0xAE, 0x5A, 0x9B, 0x5A, 0x9B, 0xED, 0xE8, 0x9C, 0xCF, 0xBC, 0xAF, 0xC4,
- 0xF4, 0x96, 0xCF, 0x5C, 0x78, 0xE8, 0x3B, 0xDC, 0xD9, 0xDB, 0xAB, 0xE5, 0x34, 0x73, 0xDC, 0xF7,
- 0xBF, 0x57, 0x26, 0x90, 0x52, 0x1C, 0x64, 0x9E, 0xC5, 0xF1, 0xC3, 0x46, 0x91, 0x92, 0x1A, 0x41,
- 0x48, 0xAA, 0x18, 0x12, 0x0A, 0x49, 0x12, 0x0A, 0x42, 0xA1, 0x81, 0x22, 0xA5, 0xEF, 0x8D, 0xDE,
- 0xAA, 0x31, 0xD2, 0x32, 0x44, 0x95, 0x8E, 0xA1, 0xBD, 0xAD, 0x77, 0x7B, 0x2A, 0xC0, 0x48, 0x69,
- 0x05, 0x22, 0xD5, 0x5B, 0xDC, 0x58, 0xAD, 0x86, 0xB4, 0xCA, 0x66, 0xC7, 0x6B, 0xD9, 0xAE, 0xD4,
- 0x4B, 0x6C, 0x55, 0xDF, 0xAB, 0xE3, 0xCB, 0x79, 0x0A, 0x43, 0x48, 0x29, 0x16, 0xAA, 0x18, 0x12,
- 0x30, 0x0A, 0x0B, 0xB0, 0xBC, 0xDF, 0x08, 0x69, 0x11, 0x8E, 0xC9, 0xB8, 0x29, 0x13, 0x50, 0xCD,
- 0xA9, 0xC5, 0x4C, 0x59, 0xED, 0x4C, 0x59, 0x4C, 0xB4, 0x1D, 0x8B, 0x82, 0x0F, 0xC1, 0xE7, 0x21,
- 0x48, 0x69, 0xB3, 0xB7, 0x7C, 0x14, 0x8B, 0x55, 0x6F, 0xB8, 0xEB, 0xA5, 0xCD, 0x7C, 0x4E, 0x5A,
- 0xD1, 0x6A, 0x75, 0x76, 0x95, 0xD3, 0x69, 0xB9, 0xA4, 0xE3, 0x99, 0x34, 0xDC, 0x27, 0x2E, 0x84,
- 0xC7, 0x46, 0xB9, 0x36, 0xDD, 0x4E, 0x7C, 0xA6, 0x35, 0xB9, 0xAB, 0xB7, 0x59, 0x02, 0xAB, 0xB2,
- 0xD1, 0xD0, 0x1A, 0xA2, 0x48, 0x29, 0x24, 0x48, 0xC8, 0x9D, 0xD2, 0xA6, 0x34, 0x69, 0x05, 0x21,
- 0xA4, 0x64, 0x93, 0x50, 0xD1, 0xA4, 0x64, 0x86, 0x90, 0x52, 0x2A, 0x86, 0x04, 0x8C, 0x90, 0xD2,
- 0x0A, 0x42, 0x63, 0x02, 0x41, 0xE6, 0x3B, 0x8E, 0xC9, 0x24, 0x48, 0x29, 0x26, 0xB1, 0xBD, 0x2F,
- 0x80, 0x6A, 0x74, 0xDE, 0xD0, 0x70, 0x1C, 0x9C, 0x2F, 0x55, 0x98, 0xCC, 0xB4, 0x2A, 0xBB, 0x6C,
- 0x8E, 0xDC, 0x9D, 0x9E, 0x8E, 0xE6, 0xE7, 0x99, 0x3C, 0xE3, 0x88, 0xE8, 0x73, 0x70, 0xED, 0x76,
- 0x6D, 0x1E, 0xA0, 0xDB, 0x26, 0x2B, 0x22, 0xF7, 0x27, 0x72, 0x79, 0x26, 0xCC, 0xB1, 0xC1, 0xF8,
- 0x8E, 0x4E, 0x17, 0xC4, 0x71, 0xEA, 0xB1, 0xAE, 0xC3, 0xB5, 0xC3, 0xBC, 0xEF, 0x9D, 0x9F, 0xB6,
- 0x3C, 0x3B, 0x1F, 0x1A, 0xE1, 0x38, 0xB8, 0xDE, 0x84, 0x2D, 0x93, 0x1D, 0x3F, 0x98, 0x57, 0x9F,
- 0x6A, 0xBD, 0x7E, 0x9D, 0x7D, 0x37, 0xF2, 0x9C, 0x61, 0xF8, 0x73, 0xD3, 0xE9, 0xB4, 0x1D, 0x97,
- 0x07, 0xC3, 0xF1, 0xD7, 0x26, 0xB6, 0xA5, 0xC3, 0xB2, 0x0A, 0xEF, 0xD3, 0x6D, 0x99, 0xD1, 0x6B,
- 0x35, 0xD8, 0xEA, 0xE3, 0xC7, 0x8F, 0x0B, 0x6B, 0x64, 0xA8, 0xE3, 0xAD, 0x44, 0x5E, 0x5B, 0x0B,
- 0xE4, 0xF7, 0x7F, 0xF7, 0x39, 0xAD, 0x2E, 0x27, 0x3E, 0xAF, 0x16, 0x1A, 0xA8, 0xE5, 0xB9, 0x4E,
- 0x5E, 0x68, 0x4E, 0x93, 0x3E, 0xAE, 0x94, 0xE3, 0x7A, 0x8D, 0x18, 0xF6, 0x4C, 0x49, 0x8F, 0x19,
- 0xBF, 0x80, 0x09, 0xF3, 0xDE, 0x6B, 0xC8, 0x0A, 0x16, 0xDC, 0x21, 0x93, 0xE2, 0xB5, 0xAE, 0x18,
- 0xEA, 0xB0, 0x61, 0xBE, 0x4D, 0x7D, 0xF6, 0xB5, 0xF9, 0x57, 0x1D, 0x4D, 0x8A, 0x1E, 0x67, 0x8F,
- 0xCD, 0x3E, 0x3C, 0xAB, 0x6B, 0x6F, 0x8E, 0xCA, 0x8B, 0x65, 0xEE, 0x07, 0xEF, 0x26, 0xCB, 0xAC,
- 0xCA, 0x57, 0x67, 0x15, 0x2E, 0x9D, 0xE8, 0xEE, 0xCC, 0xFD, 0x4F, 0x10, 0x31, 0x3F, 0x9F, 0x16,
- 0x2A, 0x2F, 0x4E, 0xD2, 0xBF, 0x43, 0x9C, 0x40, 0x9E, 0x8B, 0xD2, 0x5C, 0x31, 0xC4, 0xC4, 0x6A,
- 0x97, 0xC6, 0xD9, 0x76, 0xC6, 0x7C, 0x4D, 0xE2, 0xAE, 0x9F, 0x2D, 0xBA, 0x01, 0xE9, 0x53, 0xF6,
- 0x91, 0x65, 0xE2, 0xC2, 0xBB, 0x36, 0x3C, 0xA9, 0x50, 0x3E, 0x6E, 0xEC, 0x82, 0xDC, 0x48, 0x5E,
- 0x78, 0xAF, 0x6F, 0xF9, 0x64, 0x5F, 0xB4, 0xBD, 0x37, 0x26, 0x79, 0x61, 0xF1, 0xBA, 0x4E, 0x19,
- 0xC4, 0x78, 0xA6, 0x8A, 0xD5, 0xA5, 0x73, 0x39, 0x31, 0x9C, 0x8A, 0x5B, 0x9E, 0xC7, 0x93, 0xD4,
- 0xFD, 0x3C, 0xA7, 0x69, 0xC3, 0xB8, 0xCE, 0x5C, 0x9A, 0x76, 0xCE, 0x3E, 0xDD, 0xA8, 0x6E, 0xD5,
- 0xE5, 0x6D, 0xBB, 0xFC, 0x9E, 0x5F, 0xE1, 0x3C, 0x9E, 0xBC, 0x5E, 0xD4, 0xFE, 0x8D, 0x36, 0x1F,
- 0x8E, 0xEF, 0xDE, 0x6B, 0x70, 0xDF, 0x6C, 0x73, 0xE9, 0x72, 0x1E, 0xFF, 0x00, 0x49, 0x8B, 0x2D,
- 0x0E, 0x9D, 0x8B, 0x35, 0xB7, 0xCF, 0x9E, 0xFF, 0x00, 0x29, 0x8E, 0x7C, 0x7B, 0xEC, 0x3B, 0x96,
- 0x0E, 0x0B, 0xFB, 0x37, 0xB0, 0xE8, 0xB3, 0x61, 0xD5, 0xE3, 0x32, 0x63, 0x1A, 0xDB, 0xBC, 0x4D,
- 0x98, 0xCE, 0x0A, 0x57, 0x2D, 0x96, 0xBB, 0x76, 0x37, 0xD9, 0x7C, 0x5F, 0x09, 0xC8, 0x70, 0x6F,
- 0x6E, 0x78, 0x1E, 0x4C, 0x94, 0xC7, 0x7B, 0x6A, 0x34, 0xD9, 0x2E, 0x95, 0xDA, 0xF8, 0xF7, 0x37,
- 0x5D, 0x8E, 0x62, 0xFE, 0x84, 0xDA, 0xF6, 0xA7, 0xDA, 0x8D, 0x3F, 0x01, 0xD0, 0x57, 0x37, 0xB9,
- 0xB6, 0xA3, 0x2E, 0x57, 0xB3, 0x8E, 0xBD, 0x0D, 0xF6, 0xDF, 0x75, 0x79, 0xED, 0xCB, 0xB8, 0xF9,
- 0x75, 0x98, 0xE9, 0x1D, 0x46, 0x48, 0x3F, 0xAB, 0xD5, 0xC3, 0xC5, 0x14, 0x53, 0xDE, 0xBE, 0x4E,
- 0x64, 0x82, 0x90, 0xE3, 0x24, 0x50, 0x34, 0x69, 0x19, 0x21, 0xA4, 0x14, 0x8A, 0xA1, 0x81, 0x20,
- 0xA4, 0x91, 0x20, 0xA4, 0x2A, 0x18, 0x12, 0x0A, 0x43, 0x48, 0xC9, 0x15, 0x43, 0x46, 0x91, 0x92,
- 0x1A, 0x41, 0x48, 0xAB, 0x18, 0x36, 0xE7, 0x3A, 0x6E, 0x0A, 0xF0, 0xA3, 0x87, 0x66, 0x35, 0x67,
- 0xF3, 0x7B, 0x3F, 0x93, 0xD7, 0x67, 0xFE, 0xBA, 0xCC, 0xED, 0x26, 0x2E, 0x1F, 0x6E, 0x19, 0x9E,
- 0xFA, 0x8C, 0x96, 0x35, 0x26, 0xDE, 0xEE, 0xA1, 0xC9, 0xF1, 0xDE, 0x66, 0x76, 0x93, 0x70, 0x50,
- 0x99, 0x64, 0x79, 0xEC, 0xF5, 0xAB, 0x7C, 0x32, 0xF0, 0xEF, 0xDC, 0x7A, 0xFC, 0x75, 0xC7, 0xAB,
- 0xC9, 0x4A, 0x5A, 0xB6, 0xA8, 0xF2, 0x6A, 0xEE, 0x3E, 0x8C, 0xAA, 0x92, 0xD6, 0x4D, 0x4D, 0xF2,
- 0x69, 0x71, 0xE9, 0xD2, 0x9D, 0x9A, 0x2A, 0x25, 0x41, 0x57, 0xC5, 0xEA, 0xF4, 0x91, 0xE7, 0xC1,
- 0x93, 0x05, 0x8A, 0xE5, 0xAF, 0x65, 0xB5, 0x4B, 0x1C, 0xC7, 0x71, 0x37, 0x25, 0x1D, 0x1A, 0x64,
- 0xBB, 0x76, 0x55, 0xD2, 0x32, 0x43, 0x48, 0x29, 0x08, 0x18, 0xB0, 0x5C, 0xC3, 0xA8, 0xC7, 0x93,
- 0x26, 0x3E, 0xD5, 0x44, 0x5A, 0xA7, 0x24, 0x92, 0x71, 0x4D, 0x56, 0x3D, 0x66, 0xB6, 0xF9, 0xB0,
- 0xE0, 0xAE, 0x1A, 0x5B, 0xA5, 0x2B, 0xD0, 0x92, 0x6B, 0x1D, 0x56, 0x7A, 0x69, 0xF2, 0x67, 0x6B,
- 0x71, 0xA7, 0x67, 0x1F, 0x65, 0x37, 0x01, 0xDB, 0x64, 0x3A, 0x7C, 0x62, 0xE1, 0xB8, 0xF4, 0x4E,
- 0xA5, 0x38, 0x8D, 0xB2, 0x53, 0x19, 0x57, 0x66, 0xA7, 0x3D, 0xF6, 0xE5, 0xF5, 0x99, 0xBA, 0xF7,
- 0x6A, 0x6F, 0xD5, 0x9C, 0x90, 0x52, 0x4D, 0x90, 0xA9, 0x7B, 0x14, 0x56, 0xBB, 0xF2, 0xDF, 0xC2,
- 0x46, 0x92, 0xE0, 0x60, 0x48, 0x29, 0x0D, 0x23, 0x24, 0x9A, 0x86, 0x8D, 0x23, 0x24, 0x34, 0x82,
- 0x91, 0x54, 0x30, 0x24, 0x64, 0x86, 0x90, 0x52, 0x15, 0x0C, 0x09, 0x3A, 0xEF, 0x61, 0xF8, 0xD1,
- 0x83, 0x33, 0xC2, 0xF5, 0x76, 0xFE, 0x4E, 0x6E, 0x54, 0x5E, 0xE7, 0xC3, 0xEF, 0x39, 0x34, 0x8C,
- 0x2D, 0x6C, 0x5A, 0xAA, 0x58, 0x77, 0x11, 0xD9, 0x1F, 0x19, 0x97, 0x27, 0x19, 0x9E, 0x3A, 0xA8,
- 0x74, 0xDD, 0x3F, 0x11, 0xE0, 0x9F, 0xF8, 0x9F, 0x6B, 0x74, 0x36, 0xC7, 0x5D, 0xB4, 0xB9, 0xB5,
- 0x35, 0x69, 0xB7, 0x4A, 0xBD, 0xA3, 0x73, 0xD3, 0x9E, 0xE7, 0x97, 0xA3, 0x30, 0xFD, 0xA2, 0xAB,
- 0x8F, 0xDA, 0x1D, 0x78, 0xEE, 0x3F, 0x88, 0xBA, 0x7A, 0x2A, 0x9F, 0x46, 0x77, 0x1C, 0x1B, 0x88,
- 0x61, 0xF6, 0x83, 0x84, 0xD7, 0x16, 0xA5, 0x3F, 0x13, 0xA7, 0x6A, 0xDD, 0x3A, 0x88, 0xEF, 0x5B,
- 0x9F, 0x13, 0xED, 0xD2, 0x72, 0xDE, 0xDB, 0xE2, 0xAE, 0x3F, 0x69, 0x73, 0xDA, 0x88, 0x99, 0x69,
- 0x5B, 0x20, 0xF4, 0x76, 0x0F, 0xB6, 0xFF, 0x00, 0x19, 0xCD, 0xC3, 0x9B, 0xF9, 0x3C, 0x72, 0xF9,
- 0x6B, 0xD6, 0xB6, 0x58, 0xBF, 0x8E, 0xD6, 0x14, 0xEC, 0x9A, 0x9C, 0xBB, 0x7F, 0xCD, 0xFD, 0x65,
- 0x6B, 0x6F, 0x65, 0x55, 0x57, 0xAA, 0xBB, 0xAC, 0x24, 0x8C, 0x93, 0xAF, 0x53, 0x73, 0x5F, 0x74,
- 0x69, 0x05, 0x24, 0x89, 0x05, 0x22, 0x81, 0x81, 0x22, 0x8E, 0x91, 0x92, 0x2A, 0x86, 0x3C, 0x36,
- 0xEC, 0x66, 0xA5, 0xBC, 0x2C, 0x3F, 0x26, 0x7A, 0x47, 0xF1, 0x44, 0x0E, 0x19, 0xA1, 0x7F, 0xF7,
- 0x3F, 0x4B, 0x4F, 0x34, 0x27, 0xA6, 0xFF, 0x00, 0x14, 0x51, 0xE0, 0xFC, 0x3F, 0xC5, 0xC8, 0x6F,
- 0xF0, 0x2D, 0x30, 0xE4, 0xFF, 0x00, 0xA6, 0x35, 0x1E, 0xAC, 0xD8, 0xA2, 0x8A, 0x7A, 0xF7, 0xCC,
- 0xCA, 0x28, 0xA2, 0x84, 0x4C, 0x90, 0x52, 0x1C, 0x64, 0x8A, 0x06, 0x8D, 0x23, 0x24, 0x34, 0x82,
- 0x91, 0x54, 0x30, 0x24, 0x14, 0x92, 0x24, 0x14, 0x85, 0x43, 0x02, 0x41, 0x48, 0x69, 0x19, 0x22,
- 0xA8, 0x68, 0xD2, 0x32, 0x43, 0x48, 0x29, 0x15, 0x63, 0x4F, 0xD8, 0xD2, 0x3C, 0x3D, 0xB3, 0x7B,
- 0xFE, 0x2B, 0xB7, 0xB1, 0x5D, 0xB9, 0x76, 0x76, 0xEB, 0xBF, 0x8C, 0xA8, 0xEE, 0xF5, 0x77, 0x86,
- 0x90, 0x52, 0x48, 0x6A, 0xAD, 0xEE, 0x04, 0x82, 0x93, 0x5F, 0x13, 0xC3, 0x4E, 0x11, 0x90, 0xC8,
- 0x5F, 0xF1, 0x9B, 0xFE, 0x54, 0xDB, 0x6D, 0xA6, 0x52, 0x44, 0x3B, 0xDF, 0x56, 0x89, 0xAD, 0x77,
- 0x68, 0x70, 0x2C, 0xFA, 0x4D, 0x3E, 0xB6, 0xB7, 0xD7, 0x63, 0xF7, 0x98, 0x8E, 0xB5, 0xF1, 0x83,
- 0xC5, 0x72, 0xF0, 0xFC, 0xD9, 0x73, 0xDF, 0x4F, 0x4B, 0xD6, 0xCD, 0x87, 0x18, 0x27, 0x64, 0x39,
- 0xEE, 0x3D, 0xFB, 0xF4, 0x94, 0xEB, 0x87, 0x25, 0xF1, 0x5F, 0x2D, 0x68, 0xB4, 0xA6, 0xC5, 0x93,
- 0xA1, 0xBF, 0x49, 0x0E, 0xD2, 0x3C, 0x07, 0x2D, 0xEE, 0xB3, 0x3D, 0x63, 0xAA, 0x34, 0x8C, 0x92,
- 0x44, 0x82, 0x8E, 0xDD, 0x39, 0x4A, 0x90, 0xD1, 0xA4, 0x14, 0x92, 0x24, 0x14, 0x85, 0x43, 0x02,
- 0x41, 0x48, 0x69, 0x19, 0x24, 0xD6, 0x34, 0x69, 0x19, 0x21, 0xA4, 0x14, 0x8A, 0xA1, 0x81, 0x23,
- 0x24, 0x34, 0x82, 0x90, 0xA8, 0x6B, 0x1C, 0x33, 0x5F, 0x9B, 0x86, 0x6B, 0xA9, 0xAA, 0xC2, 0xEE,
- 0xD7, 0x95, 0xAA, 0xBC, 0xAF, 0x57, 0xA8, 0xFA, 0xCE, 0xC7, 0x8C, 0xE8, 0x30, 0x7B, 0x47, 0xC2,
- 0xB1, 0xEB, 0x34, 0x28, 0xE7, 0xA5, 0x77, 0xC6, 0xF4, 0x6C, 0x77, 0xD1, 0xF3, 0x1D, 0xF6, 0xF3,
- 0xF5, 0xDE, 0x70, 0xA9, 0x36, 0x3D, 0x9B, 0xE3, 0x2F, 0x0B, 0xD5, 0xFB, 0xBC, 0xCA, 0xE9, 0x72,
- 0xA7, 0x6C, 0xEB, 0xD8, 0x7F, 0xB8, 0xFB, 0xF9, 0x7A, 0x4E, 0x5E, 0x7E, 0x37, 0xAC, 0xF0, 0xF6,
- 0x5A, 0x62, 0xFC, 0x6C, 0x2B, 0x55, 0xAA, 0xD6, 0xC2, 0x23, 0xB2, 0x26, 0xC8, 0xC0, 0x49, 0xDA,
- 0x7B, 0x59, 0xC1, 0x0C, 0xD4, 0x78, 0xAE, 0x86, 0xA3, 0xB9, 0xDA, 0xCD, 0x5A, 0xF3, 0x13, 0xFB,
- 0xCF, 0xBF, 0xCF, 0xC6, 0x71, 0xC9, 0x2F, 0x8F, 0x90, 0xE4, 0xC7, 0x64, 0xD3, 0x4D, 0x1A, 0x41,
- 0x49, 0x63, 0x0E, 0x9F, 0x36, 0xA2, 0xCD, 0x30, 0x61, 0xC9, 0x96, 0xC7, 0x52, 0x95, 0x54, 0xF9,
- 0x45, 0x9F, 0x49, 0xA9, 0xC0, 0x6F, 0x9F, 0x4F, 0x97, 0x19, 0xE3, 0x6A, 0xA1, 0xF5, 0x96, 0xA6,
- 0xF5, 0x51, 0x55, 0x48, 0x29, 0x24, 0x48, 0x29, 0x09, 0x8C, 0xD5, 0x37, 0xB8, 0x78, 0xA1, 0x3D,
- 0x0F, 0xF8, 0xA5, 0x7D, 0xB4, 0xFA, 0x0C, 0x7E, 0x6B, 0xB7, 0xA0, 0xFE, 0xF3, 0x82, 0xD2, 0x53,
- 0xB7, 0xAC, 0xC3, 0x40, 0xDF, 0xB5, 0x92, 0xA7, 0xCD, 0x27, 0x73, 0xFC, 0x4F, 0xF7, 0x6D, 0xF4,
- 0xBB, 0xE4, 0xDB, 0x25, 0x44, 0xAD, 0x36, 0xDF, 0x71, 0x0D, 0xD5, 0xEE, 0xDB, 0x97, 0xCE, 0x73,
- 0x72, 0x7F, 0xD7, 0x1A, 0xCF, 0x54, 0x31, 0x45, 0x14, 0xF6, 0x2F, 0x9A, 0x94, 0x51, 0x45, 0x08,
- 0x94, 0x51, 0x45, 0x08, 0x99, 0x20, 0xA4, 0x38, 0xC9, 0x14, 0x0D, 0x1A, 0x46, 0x48, 0x69, 0x05,
- 0x22, 0xA8, 0x60, 0x48, 0x29, 0x24, 0x48, 0x29, 0x0A, 0x86, 0x04, 0x82, 0x90, 0xD2, 0x32, 0x45,
- 0x50, 0xD1, 0xA4, 0x64, 0x86, 0x90, 0x52, 0x2A, 0xC6, 0x04, 0x8C, 0x90, 0xD2, 0x0A, 0x42, 0xA1,
- 0x81, 0xDF, 0x64, 0xDF, 0x93, 0x05, 0x24, 0x89, 0x05, 0x24, 0xEA, 0xA1, 0xA3, 0x48, 0x57, 0xCB,
- 0x92, 0xD8, 0x69, 0x85, 0xB2, 0xE3, 0xA2, 0xB5, 0x3C, 0x17, 0x6D, 0xFF, 0x00, 0x42, 0x24, 0x82,
- 0x91, 0x25, 0x43, 0x02, 0x4D, 0xCE, 0x19, 0xC0, 0xF1, 0x6B, 0x38, 0x5E, 0x7D, 0x55, 0xB3, 0xD2,
- 0x8E, 0x23, 0x72, 0xAB, 0xB2, 0xFA, 0x4C, 0x52, 0xAD, 0xAC, 0x01, 0xCD, 0x76, 0x25, 0xBD, 0x5E,
- 0x0D, 0x6F, 0x0D, 0xB1, 0x83, 0x3E, 0xF8, 0xDB, 0xD4, 0xB6, 0xDB, 0xF5, 0x13, 0x72, 0x67, 0x90,
- 0xBD, 0x0E, 0x9B, 0x5C, 0x10, 0xF6, 0x54, 0x32, 0xD4, 0xAD, 0xDA, 0x8E, 0xFB, 0x3B, 0x48, 0xD2,
- 0x4A, 0xEE, 0xBB, 0xBC, 0xD8, 0xB2, 0x62, 0xC9, 0x8C, 0xAD, 0xAF, 0x4B, 0x54, 0xB9, 0xBD, 0x54,
- 0xD8, 0x4D, 0xF6, 0xDC, 0xF1, 0x37, 0x19, 0x50, 0x34, 0x29, 0x05, 0x21, 0xA4, 0x2B, 0x62, 0xC8,
- 0x63, 0x32, 0x34, 0x4A, 0x2E, 0xC5, 0xB6, 0xE4, 0xB1, 0x35, 0x14, 0x09, 0x19, 0x27, 0x41, 0xC0,
- 0x38, 0x2D, 0xF5, 0x59, 0xA9, 0xA9, 0xD5, 0xD3, 0xB1, 0xA4, 0x1D, 0xD5, 0xE4, 0xDC, 0xF2, 0x3E,
- 0xFD, 0x3D, 0x66, 0xCE, 0xBF, 0x45, 0xC2, 0x31, 0xEA, 0x2D, 0xF8, 0x5D, 0x19, 0x71, 0xE9, 0xDA,
- 0xDD, 0x43, 0xD3, 0x7D, 0xA6, 0x39, 0x73, 0x63, 0x8B, 0xAF, 0x76, 0x81, 0xD6, 0xEE, 0x11, 0x23,
- 0x24, 0xEB, 0x32, 0xF0, 0xED, 0x3E, 0x71, 0x0D, 0x25, 0x36, 0xEE, 0xEC, 0x72, 0x7E, 0x8C, 0xCB,
- 0xD7, 0x70, 0x5B, 0xE2, 0x1B, 0xE0, 0x54, 0xEA, 0xD2, 0xDC, 0x93, 0xD1, 0xEF, 0x8B, 0x1E, 0x6C,
- 0x72, 0x75, 0x05, 0xA1, 0xEC, 0xAF, 0x1C, 0xF7, 0x2D, 0x78, 0x7E, 0xAE, 0xFF, 0x00, 0xCB, 0x5D,
- 0xB1, 0x5D, 0x7A, 0x2F, 0xFB, 0x5F, 0x27, 0xBB, 0xE5, 0xE8, 0x3C, 0x6F, 0xD9, 0x92, 0x9C, 0x43,
- 0x1E, 0x6D, 0x25, 0x53, 0x4B, 0x96, 0xE1, 0x92, 0xB5, 0x3F, 0xD2, 0xDF, 0xAA, 0x79, 0x75, 0xDB,
- 0xC1, 0xE5, 0xE1, 0x39, 0x94, 0x45, 0x11, 0x13, 0xA9, 0x3B, 0xBF, 0x64, 0xF8, 0xA5, 0xF5, 0x3A,
- 0x5F, 0x73, 0xAE, 0x37, 0xB0, 0x35, 0xC7, 0x6B, 0x7F, 0xF9, 0x4D, 0xB9, 0x8F, 0x8A, 0x74, 0xF3,
- 0xF5, 0x19, 0xCF, 0xCD, 0x83, 0xC4, 0xFE, 0x4C, 0x3D, 0x3F, 0x2D, 0x71, 0x77, 0xD5, 0x16, 0x7D,
- 0x76, 0x9F, 0x47, 0xA7, 0x34, 0xFA, 0x6A, 0x53, 0x0E, 0x2A, 0xF2, 0x2B, 0x53, 0x6D, 0xFC, 0xDE,
- 0xF5, 0xF3, 0x98, 0xF9, 0xB8, 0x85, 0x33, 0x2D, 0x5B, 0x0E, 0xFC, 0x83, 0x9C, 0xBF, 0xED, 0x47,
- 0x0A, 0xD5, 0x67, 0xD7, 0xBA, 0xBD, 0x3D, 0x07, 0x05, 0xC0, 0xBF, 0x64, 0xFE, 0x9B, 0x74, 0xE6,
- 0x78, 0x3C, 0xB9, 0xF8, 0xFD, 0x72, 0xCE, 0x1F, 0x8F, 0x4B, 0x41, 0xD4, 0xE6, 0xA6, 0x3B, 0x3D,
- 0x0B, 0x58, 0x1D, 0xBC, 0x8E, 0xAC, 0x5C, 0x6E, 0x09, 0xB1, 0xDB, 0x35, 0x77, 0xAA, 0x9E, 0xAB,
- 0x87, 0x7B, 0xCA, 0xF6, 0xF4, 0xF5, 0xDA, 0xDC, 0xF7, 0xAF, 0x73, 0xE9, 0xE7, 0x32, 0x2D, 0x54,
- 0x51, 0x11, 0x1D, 0x91, 0xEE, 0x9D, 0x25, 0x35, 0x7A, 0x0C, 0x3C, 0xAB, 0xAA, 0xAA, 0xBD, 0x4E,
- 0xCD, 0xB6, 0xFD, 0x3E, 0xB3, 0x3F, 0x8B, 0xE3, 0xA6, 0x54, 0xD6, 0x69, 0xD2, 0xD4, 0x5E, 0xCD,
- 0xDA, 0xF3, 0xD9, 0xEE, 0x5F, 0x05, 0x3F, 0x49, 0xBE, 0x39, 0x3B, 0xD2, 0x4C, 0xAB, 0x70, 0x5C,
- 0x7E, 0xF3, 0x8D, 0xE8, 0x69, 0xB7, 0x5D, 0x46, 0x3D, 0xFD, 0x3B, 0x46, 0xF3, 0xA1, 0xFE, 0x26,
- 0x64, 0xED, 0x71, 0xEC, 0x58, 0xF7, 0xFE, 0x8C, 0x43, 0xF3, 0x53, 0xED, 0x32, 0xBD, 0x93, 0xC5,
- 0xEF, 0x7D, 0xA6, 0xD1, 0x1B, 0x72, 0x2C, 0xD9, 0xF8, 0x0B, 0xF6, 0x96, 0x7D, 0xBD, 0xCB, 0xEF,
- 0x7D, 0xA9, 0xD4, 0x9B, 0xEF, 0xD8, 0x2B, 0x5F, 0xA6, 0xFF, 0x00, 0x79, 0x9E, 0x5D, 0xF3, 0x07,
- 0xF2, 0xA3, 0xD5, 0xAB, 0x14, 0x51, 0x4F, 0x5E, 0xF9, 0xC9, 0x45, 0x14, 0x50, 0x89, 0x45, 0x14,
- 0x50, 0x89, 0x45, 0x14, 0x50, 0x89, 0x92, 0x0A, 0x43, 0x8C, 0x91, 0x40, 0xD1, 0xA4, 0x64, 0x86,
- 0x90, 0x52, 0x2A, 0x86, 0x04, 0x82, 0x92, 0x44, 0x82, 0x90, 0xA8, 0x60, 0x48, 0x29, 0x0D, 0x23,
- 0x24, 0x55, 0x0D, 0x1A, 0x46, 0x48, 0x69, 0x05, 0x22, 0xAC, 0x60, 0x48, 0xC9, 0x0D, 0x20, 0xA4,
- 0x2A, 0x18, 0x12, 0x0A, 0x49, 0x12, 0x0A, 0x49, 0xA8, 0x60, 0xE6, 0x22, 0x3C, 0xC8, 0xF9, 0x72,
- 0xE4, 0xCA, 0x96, 0xC9, 0x76, 0xE8, 0x6C, 0x2B, 0xBF, 0x28, 0x92, 0x0A, 0x45, 0xAA, 0x86, 0x04,
- 0x8D, 0x7B, 0x5A, 0xE0, 0x5A, 0xCA, 0x54, 0xD8, 0x17, 0x7D, 0x8F, 0x02, 0x1A, 0x41, 0x48, 0x92,
- 0xA1, 0xA3, 0x49, 0xD6, 0x70, 0xAE, 0x1F, 0x90, 0xE1, 0xF8, 0x8E, 0x29, 0x6D, 0xF0, 0xD1, 0x6F,
- 0x8B, 0x4D, 0x6E, 0x82, 0xF7, 0xD8, 0xEB, 0xE1, 0xCB, 0xE7, 0xE1, 0x2A, 0x70, 0xBD, 0x27, 0x0E,
- 0xD2, 0xD7, 0x16, 0xB3, 0x57, 0xAA, 0xA5, 0xED, 0x65, 0x71, 0x9B, 0x20, 0x23, 0xD7, 0x99, 0xD4,
- 0xF3, 0x3E, 0x73, 0x4F, 0x2F, 0x11, 0xE1, 0xCE, 0xEB, 0xAD, 0xC6, 0x7A, 0x0A, 0xFD, 0x09, 0xC9,
- 0xCD, 0x9E, 0x4F, 0x58, 0x96, 0xD8, 0x9A, 0x37, 0xB8, 0xB5, 0x7A, 0xB1, 0x76, 0xDF, 0x70, 0x36,
- 0x03, 0x90, 0x79, 0x79, 0x4A, 0x2D, 0xAF, 0x93, 0x9B, 0xD1, 0x76, 0x03, 0xA7, 0x9F, 0xDA, 0x47,
- 0x97, 0x8A, 0x70, 0xCC, 0x7F, 0xD2, 0xE5, 0xCC, 0xF7, 0x76, 0x69, 0xB1, 0xF3, 0x76, 0x7E, 0x92,
- 0x9E, 0x5F, 0x68, 0x2C, 0x1B, 0x69, 0xB4, 0x98, 0xE8, 0x1C, 0x86, 0xEB, 0x77, 0xE9, 0xB1, 0x31,
- 0x38, 0x72, 0x67, 0xBB, 0xA0, 0xD2, 0xD0, 0xEC, 0x1B, 0xD3, 0xE9, 0x0F, 0x3E, 0x98, 0xCB, 0x4D,
- 0xB9, 0x07, 0x9F, 0x30, 0x9C, 0x8D, 0xF8, 0xEF, 0x12, 0xB3, 0xB9, 0xA9, 0x6A, 0x77, 0x15, 0xA5,
- 0x40, 0xFA, 0x49, 0x29, 0xED, 0x1F, 0x12, 0xA1, 0xB5, 0xEF, 0x8F, 0x2F, 0xFC, 0xA8, 0x7D, 0xB6,
- 0x83, 0xFE, 0x5C, 0xC7, 0x63, 0x51, 0x91, 0x58, 0xD6, 0xF0, 0x7D, 0x19, 0x9D, 0xC9, 0x9B, 0x3D,
- 0xB4, 0xF8, 0xDB, 0x07, 0x2A, 0xB6, 0x5D, 0xDD, 0x8E, 0x5D, 0xDF, 0x36, 0x6E, 0xEA, 0x78, 0x67,
- 0x0F, 0xCD, 0x6A, 0xE9, 0xB4, 0xBC, 0x48, 0xC2, 0xD0, 0xD8, 0xAD, 0xB1, 0xA0, 0x6D, 0xD3, 0x99,
- 0xD3, 0x6D, 0xA7, 0x1D, 0xAE, 0xE2, 0x9A, 0xAD, 0x76, 0xC6, 0x6B, 0x85, 0x47, 0x72, 0xB5, 0x36,
- 0x37, 0xFD, 0x66, 0x8F, 0x1C, 0xD7, 0x38, 0xE8, 0xE1, 0xC4, 0xED, 0x7C, 0xF5, 0x2D, 0x74, 0xEA,
- 0x55, 0x37, 0x0F, 0x8F, 0x7F, 0x97, 0xAC, 0xAC, 0xF8, 0xB3, 0x7C, 0x45, 0xAC, 0x4B, 0xB7, 0xD3,
- 0x64, 0xCB, 0x9B, 0x4A, 0xE2, 0xC3, 0x6C, 0x39, 0xEB, 0x5A, 0x83, 0xA8, 0xC5, 0x90, 0xB9, 0x93,
- 0x97, 0x3E, 0x9C, 0xC7, 0xD4, 0xE7, 0x38, 0x4F, 0x68, 0xBD, 0x9F, 0xC9, 0xA2, 0xC9, 0x7D, 0x56,
- 0x9C, 0xB5, 0xF0, 0x2A, 0xDC, 0x77, 0x5A, 0x3E, 0x7D, 0xE9, 0xE7, 0xF3, 0xF1, 0x98, 0xD8, 0x33,
- 0xE6, 0xD3, 0x65, 0x32, 0xE9, 0xF2, 0xDF, 0x16, 0x43, 0xA5, 0xA9, 0x64, 0x7E, 0x64, 0xED, 0x38,
- 0x07, 0xB4, 0xD8, 0x75, 0xF5, 0xAE, 0x8B, 0x8C, 0x25, 0x73, 0xBC, 0xA9, 0x9D, 0x00, 0xBF, 0x93,
- 0xDC, 0x3E, 0x7D, 0x1F, 0x5E, 0xB9, 0xBC, 0x59, 0xF0, 0x3E, 0x58, 0xF6, 0x55, 0xE4, 0x37, 0x04,
- 0x92, 0xD7, 0x0C, 0xD6, 0x1A, 0x3D, 0x4F, 0xF3, 0x6B, 0xEF, 0x34, 0xD9, 0x0E, 0xC6, 0x6C, 0x6F,
- 0x3E, 0xD5, 0x5E, 0xBB, 0x79, 0x9D, 0x47, 0xC6, 0x74, 0xFE, 0xD1, 0xFB, 0x23, 0x93, 0x0B, 0x6D,
- 0x57, 0x0D, 0xA7, 0x6A, 0xAF, 0x3B, 0x62, 0xAF, 0xEB, 0x5F, 0xDB, 0xE5, 0xE1, 0x38, 0xEB, 0x55,
- 0x14, 0x44, 0x47, 0x64, 0x7B, 0xA7, 0x4E, 0x39, 0xE3, 0xCB, 0x8F, 0x51, 0xEA, 0xEB, 0xBD, 0x9A,
- 0xE1, 0x6E, 0x87, 0xDA, 0xEC, 0xB4, 0xDF, 0xB7, 0x8F, 0x16, 0x17, 0x26, 0x2C, 0x9D, 0xD7, 0xA5,
- 0x90, 0x1F, 0x88, 0xBF, 0x11, 0x9C, 0xEF, 0xB4, 0x79, 0x7F, 0x11, 0xED, 0x06, 0xBF, 0x26, 0xFB,
- 0xFF, 0x00, 0x3A, 0xD5, 0x1F, 0x21, 0xD8, 0xFD, 0x27, 0x6B, 0xEC, 0xAE, 0xAB, 0x0E, 0x5E, 0x09,
- 0x8F, 0x55, 0x93, 0xFD, 0x7D, 0x35, 0x1C, 0x17, 0xB3, 0xFD, 0x95, 0x5B, 0x07, 0xC0, 0x7E, 0x93,
- 0xCF, 0x32, 0xDD, 0xCB, 0x92, 0xD9, 0x2D, 0xFD, 0x57, 0x5B, 0x3E, 0xAB, 0xBB, 0x30, 0xE1, 0x5C,
- 0xB9, 0x32, 0x5F, 0x96, 0x8F, 0x41, 0x76, 0x51, 0x45, 0x14, 0xF6, 0x6F, 0x9C, 0x94, 0x51, 0x45,
- 0x08, 0x94, 0x51, 0x45, 0x08, 0x94, 0x51, 0x45, 0x08, 0x94, 0x51, 0x45, 0x08, 0x99, 0x20, 0xA4,
- 0x38, 0xC9, 0x14, 0x0D, 0x1A, 0x46, 0x48, 0x69, 0x05, 0x22, 0xA8, 0x60, 0x48, 0x29, 0x24, 0x48,
- 0x29, 0x0A, 0x86, 0x04, 0x82, 0x90, 0xD2, 0x32, 0x45, 0x50, 0xD1, 0xA4, 0x64, 0x86, 0x90, 0x52,
- 0x2A, 0xC6, 0x04, 0x8C, 0x90, 0xD2, 0x0A, 0x42, 0xA1, 0x81, 0x20, 0xA4, 0x91, 0x20, 0xA4, 0x9A,
- 0x86, 0x8D, 0x23, 0x24, 0x34, 0x82, 0x91, 0x54, 0x30, 0x24, 0x14, 0x92, 0x24, 0x04, 0x8A, 0xA1,
- 0x81, 0x20, 0xA4, 0x91, 0x20, 0xA4, 0x2A, 0x18, 0x12, 0x0A, 0x43, 0x48, 0xC9, 0x26, 0xB1, 0xA3,
- 0x48, 0xF9, 0x6F, 0x7C, 0xB7, 0x6F, 0x77, 0x75, 0x03, 0xE0, 0x1B, 0x1F, 0x42, 0x3A, 0x41, 0x48,
- 0x92, 0xA1, 0x81, 0x23, 0x24, 0x34, 0x82, 0x90, 0xA8, 0x6E, 0x97, 0xD9, 0xEF, 0x6B, 0x33, 0x68,
- 0x8A, 0xE9, 0x75, 0xF6, 0x72, 0x69, 0xFA, 0x17, 0x79, 0xB4, 0x3C, 0x1F, 0x13, 0xEA, 0x79, 0xF4,
- 0x9B, 0x7C, 0x5F, 0x80, 0x70, 0xEE, 0x3B, 0x8B, 0xF1, 0x7A, 0x2C, 0x94, 0xC3, 0xA9, 0xB1, 0xB9,
- 0x7A, 0xF3, 0xA6, 0x4F, 0x5D, 0xBF, 0x5E, 0xBE, 0xB3, 0xCF, 0x92, 0x5D, 0xE1, 0x7C, 0x57, 0x57,
- 0xC3, 0xB2, 0x9F, 0x87, 0xBA, 0xD1, 0x79, 0xE3, 0x5E, 0x4B, 0xE5, 0xE0, 0xCE, 0x4E, 0x4E, 0x04,
- 0x7C, 0xF0, 0x74, 0xDA, 0x19, 0x7F, 0x6E, 0x9F, 0xF0, 0x79, 0xF8, 0x17, 0xB1, 0x9A, 0xAC, 0x7A,
- 0x9A, 0x76, 0x33, 0x64, 0x6F, 0xB8, 0x22, 0x3D, 0xA4, 0xA0, 0x89, 0xD4, 0xD8, 0x19, 0xC1, 0xA4,
- 0xF5, 0xEE, 0x2B, 0xAA, 0xD0, 0xE7, 0xE1, 0xF8, 0x74, 0x1A, 0xFA, 0xD2, 0xDE, 0xF0, 0xD9, 0xAD,
- 0x9E, 0xA8, 0x1B, 0xA3, 0xD7, 0xAA, 0x73, 0x27, 0x2D, 0xC4, 0x3D, 0x95, 0xC5, 0x6D, 0x46, 0x0C,
- 0xDC, 0x22, 0xBD, 0xAC, 0x62, 0x19, 0x31, 0x5A, 0xDB, 0xF4, 0xEF, 0x17, 0xA8, 0xF7, 0x9F, 0x2F,
- 0x03, 0x1F, 0xF3, 0xF3, 0x06, 0xFC, 0xBD, 0xB5, 0xE5, 0xF3, 0x57, 0xFF, 0xD9
-};
-
-const unsigned char jpeg_data1[6603] = {
- 0xFF, 0xD8, 0xFF, 0xE0, 0x00, 0x10, 0x4A, 0x46, 0x49, 0x46, 0x00, 0x01, 0x01, 0x01, 0x00, 0x48,
- 0x00, 0x48, 0x00, 0x00, 0xFF, 0xDB, 0x00, 0x43, 0x00, 0x09, 0x06, 0x06, 0x08, 0x06, 0x05, 0x09,
- 0x08, 0x07, 0x08, 0x0A, 0x09, 0x09, 0x0A, 0x0D, 0x16, 0x0E, 0x0D, 0x0C, 0x0C, 0x0D, 0x1A, 0x13,
- 0x14, 0x10, 0x16, 0x1F, 0x1C, 0x21, 0x20, 0x1F, 0x1C, 0x1E, 0x1E, 0x23, 0x27, 0x32, 0x2A, 0x23,
- 0x25, 0x2F, 0x25, 0x1E, 0x1E, 0x2B, 0x3B, 0x2C, 0x2F, 0x33, 0x35, 0x38, 0x38, 0x38, 0x21, 0x2A,
- 0x3D, 0x41, 0x3C, 0x36, 0x41, 0x32, 0x37, 0x38, 0x35, 0xFF, 0xDB, 0x00, 0x43, 0x01, 0x09, 0x0A,
- 0x0A, 0x0D, 0x0B, 0x0D, 0x19, 0x0E, 0x0E, 0x19, 0x35, 0x24, 0x1E, 0x24, 0x35, 0x35, 0x35, 0x35,
- 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35,
- 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35,
- 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0xFF, 0xC0,
- 0x00, 0x11, 0x08, 0x00, 0xF0, 0x01, 0x40, 0x03, 0x01, 0x22, 0x00, 0x02, 0x11, 0x01, 0x03, 0x11,
- 0x01, 0xFF, 0xC4, 0x00, 0x1B, 0x00, 0x00, 0x02, 0x03, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0x00, 0x01, 0x04, 0x05, 0x06, 0x07, 0xFF, 0xC4,
- 0x00, 0x3B, 0x10, 0x00, 0x02, 0x02, 0x01, 0x02, 0x04, 0x04, 0x03, 0x05, 0x07, 0x03, 0x04, 0x03,
- 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x03, 0x11, 0x04, 0x21, 0x05, 0x12, 0x31, 0x41, 0x06, 0x13,
- 0x51, 0x61, 0x22, 0x71, 0x81, 0x07, 0x14, 0x91, 0xA1, 0xB1, 0x32, 0x33, 0x42, 0x52, 0x82, 0xC1,
- 0xD1, 0x15, 0x23, 0x92, 0x24, 0x43, 0x62, 0xF1, 0x72, 0xA2, 0xF0, 0xFF, 0xC4, 0x00, 0x1A, 0x01,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x01, 0x00, 0x02, 0x03, 0x04, 0x05, 0x06, 0xFF, 0xC4, 0x00, 0x25, 0x11, 0x01, 0x01, 0x01, 0x01,
- 0x00, 0x02, 0x02, 0x02, 0x02, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x11, 0x02,
- 0x03, 0x12, 0x21, 0x31, 0x04, 0x41, 0x13, 0x51, 0x14, 0x22, 0x32, 0x23, 0x42, 0x61, 0xFF, 0xDA,
- 0x00, 0x0C, 0x03, 0x01, 0x00, 0x02, 0x11, 0x03, 0x11, 0x00, 0x3F, 0x00, 0xE0, 0x23, 0x61, 0xA3,
- 0x95, 0xB2, 0x66, 0x62, 0x70, 0xE6, 0x35, 0x0E, 0xF3, 0xF4, 0xAF, 0x03, 0x75, 0x40, 0x11, 0x1A,
- 0x04, 0x4D, 0x07, 0x61, 0x1E, 0x26, 0x0A, 0x11, 0xB4, 0x12, 0x23, 0x00, 0xC8, 0x82, 0xFB, 0x49,
- 0x06, 0x10, 0x38, 0x58, 0xA2, 0xC2, 0x5F, 0x3E, 0xD2, 0x02, 0x27, 0x39, 0x91, 0x40, 0x8B, 0x0D,
- 0xD6, 0x12, 0xB4, 0x91, 0xE8, 0x31, 0x34, 0xD6, 0x33, 0x32, 0x29, 0xDF, 0x13, 0x65, 0x43, 0x68,
- 0x53, 0x16, 0x54, 0x41, 0x0B, 0x86, 0x11, 0x84, 0x88, 0x04, 0xE3, 0x79, 0x92, 0xA3, 0xB9, 0xC0,
- 0x94, 0x56, 0x1A, 0x00, 0x77, 0x90, 0xE3, 0x38, 0x92, 0x02, 0xA6, 0x4E, 0x23, 0x48, 0x00, 0x62,
- 0x45, 0x18, 0xDE, 0x42, 0x64, 0x95, 0x9E, 0x55, 0x80, 0x1B, 0xA9, 0x83, 0x63, 0xE7, 0x61, 0x07,
- 0x3D, 0xA3, 0x80, 0x65, 0xE5, 0xA1, 0x8A, 0x07, 0x26, 0x18, 0x6E, 0x55, 0x8E, 0x21, 0x58, 0xF8,
- 0x18, 0x88, 0x2F, 0x29, 0xDF, 0x26, 0x2C, 0xB6, 0x4C, 0xA4, 0x5A, 0x32, 0xF2, 0xC3, 0x45, 0x4B,
- 0x19, 0x88, 0x3F, 0xCC, 0x93, 0x9F, 0x31, 0x42, 0x10, 0x86, 0x1D, 0x30, 0x36, 0x61, 0x03, 0x16,
- 0x21, 0x89, 0x25, 0xE6, 0x5C, 0x80, 0x4B, 0xC4, 0x0A, 0xA5, 0x62, 0x16, 0x25, 0xE2, 0x40, 0x18,
- 0x93, 0x10, 0x88, 0x93, 0x13, 0x40, 0x24, 0x48, 0x14, 0xC2, 0x02, 0x10, 0x59, 0x20, 0x85, 0x84,
- 0x16, 0x18, 0x48, 0xC5, 0x4F, 0x58, 0x5A, 0x9E, 0x51, 0xD0, 0x73, 0x66, 0x12, 0x6C, 0x64, 0x66,
- 0xDE, 0x45, 0x3B, 0xCE, 0x81, 0xBA, 0x83, 0xF0, 0x88, 0xF5, 0xDC, 0xCC, 0x75, 0xB8, 0x55, 0x8D,
- 0x17, 0x62, 0x66, 0xC2, 0xD2, 0x48, 0x02, 0x26, 0xC6, 0xCC, 0x53, 0x5F, 0xBC, 0x13, 0x70, 0x32,
- 0xC5, 0xA2, 0x32, 0xCF, 0x4C, 0x45, 0x1B, 0x72, 0x64, 0x2F, 0x1C, 0x1A, 0x60, 0x84, 0x1C, 0x09,
- 0x9C, 0xB9, 0xC4, 0x81, 0xCF, 0xAC, 0xB1, 0x6B, 0x62, 0x3E, 0x58, 0x4D, 0xC8, 0xF8, 0x5F, 0x79,
- 0xCA, 0xA9, 0xCF, 0x30, 0x9B, 0x55, 0xCF, 0x28, 0x99, 0xB0, 0xC6, 0x92, 0xE0, 0xC5, 0xB3, 0x0C,
- 0xC5, 0xF3, 0x99, 0x40, 0x96, 0x68, 0x61, 0xD6, 0xA4, 0x3F, 0x0C, 0x98, 0xDE, 0x2C, 0x36, 0x04,
- 0xB0, 0xDD, 0xE1, 0x88, 0xCC, 0xE0, 0x75, 0x82, 0xC7, 0x68, 0xB3, 0x66, 0xFB, 0x18, 0x06, 0xCE,
- 0xD2, 0xC5, 0xAB, 0x27, 0x7C, 0x98, 0x24, 0xED, 0xF3, 0x94, 0x5B, 0x30, 0x79, 0xB7, 0x9A, 0x06,
- 0x2F, 0xAC, 0x8C, 0x64, 0x07, 0x61, 0x28, 0x91, 0x24, 0x5B, 0x4A, 0x02, 0x11, 0x19, 0x93, 0x11,
- 0x01, 0x02, 0x10, 0x12, 0xC0, 0x96, 0x04, 0x8A, 0x80, 0x86, 0x04, 0xB5, 0x42, 0x4C, 0x30, 0xB0,
- 0x4A, 0x02, 0x10, 0x58, 0x41, 0x61, 0x85, 0x82, 0x08, 0x12, 0x62, 0x18, 0x42, 0xC6, 0x34, 0x52,
- 0x7D, 0x20, 0x88, 0x02, 0x42, 0x26, 0x83, 0x50, 0x1F, 0x38, 0x05, 0x3D, 0xA5, 0xA8, 0x9C, 0x48,
- 0x06, 0x63, 0x0A, 0x6F, 0x09, 0x6B, 0x31, 0xD4, 0x58, 0x58, 0xC0, 0x91, 0x82, 0xAC, 0x0F, 0x79,
- 0x64, 0x05, 0x99, 0xD4, 0x00, 0x31, 0x0C, 0x02, 0x65, 0x6D, 0xDE, 0x58, 0x3E, 0x92, 0x2F, 0x20,
- 0x57, 0x78, 0x4A, 0x23, 0x08, 0x18, 0x83, 0x89, 0xD9, 0xCD, 0x01, 0xC4, 0x20, 0xDB, 0x41, 0xC4,
- 0x20, 0x32, 0x24, 0x42, 0x4E, 0xF2, 0x66, 0x53, 0x89, 0x02, 0xC8, 0x2C, 0x1D, 0xE1, 0x66, 0x45,
- 0x5D, 0xE1, 0x05, 0xDE, 0x44, 0x04, 0x6D, 0x28, 0x46, 0x15, 0xC4, 0x84, 0x6C, 0x24, 0x05, 0x56,
- 0x41, 0xCC, 0xD6, 0xAD, 0xB4, 0xC8, 0x83, 0x04, 0x4D, 0x0B, 0x2A, 0xB4, 0xD0, 0x76, 0x96, 0x87,
- 0x1B, 0xC1, 0x03, 0x69, 0x08, 0xDA, 0x65, 0xAD, 0x19, 0xB2, 0x09, 0xB4, 0xE2, 0x01, 0x82, 0xD2,
- 0xC1, 0xA2, 0x36, 0xCA, 0xE7, 0x26, 0x00, 0x04, 0x98, 0x61, 0x62, 0xB5, 0x60, 0x99, 0x63, 0x32,
- 0xC2, 0xC2, 0x0B, 0x0A, 0x90, 0x66, 0x5E, 0xE6, 0x58, 0x58, 0x61, 0x24, 0x40, 0x16, 0x10, 0x58,
- 0xC0, 0x90, 0x82, 0x41, 0x16, 0x12, 0x10, 0x48, 0xC5, 0xAE, 0x30, 0x24, 0xB5, 0x16, 0x12, 0x10,
- 0x48, 0xC0, 0x90, 0xC2, 0xCC, 0xE9, 0x2C, 0x24, 0x35, 0xAC, 0xB1, 0xC0, 0x8C, 0x44, 0x24, 0xE0,
- 0x09, 0xAA, 0x9A, 0x42, 0x8C, 0x99, 0x9B, 0x51, 0x75, 0x69, 0xF0, 0xB9, 0x22, 0x13, 0xA8, 0x1B,
- 0x08, 0xD7, 0x70, 0x06, 0x04, 0x43, 0xB6, 0x4C, 0xC9, 0x2C, 0x88, 0x24, 0x4B, 0x26, 0x50, 0x04,
- 0x99, 0xA8, 0x14, 0x17, 0x26, 0x34, 0x27, 0x2F, 0xCE, 0x45, 0x5C, 0x6F, 0xDE, 0x0B, 0xB6, 0x36,
- 0x12, 0x4B, 0x66, 0x00, 0x6D, 0xD6, 0x28, 0x9D, 0xE4, 0x26, 0x54, 0x52, 0x6E, 0x65, 0xC9, 0x26,
- 0x24, 0x1E, 0x68, 0xA6, 0xD0, 0x79, 0x4C, 0x7E, 0x06, 0xF0, 0x4A, 0xCE, 0xCC, 0x94, 0x14, 0xE6,
- 0x58, 0x5D, 0xA3, 0x39, 0x64, 0xC4, 0x81, 0x4C, 0xB2, 0x05, 0x8D, 0x2B, 0xBC, 0x98, 0x8A, 0x0A,
- 0x2E, 0xF0, 0xF0, 0x24, 0x02, 0x4C, 0x1D, 0xE0, 0x95, 0x8F, 0x8A, 0x53, 0x7A, 0x09, 0x78, 0x3D,
- 0x64, 0x23, 0x79, 0x24, 0x41, 0xF1, 0x66, 0x3D, 0x40, 0x89, 0x03, 0x11, 0x80, 0x91, 0x24, 0x6E,
- 0x70, 0x25, 0x13, 0xB4, 0x00, 0x49, 0x85, 0x82, 0x60, 0x75, 0x59, 0x95, 0x8C, 0xC6, 0x04, 0x30,
- 0xC2, 0x49, 0x16, 0xA9, 0x0C, 0x26, 0xD1, 0xCB, 0x5F, 0xB4, 0x2E, 0x4D, 0xFA, 0x43, 0x51, 0x21,
- 0x0C, 0x30, 0xB1, 0xBC, 0x9D, 0xA5, 0x84, 0xEF, 0x22, 0x58, 0x58, 0x6A, 0x90, 0x82, 0x92, 0x76,
- 0x8E, 0x4A, 0xFB, 0x98, 0x5A, 0x42, 0x13, 0xDA, 0x1A, 0xD7, 0xBC, 0x60, 0x5E, 0xD2, 0xC9, 0x00,
- 0x62, 0x67, 0x50, 0x39, 0x40, 0x93, 0x10, 0xB3, 0x2C, 0x01, 0x04, 0x10, 0x21, 0x05, 0x97, 0x91,
- 0x27, 0x3F, 0x2C, 0x89, 0xF5, 0x28, 0x5D, 0xCC, 0x63, 0xDE, 0x00, 0xC0, 0x98, 0xCD, 0xD9, 0xEF,
- 0x28, 0x36, 0x61, 0x8B, 0x4F, 0x2F, 0xCD, 0xDE, 0x0B, 0x1C, 0x08, 0xB2, 0xE4, 0x41, 0x2C, 0x49,
- 0x96, 0x2D, 0x1E, 0xD9, 0x84, 0x36, 0xDF, 0xBC, 0x58, 0x32, 0xF2, 0x71, 0x11, 0xA2, 0x67, 0xC0,
- 0xC4, 0x59, 0x39, 0x30, 0x82, 0x13, 0xB9, 0x84, 0x12, 0x40, 0xBC, 0x13, 0x20, 0x58, 0xE1, 0x5E,
- 0x7B, 0x43, 0x15, 0xCB, 0x49, 0x21, 0x0C, 0x31, 0x5C, 0x70, 0xAE, 0x5F, 0x28, 0x10, 0xD4, 0xF2,
- 0xDC, 0x87, 0x39, 0x90, 0xA1, 0x9A, 0x79, 0x36, 0x82, 0x52, 0x76, 0xD6, 0x70, 0x8E, 0x4F, 0x69,
- 0x45, 0x63, 0xF9, 0x25, 0x14, 0xC7, 0x69, 0x22, 0x08, 0xDE, 0x4E, 0x58, 0xDE, 0x51, 0x91, 0x2F,
- 0x92, 0x20, 0x9E, 0x59, 0x39, 0x76, 0x8E, 0xE4, 0x90, 0xA0, 0x92, 0x27, 0x96, 0x42, 0xBB, 0xC6,
- 0xF2, 0x4B, 0xE4, 0xDE, 0x48, 0xA0, 0x99, 0x22, 0x18, 0x48, 0xD4, 0xAE, 0x35, 0x6A, 0x86, 0xAC,
- 0x67, 0x09, 0x18, 0x2B, 0xF6, 0x9A, 0x05, 0x5B, 0x81, 0x88, 0xC5, 0xAB, 0x26, 0x1A, 0x49, 0x4A,
- 0xB3, 0x0C, 0x55, 0xBF, 0x49, 0xA4, 0x55, 0xCA, 0xB2, 0x04, 0xDF, 0x18, 0x99, 0xD2, 0x50, 0xAF,
- 0x68, 0x42, 0xBC, 0x0C, 0x91, 0x1D, 0xCA, 0x00, 0x80, 0xE7, 0xB0, 0x86, 0xA2, 0xF9, 0x72, 0x73,
- 0x28, 0x8C, 0x9C, 0x43, 0x27, 0x94, 0x41, 0x03, 0x7C, 0xC5, 0x0D, 0x13, 0xA4, 0x76, 0x30, 0x30,
- 0x3A, 0xC5, 0x8F, 0x84, 0x7B, 0xCA, 0x2F, 0xBF, 0x58, 0x23, 0x0B, 0x00, 0x3A, 0xC5, 0x96, 0x83,
- 0x92, 0xC6, 0x1A, 0x26, 0x4E, 0x4C, 0x92, 0xD7, 0xD6, 0x59, 0x6C, 0x0D, 0xA1, 0x72, 0x80, 0x24,
- 0xE5, 0xEF, 0x02, 0x02, 0x4F, 0xD6, 0x06, 0x0B, 0x18, 0xD1, 0x5E, 0x4E, 0x63, 0x16, 0xA8, 0xEA,
- 0x25, 0x6B, 0x26, 0x18, 0x42, 0x04, 0x78, 0x4C, 0x76, 0x93, 0x93, 0x33, 0x3A, 0x88, 0x29, 0x99,
- 0x61, 0x04, 0x77, 0x24, 0x9C, 0xB2, 0xD0, 0x50, 0x48, 0x41, 0x21, 0xE0, 0x09, 0x0B, 0x01, 0x2D,
- 0x4A, 0x0B, 0x08, 0x27, 0xAF, 0x48, 0x25, 0xC4, 0xAF, 0x32, 0x58, 0xB4, 0xE0, 0x00, 0x93, 0x20,
- 0x44, 0x9B, 0x71, 0x00, 0xDB, 0x2C, 0x5A, 0x79, 0x7F, 0x48, 0x25, 0xE2, 0x0B, 0xED, 0xB9, 0x80,
- 0xD6, 0xFB, 0xC7, 0x06, 0xB2, 0x9A, 0xB6, 0x8B, 0x6A, 0xF1, 0xDA, 0x74, 0x39, 0x36, 0xE9, 0x16,
- 0xF5, 0xE7, 0xB4, 0xD4, 0xAD, 0x30, 0xF2, 0x48, 0x50, 0x4D, 0x26, 0xAD, 0xB6, 0x10, 0x4D, 0x7B,
- 0x47, 0x43, 0x31, 0x49, 0x5C, 0xB3, 0x41, 0x48, 0x05, 0x22, 0x09, 0xE5, 0xDE, 0x42, 0x36, 0x8E,
- 0xE4, 0x82, 0x53, 0x69, 0x02, 0xF1, 0x20, 0x58, 0x65, 0x61, 0x22, 0xEF, 0x24, 0xB4, 0x4D, 0xA3,
- 0x91, 0x36, 0x91, 0x40, 0x8D, 0x03, 0x02, 0x14, 0xAD, 0x6B, 0xCE, 0xF1, 0xC9, 0x58, 0x18, 0x92,
- 0xB5, 0xD8, 0x42, 0x27, 0x13, 0x16, 0x95, 0x30, 0x02, 0x50, 0x12, 0x1D, 0xE4, 0x39, 0x0B, 0x81,
- 0xD6, 0x48, 0x0E, 0xD8, 0x89, 0x24, 0x93, 0x9C, 0xC6, 0x32, 0x13, 0xD6, 0x2C, 0xA1, 0x9A, 0x4A,
- 0x27, 0x98, 0xC3, 0x03, 0x12, 0xD2, 0xA2, 0x4E, 0x71, 0x1B, 0xE5, 0x62, 0x56, 0x82, 0x9A, 0x2C,
- 0x2E, 0x4C, 0xD1, 0xE5, 0x12, 0x63, 0x13, 0x4F, 0xDC, 0xC3, 0x71, 0x10, 0xB5, 0xC6, 0x05, 0x31,
- 0xE2, 0x90, 0x06, 0xF0, 0x85, 0x30, 0xB4, 0xE1, 0x01, 0x72, 0x63, 0x16, 0xA2, 0x77, 0x9A, 0x52,
- 0x91, 0xD4, 0x8D, 0xA3, 0x08, 0x0B, 0x33, 0x7A, 0x38, 0xCA, 0x29, 0xC7, 0x58, 0xC0, 0x80, 0x7C,
- 0xE1, 0x3D, 0x80, 0x44, 0xB5, 0xD8, 0xEF, 0x24, 0x61, 0x50, 0x20, 0xB3, 0x01, 0x12, 0xF7, 0xFB,
- 0xC4, 0xB5, 0xFE, 0xF1, 0xC1, 0xAD, 0x05, 0xC4, 0x03, 0x6E, 0x26, 0x56, 0xBF, 0x1B, 0xE6, 0x2C,
- 0xDA, 0x5F, 0xA6, 0x4F, 0xC8, 0x66, 0x6B, 0xD4, 0x6B, 0x51, 0xBB, 0xDE, 0x01, 0xBA, 0x66, 0x26,
- 0xCE, 0xA5, 0x1F, 0xFE, 0x30, 0x0B, 0x9E, 0x84, 0xEF, 0x35, 0x81, 0xA8, 0xDB, 0xEF, 0x04, 0xDE,
- 0x7B, 0x4C, 0xC5, 0xE5, 0x83, 0x99, 0x62, 0x3F, 0xCD, 0x26, 0x4F, 0x33, 0x1F, 0x38, 0x8E, 0x6C,
- 0x48, 0x5A, 0x38, 0x0D, 0x36, 0x93, 0x07, 0x9B, 0x3D, 0x62, 0xF3, 0x08, 0x12, 0x64, 0x9D, 0xB3,
- 0x48, 0xC4, 0x4B, 0xD1, 0xED, 0x3A, 0x4D, 0x56, 0x0F, 0x48, 0x97, 0x4C, 0x76, 0x9E, 0x69, 0xD3,
- 0xB3, 0x9F, 0xE4, 0xE0, 0x1D, 0xA2, 0xCA, 0x0F, 0x49, 0xD1, 0xF2, 0xB3, 0xDB, 0xAC, 0x43, 0xD1,
- 0x89, 0xB9, 0xD0, 0xC6, 0x12, 0x9E, 0xD1, 0x66, 0xBF, 0x8A, 0x6F, 0x34, 0x0C, 0xFA, 0xC0, 0x7A,
- 0xB0, 0x7A, 0x4D, 0x7B, 0x0C, 0x62, 0x35, 0xE2, 0x09, 0x4C, 0x4D, 0x6D, 0x58, 0xF4, 0x8B, 0x29,
- 0xB9, 0x9A, 0xD0, 0xCA, 0x57, 0x79, 0x14, 0x6F, 0x1A, 0xC9, 0xB9, 0x94, 0x17, 0x7C, 0x44, 0x2D,
- 0x46, 0xE0, 0x46, 0x28, 0xCB, 0x48, 0x8B, 0xDE, 0x1A, 0xAE, 0xF0, 0x46, 0x83, 0xCA, 0xB0, 0x4B,
- 0x64, 0xCB, 0xED, 0x20, 0x52, 0x4F, 0x49, 0x92, 0xB4, 0x1C, 0xC6, 0x3D, 0x68, 0xDB, 0x24, 0x43,
- 0xD3, 0xD0, 0x76, 0x24, 0x47, 0xBA, 0xE0, 0x60, 0x4C, 0x5B, 0xF2, 0x71, 0x89, 0xD0, 0x09, 0x83,
- 0x89, 0xEB, 0xA8, 0xE1, 0x3C, 0x3A, 0xDD, 0x6E, 0xAB, 0x9F, 0xCA, 0xAF, 0x19, 0xE4, 0x5C, 0x93,
- 0x92, 0x00, 0x9D, 0x63, 0x57, 0x31, 0xE9, 0x38, 0xFE, 0x34, 0xD3, 0x06, 0xF0, 0x6E, 0xBF, 0x23,
- 0x21, 0x55, 0x1B, 0xF0, 0x71, 0x1D, 0x32, 0x6D, 0x76, 0x06, 0x98, 0x23, 0x60, 0x1E, 0x65, 0x20,
- 0x15, 0x60, 0x30, 0x08, 0x23, 0x20, 0xFE, 0x12, 0x1A, 0x46, 0x20, 0x78, 0x68, 0xB5, 0xFE, 0x15,
- 0xE1, 0x6F, 0x6B, 0x17, 0xB9, 0x74, 0xA9, 0x55, 0x99, 0xDF, 0x0C, 0xA3, 0xA7, 0xCF, 0x1C, 0xB3,
- 0x79, 0xAB, 0x7C, 0x99, 0xCE, 0x77, 0x6C, 0x36, 0x7C, 0xB1, 0x8A, 0x37, 0xCE, 0x21, 0x1A, 0xC8,
- 0x13, 0x57, 0x26, 0x20, 0xB0, 0x02, 0x6B, 0x46, 0x33, 0x84, 0x24, 0xC3, 0x0B, 0xF8, 0x4B, 0x2E,
- 0x07, 0x48, 0xA7, 0xBF, 0xB0, 0x97, 0xCD, 0x03, 0x77, 0xE5, 0xE9, 0x33, 0xBD, 0xFD, 0x77, 0x82,
- 0xCC, 0x5B, 0x73, 0x12, 0xE7, 0xD7, 0xF0, 0x9A, 0x90, 0x29, 0xEF, 0x31, 0x0F, 0x79, 0x9D, 0x6D,
- 0x07, 0x86, 0x78, 0x8F, 0x12, 0xC3, 0xAD, 0x5E, 0x4D, 0x47, 0xFE, 0xE5, 0xBF, 0x08, 0xFA, 0x0E,
- 0xA6, 0x7A, 0x6E, 0x1D, 0xE0, 0xCE, 0x1D, 0xA2, 0xC3, 0xEA, 0x41, 0xD6, 0x5A, 0x37, 0xF8, 0xF6,
- 0x41, 0xFD, 0x3F, 0xE6, 0x63, 0xBF, 0x3F, 0x8F, 0x8F, 0x8F, 0xBA, 0xD4, 0xF1, 0xF5, 0xD3, 0xC5,
- 0x68, 0x38, 0x6E, 0xBB, 0x8A, 0xBE, 0x34, 0x74, 0x3D, 0x80, 0x75, 0x73, 0xB2, 0x8F, 0xEA, 0x3B,
- 0x4F, 0x4B, 0xA1, 0xF0, 0x12, 0xA8, 0x0F, 0xC4, 0x35, 0x45, 0xDB, 0xF9, 0x28, 0xD8, 0x7F, 0xC8,
- 0xCF, 0x57, 0xCE, 0x88, 0x81, 0x50, 0x2A, 0xAA, 0xEC, 0x00, 0x18, 0x02, 0x66, 0x7D, 0x5D, 0x0F,
- 0x78, 0xA4, 0x9E, 0x66, 0x2A, 0x5B, 0x03, 0x70, 0x40, 0xC7, 0xF9, 0x13, 0xC9, 0xDF, 0xE4, 0xF7,
- 0xD7, 0xD7, 0xC3, 0xBF, 0x3E, 0x29, 0x3E, 0xD9, 0xB4, 0xDE, 0x1F, 0xE1, 0x5A, 0x6D, 0xAA, 0xD1,
- 0xD2, 0x58, 0x6F, 0x97, 0x1C, 0xE4, 0x7E, 0x33, 0x60, 0xA9, 0x50, 0x62, 0xBA, 0xD5, 0x47, 0xA2,
- 0xAE, 0x20, 0x26, 0xAA, 0xB1, 0x96, 0x50, 0xB8, 0x24, 0x8D, 0x86, 0x3A, 0x4F, 0x35, 0xE3, 0xAD,
- 0x5F, 0x1B, 0xD4, 0xE8, 0x6A, 0xD2, 0x70, 0x4D, 0x31, 0x6A, 0x6D, 0x38, 0xD4, 0x59, 0x5B, 0x80,
- 0xF8, 0xFE, 0x51, 0xE8, 0x0F, 0x73, 0x3C, 0xF7, 0xAE, 0xAF, 0xDB, 0xA6, 0x48, 0x7F, 0x13, 0xF1,
- 0x97, 0x00, 0xD0, 0x3B, 0xD7, 0xA8, 0xE2, 0xBA, 0x7E, 0x75, 0x38, 0x2A, 0x84, 0xD8, 0x47, 0xFC,
- 0x73, 0x3C, 0x8F, 0x16, 0xF1, 0xF7, 0x85, 0xEF, 0x62, 0xA6, 0xCB, 0x2D, 0x3D, 0x39, 0x97, 0x4E,
- 0xC3, 0xF3, 0x38, 0x33, 0xBB, 0xC0, 0xBE, 0xCF, 0x38, 0x50, 0xA5, 0x5F, 0x8C, 0xAA, 0xDB, 0x71,
- 0x1F, 0xBA, 0xAC, 0xE1, 0x07, 0xCC, 0xF5, 0x3F, 0xA4, 0xE8, 0x6B, 0xFE, 0xCE, 0xBC, 0x3D, 0x62,
- 0x96, 0xAB, 0x84, 0x68, 0x9B, 0xBF, 0xC2, 0x98, 0x94, 0xEE, 0xCB, 0xF0, 0xB3, 0x5F, 0x36, 0x3E,
- 0x22, 0xE0, 0xF7, 0x5A, 0x06, 0x9F, 0x52, 0xEA, 0x18, 0xE0, 0x0B, 0x50, 0xAE, 0x3E, 0xB3, 0x7E,
- 0x49, 0x1E, 0xD3, 0x77, 0x12, 0xF0, 0x3F, 0x05, 0xA8, 0x90, 0xBC, 0x3A, 0xB4, 0x23, 0xF9, 0x59,
- 0x87, 0xF7, 0x9C, 0xCA, 0x2A, 0x5D, 0x23, 0x7D, 0xD1, 0x79, 0xB9, 0x50, 0x7C, 0x00, 0x9C, 0xED,
- 0xE9, 0xF4, 0x9F, 0x43, 0xC1, 0xE7, 0xB6, 0xFA, 0xF6, 0xF3, 0x79, 0x3C, 0x79, 0xF3, 0x0C, 0x24,
- 0xC8, 0x01, 0x31, 0x82, 0xA2, 0x7A, 0xC6, 0x0A, 0x8F, 0x61, 0x3D, 0xBA, 0xE0, 0x50, 0x4F, 0x58,
- 0x60, 0x66, 0x39, 0x28, 0xCF, 0x68, 0xE4, 0xD3, 0x1F, 0x49, 0x9B, 0x53, 0xD1, 0xB8, 0xC7, 0x68,
- 0x8B, 0x44, 0x57, 0xFA, 0x6F, 0x96, 0x3F, 0xE9, 0x35, 0x57, 0x50, 0x07, 0xF0, 0x96, 0xE7, 0x4F,
- 0xC0, 0xC5, 0x5A, 0x75, 0xF5, 0x0F, 0x8B, 0xC8, 0xBC, 0x7B, 0x7C, 0x06, 0x78, 0x65, 0xB3, 0xEE,
- 0x3D, 0x38, 0x70, 0x18, 0x11, 0x6E, 0x33, 0x33, 0x9D, 0x7B, 0xA7, 0xEF, 0x74, 0xD6, 0xAF, 0xBA,
- 0xFC, 0x58, 0x90, 0x71, 0x2A, 0x18, 0xE0, 0xD9, 0xCA, 0x7D, 0x18, 0x62, 0x6E, 0x77, 0xCF, 0xF6,
- 0x3D, 0x69, 0xC5, 0x3D, 0xA2, 0x9D, 0x0E, 0x77, 0x86, 0xBA, 0x8A, 0xDC, 0x65, 0x19, 0x58, 0x7A,
- 0x83, 0x98, 0x2C, 0xD9, 0x69, 0xB9, 0x77, 0xE9, 0x9A, 0x53, 0x57, 0xD6, 0x21, 0xD3, 0xAC, 0xD9,
- 0x8C, 0x8E, 0x90, 0x4D, 0x59, 0xED, 0xD6, 0x6F, 0x43, 0x09, 0xAF, 0x3D, 0xA5, 0x0A, 0x8E, 0x49,
- 0xC4, 0xDA, 0x6A, 0x23, 0xB4, 0xBF, 0x26, 0x6B, 0xD9, 0x9C, 0x64, 0x15, 0x98, 0x42, 0xB3, 0x99,
- 0xAC, 0x55, 0xB4, 0x25, 0xA7, 0x1B, 0xE2, 0x1E, 0xCB, 0x08, 0x5A, 0x7A, 0x0C, 0x47, 0x55, 0x50,
- 0x04, 0x66, 0x34, 0x57, 0xEB, 0x0C, 0x2E, 0x26, 0x2D, 0x38, 0x21, 0x85, 0x5D, 0x84, 0x10, 0x0B,
- 0x1C, 0x99, 0x64, 0x8E, 0x99, 0x90, 0xBA, 0xAA, 0xF5, 0x81, 0x5E, 0x00, 0xF9, 0x99, 0x87, 0xC4,
- 0x94, 0x0D, 0x47, 0x85, 0x38, 0x9D, 0x3D, 0xDB, 0x4A, 0xF8, 0xFA, 0x0C, 0xCD, 0x5E, 0x68, 0x07,
- 0x24, 0xCC, 0xFC, 0x41, 0xC5, 0xFC, 0x37, 0x53, 0x57, 0x36, 0x05, 0x94, 0xBA, 0xE4, 0x76, 0xCA,
- 0xCB, 0x0C, 0xAE, 0x6F, 0x80, 0xB8, 0x9D, 0x9C, 0x43, 0x84, 0x6B, 0x16, 0xCD, 0x39, 0xAC, 0x51,
- 0x62, 0xD9, 0xCE, 0x0E, 0x43, 0x73, 0x8C, 0x11, 0xF4, 0x01, 0x3F, 0x19, 0xE8, 0x1A, 0xDD, 0xE7,
- 0xCF, 0x3C, 0x0B, 0xC6, 0xB5, 0x0F, 0xE2, 0xAD, 0x26, 0x8A, 0xF2, 0x29, 0xD2, 0xDB, 0x53, 0xE9,
- 0xB9, 0x46, 0xC1, 0xDD, 0xC0, 0xE5, 0x3F, 0xFD, 0x54, 0x4F, 0x66, 0xDA, 0x82, 0xA4, 0x86, 0xD9,
- 0x81, 0xC1, 0xF6, 0x99, 0x9C, 0xFF, 0x00, 0xB5, 0x8D, 0x75, 0xF5, 0x1B, 0x1E, 0xD0, 0x04, 0xCE,
- 0xF6, 0xE4, 0xF5, 0x99, 0x5F, 0x52, 0x58, 0xF5, 0x85, 0xA5, 0xA7, 0x51, 0xAE, 0xB4, 0x57, 0xA5,
- 0xAA, 0xCB, 0x5C, 0xF6, 0x41, 0xD3, 0xFC, 0x7D, 0x67, 0x5F, 0x5C, 0x9B, 0x5C, 0xB4, 0xC6, 0x7C,
- 0xC8, 0x88, 0xD6, 0x38, 0x54, 0x0C, 0xEE, 0xC7, 0x00, 0x01, 0x92, 0x67, 0xA0, 0xE1, 0xFE, 0x0C,
- 0xB0, 0x81, 0x67, 0x11, 0xBF, 0x90, 0x75, 0xF2, 0xEB, 0x39, 0x3F, 0x53, 0xD2, 0x77, 0xE8, 0xA3,
- 0x47, 0xC2, 0xEB, 0x23, 0x4D, 0x52, 0x54, 0x31, 0xBB, 0x75, 0x27, 0xE6, 0x4E, 0xF3, 0xCF, 0xDF,
- 0xE4, 0x73, 0x3F, 0xE7, 0xE5, 0xD7, 0x9F, 0x1D, 0xBF, 0x6F, 0x33, 0xA2, 0xF0, 0x9E, 0xB3, 0x52,
- 0x03, 0x6A, 0x59, 0x74, 0xB5, 0x9D, 0xF7, 0xDD, 0x8F, 0xD3, 0xB4, 0xEF, 0xF0, 0xEE, 0x0D, 0xC3,
- 0x78, 0x78, 0x0F, 0x4D, 0x42, 0xDB, 0x07, 0xFD, 0xDB, 0x3E, 0x23, 0xF4, 0xEC, 0x3E, 0x91, 0x67,
- 0x8D, 0xD3, 0xA8, 0xB1, 0xAB, 0xD3, 0x38, 0xB4, 0xA9, 0x05, 0xC8, 0x38, 0x00, 0x67, 0x7D, 0xFD,
- 0x7D, 0xA7, 0x9E, 0xE3, 0x5E, 0x27, 0xFB, 0x9D, 0xC6, 0xBD, 0x46, 0xAC, 0x54, 0x0B, 0xE1, 0x6A,
- 0xA1, 0x79, 0xAD, 0x6F, 0x5C, 0xF6, 0x5D, 0x99, 0x4E, 0xE4, 0x6D, 0x3C, 0xBD, 0x79, 0x3B, 0xEF,
- 0xE1, 0xD6, 0x71, 0x39, 0x7A, 0xBD, 0x6F, 0x16, 0xD3, 0x68, 0xD4, 0x9D, 0x45, 0xE8, 0x9D, 0xF0,
- 0x4E, 0x4F, 0xE1, 0xF5, 0x13, 0x8F, 0x67, 0x88, 0xED, 0xD4, 0x56, 0x6C, 0xD2, 0x69, 0xCA, 0xD2,
- 0xB9, 0x26, 0xEB, 0xFE, 0x05, 0xC0, 0xEF, 0xFA, 0xCF, 0x1E, 0x38, 0xED, 0x49, 0xA5, 0x2F, 0x46,
- 0x98, 0x8B, 0xC2, 0x23, 0x17, 0xD4, 0xB7, 0x98, 0xF9, 0x21, 0xB3, 0xED, 0x91, 0xE5, 0xAE, 0xFE,
- 0xF3, 0x8F, 0xA9, 0xE2, 0xB6, 0xEA, 0x18, 0x59, 0xA9, 0xD4, 0x5B, 0xA9, 0x2B, 0x43, 0xAA, 0xDA,
- 0x5B, 0x97, 0x63, 0xCF, 0xB1, 0x4F, 0x70, 0x3E, 0x98, 0x9A, 0xE7, 0xC5, 0xFD, 0xAB, 0xD3, 0xD6,
- 0x71, 0x3E, 0x32, 0x8B, 0x60, 0xAF, 0x59, 0xAF, 0xBE, 0xF6, 0x2C, 0xF4, 0xB5, 0x7A, 0x54, 0xC7,
- 0x21, 0x6A, 0xD5, 0x0B, 0x13, 0xD3, 0x62, 0xCC, 0x7E, 0x6C, 0x3D, 0x27, 0x6E, 0x8D, 0x40, 0xA6,
- 0x91, 0x55, 0x7B, 0x25, 0x67, 0x91, 0x40, 0xEC, 0x17, 0x61, 0xFA, 0x4F, 0x9C, 0x3F, 0x10, 0xF3,
- 0x78, 0x95, 0x5A, 0x9D, 0x13, 0xEA, 0x96, 0xEB, 0xB5, 0x4E, 0x52, 0xCA, 0xC6, 0x6B, 0x74, 0x36,
- 0x6E, 0x1B, 0xD3, 0x6D, 0xE7, 0xAA, 0xB3, 0x53, 0x51, 0x66, 0x24, 0x92, 0x09, 0x27, 0x05, 0x89,
- 0x1F, 0x84, 0x3B, 0xE2, 0x4C, 0xC3, 0xCD, 0xAE, 0xD2, 0x6A, 0xC0, 0xA9, 0x70, 0x76, 0xC4, 0xC7,
- 0xAB, 0xE3, 0x37, 0x53, 0x77, 0x97, 0x46, 0x83, 0x51, 0xA9, 0x61, 0xBF, 0x32, 0x95, 0x54, 0x1F,
- 0xD4, 0x4F, 0xE9, 0x39, 0xCD, 0xC4, 0x82, 0x8C, 0x03, 0xB0, 0xED, 0x14, 0xFC, 0x5B, 0x1D, 0xE6,
- 0x31, 0xA7, 0x6E, 0x8E, 0x23, 0x6B, 0x50, 0x8F, 0x75, 0x62, 0xAB, 0x08, 0xCB, 0x56, 0x1F, 0x9B,
- 0x97, 0xEB, 0xDE, 0x35, 0x78, 0xB3, 0x27, 0x46, 0x23, 0xEB, 0x3C, 0xBD, 0xBC, 0x64, 0x28, 0x33,
- 0x9F, 0x7F, 0x1D, 0xB5, 0xB2, 0x2B, 0x1B, 0xCB, 0x13, 0xD6, 0x71, 0x1E, 0x20, 0x9A, 0x8A, 0xC9,
- 0x72, 0x32, 0x3B, 0xF7, 0x9E, 0x27, 0x89, 0x6A, 0x50, 0x71, 0x04, 0x7A, 0xCE, 0x4A, 0x9C, 0x9C,
- 0x74, 0x82, 0xDF, 0x7C, 0xD6, 0xB7, 0xC4, 0xE4, 0x29, 0xEC, 0x26, 0xCD, 0x2F, 0x02, 0x56, 0x5C,
- 0xBA, 0x92, 0x4E, 0xDB, 0xC6, 0x7C, 0x7D, 0x0A, 0xDA, 0xB4, 0xE7, 0xA7, 0x43, 0x1F, 0x56, 0x9B,
- 0x98, 0xF4, 0x9B, 0xE8, 0xD0, 0x05, 0x50, 0x0F, 0x60, 0x04, 0xD7, 0x5E, 0x95, 0x54, 0x74, 0xC4,
- 0xFA, 0x57, 0xC8, 0xF1, 0x63, 0x05, 0x7A, 0x40, 0x3A, 0x88, 0xF1, 0xA5, 0xCF, 0x69, 0xB4, 0x22,
- 0x2C, 0x20, 0xCB, 0x90, 0x06, 0xE4, 0x90, 0x31, 0x31, 0xEF, 0x5A, 0xC6, 0x43, 0x6E, 0x04, 0x4D,
- 0xB6, 0x12, 0x0C, 0x12, 0x7D, 0xE5, 0x11, 0x91, 0x29, 0x1A, 0xB4, 0x87, 0x73, 0x14, 0x4F, 0x31,
- 0xC1, 0x00, 0x8E, 0x9B, 0x8C, 0xCD, 0x06, 0xBC, 0x99, 0x62, 0x91, 0x99, 0xAB, 0x83, 0xE5, 0x8C,
- 0xE8, 0xE8, 0xB3, 0xAD, 0x4A, 0x09, 0xF4, 0xDA, 0x4F, 0xB8, 0xE0, 0x81, 0x5D, 0xD6, 0xA6, 0x3D,
- 0x1F, 0x22, 0x6E, 0x15, 0x08, 0x42, 0xA1, 0x99, 0xCE, 0xF8, 0xF8, 0xBF, 0xA6, 0xA7, 0x5D, 0x30,
- 0x79, 0x1A, 0xD4, 0xDD, 0x35, 0x01, 0x80, 0xEC, 0xCB, 0x99, 0x0D, 0xFA, 0xFA, 0xCF, 0xC5, 0x55,
- 0x6E, 0x3D, 0xB2, 0x0C, 0xE8, 0x10, 0x16, 0x51, 0x6C, 0x0E, 0xB3, 0x3F, 0xC7, 0x7F, 0x54, 0xFB,
- 0xCF, 0xDC, 0x73, 0xCF, 0x11, 0xB5, 0x08, 0xF3, 0x34, 0x8D, 0x8F, 0xFC, 0x5B, 0x30, 0xBF, 0xD5,
- 0xE9, 0x1B, 0x3D, 0x56, 0xAF, 0xF4, 0x64, 0x4D, 0x4C, 0xC0, 0x45, 0x92, 0x8D, 0xD5, 0x54, 0xFC,
- 0xC4, 0xBD, 0x3C, 0x93, 0xEA, 0xAF, 0x6E, 0x3F, 0xA0, 0x0E, 0x2D, 0xA3, 0xD8, 0x1B, 0x79, 0x4F,
- 0xFE, 0x43, 0x11, 0xA3, 0x5F, 0xA7, 0x70, 0x39, 0x2E, 0xAC, 0xFF, 0x00, 0x54, 0x4B, 0x55, 0x41,
- 0xEA, 0x83, 0xE9, 0x33, 0xBE, 0x93, 0x48, 0xE7, 0x74, 0x3F, 0x86, 0x61, 0xFF, 0x00, 0x96, 0x7E,
- 0x8F, 0xFA, 0x5F, 0xDB, 0xA0, 0x2F, 0x0C, 0x36, 0x60, 0x7E, 0x46, 0x51, 0xB8, 0x80, 0x73, 0x39,
- 0x87, 0x87, 0x69, 0x4E, 0xCA, 0xFC, 0xBF, 0x94, 0x11, 0xC3, 0x98, 0x7E, 0xE7, 0x52, 0xC3, 0xE5,
- 0x61, 0x87, 0xF2, 0xF5, 0x3E, 0xF9, 0x5E, 0x9C, 0xDF, 0xAA, 0xE8, 0x9B, 0xC8, 0xDE, 0x29, 0xF5,
- 0x04, 0xF5, 0x33, 0x97, 0xAC, 0x4E, 0x23, 0xA4, 0xA4, 0xD8, 0x9A, 0x86, 0x2A, 0xA3, 0x3F, 0x16,
- 0x08, 0x9D, 0xDF, 0x0C, 0x70, 0xBD, 0x6B, 0x70, 0xCB, 0x78, 0xAF, 0x89, 0x6C, 0xAF, 0x49, 0xA0,
- 0x54, 0xF3, 0x11, 0x4A, 0xE1, 0xD9, 0x7F, 0x99, 0xBD, 0x01, 0xEC, 0x3A, 0x9C, 0xCB, 0xFC, 0x99,
- 0x3E, 0xE2, 0xFE, 0x2B, 0xFD, 0xB0, 0x1B, 0xDB, 0x19, 0xDF, 0x07, 0x6C, 0xF6, 0x82, 0x6E, 0xC9,
- 0xC1, 0x3B, 0x1D, 0x8C, 0xE0, 0xF8, 0x97, 0xED, 0x6F, 0xCE, 0x66, 0xD2, 0x70, 0x7D, 0x3A, 0x2E,
- 0x8A, 0xB2, 0x42, 0xF3, 0xA8, 0xC9, 0xF7, 0xC7, 0x69, 0xC4, 0xD1, 0x7D, 0xA1, 0x3B, 0xDC, 0x13,
- 0x57, 0xA7, 0xAF, 0x94, 0x9C, 0x73, 0x72, 0xFF, 0x00, 0x89, 0xA9, 0xF9, 0x5C, 0x7E, 0xE0, 0xBE,
- 0x1E, 0x8A, 0xE1, 0x5C, 0x17, 0x88, 0x59, 0xC5, 0x86, 0xAE, 0xCD, 0x4A, 0x69, 0x13, 0x86, 0x6A,
- 0xB2, 0x18, 0xA9, 0x77, 0x62, 0x8F, 0x8C, 0xE0, 0x74, 0x1B, 0x11, 0x93, 0xB6, 0xD3, 0xEA, 0xFC,
- 0x43, 0xC3, 0xFA, 0xED, 0x5F, 0x15, 0x67, 0xE1, 0xF4, 0x17, 0xA2, 0xFF, 0x00, 0xF7, 0x03, 0x67,
- 0x0A, 0x99, 0xEA, 0x09, 0xF9, 0xCF, 0x13, 0x47, 0x18, 0xE7, 0xB0, 0xEA, 0x17, 0x87, 0xD4, 0xC6,
- 0xC6, 0x2E, 0xC4, 0x5A, 0x4A, 0xB9, 0x39, 0x3B, 0x8E, 0x87, 0xAE, 0x77, 0x9D, 0xF4, 0xFB, 0x43,
- 0xE2, 0xEA, 0xA1, 0x7C, 0xA0, 0x14, 0x0C, 0x00, 0xBC, 0xA3, 0x1F, 0x94, 0xE5, 0xFC, 0xFD, 0x7B,
- 0x7B, 0x47, 0x5B, 0xC4, 0xB3, 0x1E, 0xAF, 0x87, 0x78, 0x2B, 0x4D, 0x41, 0x0D, 0xC4, 0x75, 0x06,
- 0xFB, 0x06, 0xFE, 0x5D, 0x67, 0x95, 0x47, 0xD7, 0xA9, 0xFC, 0xA7, 0x6A, 0xCD, 0x7F, 0x0E, 0xE0,
- 0xF4, 0x8A, 0x83, 0x53, 0xA6, 0x5E, 0x82, 0xB4, 0x1B, 0x9F, 0xA0, 0xDE, 0x7C, 0xE9, 0xBC, 0x7B,
- 0xC4, 0x6C, 0x52, 0xB6, 0x57, 0x60, 0x07, 0xA9, 0x5E, 0x50, 0x60, 0x51, 0xE3, 0x0F, 0x20, 0xE4,
- 0x69, 0x58, 0x37, 0x5E, 0x63, 0x58, 0x66, 0xFC, 0x67, 0x1E, 0xFA, 0xEB, 0xBF, 0xFA, 0xAD, 0x73,
- 0xCC, 0xE7, 0xE9, 0xEE, 0x6F, 0xE3, 0x5A, 0xDD, 0x4B, 0x01, 0xA1, 0xD2, 0x85, 0xA8, 0xEF, 0xE7,
- 0x5E, 0xDC, 0xBF, 0x82, 0xF5, 0x9C, 0xDB, 0x28, 0x2E, 0xC5, 0xB5, 0xFA, 0xBB, 0x35, 0x4D, 0x92,
- 0x42, 0x9F, 0x85, 0x57, 0xE4, 0x04, 0xE0, 0x8F, 0x1C, 0x2B, 0x37, 0xFB, 0x9C, 0xE3, 0xE7, 0x51,
- 0xFE, 0xD3, 0x55, 0x5E, 0x21, 0xE1, 0xDC, 0x41, 0x02, 0x1B, 0xD1, 0x2C, 0x6D, 0x94, 0x04, 0x60,
- 0x49, 0xFD, 0x26, 0x1A, 0x74, 0x2D, 0xD6, 0xD7, 0xA7, 0x5C, 0x54, 0x81, 0x54, 0x03, 0xB2, 0x80,
- 0x00, 0x9E, 0x3F, 0x5F, 0xC3, 0x9F, 0x88, 0xF1, 0x6D, 0x59, 0xD4, 0xEA, 0xE8, 0x1A, 0x4B, 0xEC,
- 0xF3, 0x82, 0x2A, 0x73, 0x31, 0x1C, 0xAA, 0x9B, 0x93, 0xB6, 0xE1, 0x7B, 0x6E, 0x36, 0x23, 0xA4,
- 0xE8, 0xEA, 0xAD, 0x74, 0xB0, 0xA5, 0x84, 0x15, 0x3D, 0x0F, 0x63, 0x38, 0x6F, 0x67, 0x91, 0x7D,
- 0xAB, 0x41, 0xC2, 0xD7, 0x81, 0xCA, 0x77, 0x03, 0x3F, 0x9E, 0xDE, 0x93, 0x73, 0xE1, 0x9A, 0xD2,
- 0x38, 0x33, 0xA5, 0xF8, 0x1A, 0xA6, 0x3A, 0x70, 0x15, 0x40, 0x7F, 0x89, 0x98, 0x05, 0x1B, 0x93,
- 0xEA, 0x4F, 0x34, 0x75, 0x7A, 0x0D, 0x25, 0x7A, 0x81, 0xA8, 0xF2, 0xF9, 0xEE, 0x00, 0x8E, 0x66,
- 0x39, 0xC6, 0x7A, 0xED, 0xD3, 0x7F, 0xEF, 0x07, 0x4F, 0x76, 0x69, 0x0A, 0x18, 0xB7, 0x28, 0xC7,
- 0x37, 0x2E, 0x33, 0x0F, 0x2D, 0xCD, 0x90, 0x36, 0x3F, 0x94, 0xD5, 0xEA, 0xD1, 0x90, 0x40, 0xA5,
- 0x6B, 0xE5, 0xA2, 0x84, 0x55, 0xE8, 0xAB, 0xB0, 0x02, 0x03, 0xDA, 0xC7, 0xBC, 0x31, 0x43, 0x39,
- 0x07, 0xB8, 0x86, 0x34, 0xBC, 0xDD, 0x47, 0x4F, 0xCA, 0x64, 0xB1, 0xBD, 0xAD, 0xD3, 0x39, 0x80,
- 0x45, 0x8D, 0xD0, 0x1F, 0xAC, 0xE9, 0x0D, 0x1E, 0x0F, 0x48, 0xF4, 0xD2, 0x03, 0xDA, 0x43, 0x5C,
- 0x61, 0xA4, 0x7B, 0x0F, 0xC4, 0x4E, 0x3D, 0xA6, 0xAD, 0x3F, 0x0D, 0x1B, 0x7C, 0x33, 0xAF, 0x56,
- 0x87, 0x3D, 0xA6, 0xFD, 0x37, 0x0E, 0x67, 0x38, 0x54, 0x2C, 0x47, 0xA0, 0x8A, 0xD7, 0x3B, 0x4B,
- 0xC3, 0x82, 0x80, 0x48, 0xCC, 0xE8, 0xD5, 0x52, 0x56, 0x41, 0x38, 0xC8, 0xED, 0x17, 0xC6, 0x5E,
- 0xCE, 0x13, 0x50, 0x23, 0xC9, 0x2B, 0xDC, 0x9B, 0x79, 0x48, 0xFC, 0x76, 0x9C, 0x44, 0xE3, 0x36,
- 0x6A, 0xD8, 0x8A, 0x5B, 0x4D, 0x9F, 0x43, 0x76, 0x4F, 0xE4, 0x26, 0xF8, 0xF5, 0xDD, 0xAC, 0x75,
- 0xBF, 0x51, 0xE8, 0x9B, 0x54, 0x8A, 0x3A, 0xC4, 0xBE, 0xBC, 0x74, 0x06, 0x71, 0x4D, 0x9A, 0x86,
- 0x3B, 0xDD, 0x58, 0xFF, 0x00, 0xE1, 0x5E, 0x7F, 0x53, 0x28, 0x86, 0x6F, 0xDB, 0xB6, 0xC6, 0xF6,
- 0x2D, 0xCB, 0xFA, 0x62, 0x7A, 0xE4, 0xB7, 0xEB, 0x97, 0x0F, 0x89, 0xFB, 0x75, 0x2D, 0xE2, 0x05,
- 0x7A, 0xB0, 0x40, 0x7F, 0x98, 0xE2, 0x5D, 0x1C, 0x5E, 0xBD, 0x39, 0xF3, 0x02, 0xB5, 0xF7, 0x63,
- 0xE1, 0xFE, 0x14, 0x5F, 0x7D, 0xF7, 0x3F, 0x49, 0xCA, 0x54, 0x54, 0xFD, 0x95, 0x00, 0xFA, 0x81,
- 0xBC, 0x20, 0x09, 0x9A, 0xFE, 0x3B, 0xD7, 0xC5, 0x1E, 0xF2, 0x7D, 0x3A, 0x45, 0x86, 0x61, 0x2E,
- 0xE2, 0x29, 0x8F, 0x71, 0x22, 0xBE, 0x0C, 0x70, 0x9C, 0x46, 0xF2, 0xC0, 0x19, 0x83, 0x9C, 0xE0,
- 0xC2, 0x13, 0x24, 0x7B, 0x01, 0x21, 0x7C, 0x41, 0x27, 0x1D, 0xE2, 0xDD, 0xE5, 0x22, 0xD4, 0x7B,
- 0x22, 0x5E, 0xC2, 0x65, 0x3B, 0x6D, 0x12, 0xCD, 0xD6, 0x6E, 0x46, 0x6D, 0x13, 0x3F, 0xBC, 0x02,
- 0xF1, 0x6C, 0xC4, 0x98, 0x24, 0x99, 0xBC, 0x67, 0x4C, 0x2E, 0x4C, 0x10, 0xEA, 0x3F, 0x68, 0x13,
- 0xF2, 0x38, 0x83, 0x8C, 0xCA, 0x22, 0x38, 0xB4, 0x79, 0xA4, 0xF5, 0x16, 0x0F, 0x96, 0xF0, 0x4A,
- 0x50, 0xC7, 0x6B, 0x2C, 0x1F, 0x34, 0xCC, 0xA1, 0x59, 0x68, 0xC1, 0x47, 0xB4, 0xC7, 0xAC, 0x9F,
- 0xBA, 0x7D, 0xBF, 0xF8, 0xDD, 0xC0, 0xB4, 0x54, 0xEA, 0x38, 0x8A, 0x9B, 0x2D, 0xF3, 0x2A, 0xAC,
- 0x17, 0x64, 0x20, 0x8E, 0x6F, 0x40, 0x7D, 0xB3, 0x3C, 0xFF, 0x00, 0xDB, 0x2F, 0x89, 0x6F, 0xFF,
- 0x00, 0x4D, 0x4E, 0x1F, 0x55, 0x85, 0x52, 0xEB, 0x32, 0xF8, 0x3D, 0x40, 0x9D, 0xBD, 0x1D, 0xA7,
- 0x46, 0x6C, 0x60, 0x36, 0x65, 0x02, 0x78, 0x6F, 0xB4, 0x3D, 0x35, 0xBC, 0x4E, 0xAE, 0x74, 0x04,
- 0xB5, 0x67, 0x9C, 0x01, 0xDF, 0xD6, 0x78, 0x3F, 0x22, 0x5F, 0x67, 0xAB, 0xC5, 0x7E, 0x1F, 0x3F,
- 0x47, 0x5E, 0x60, 0x02, 0x86, 0x27, 0xD4, 0xE2, 0x19, 0xB5, 0x19, 0x48, 0x20, 0x01, 0xD2, 0x67,
- 0x5A, 0xD8, 0x6E, 0x37, 0x94, 0x50, 0x8C, 0xEF, 0xBC, 0xF1, 0x3B, 0xBE, 0x83, 0xF6, 0x73, 0x77,
- 0xDF, 0x29, 0xB7, 0x4D, 0x70, 0xE7, 0x55, 0x1F, 0x09, 0x3B, 0xE3, 0x1F, 0xFB, 0x9E, 0xD0, 0xF0,
- 0xCA, 0x4F, 0x44, 0xFC, 0x27, 0x8D, 0xFB, 0x3E, 0xD2, 0x9D, 0x16, 0x91, 0xDA, 0xC6, 0x02, 0xEB,
- 0x17, 0x9F, 0x93, 0x3B, 0x85, 0x3D, 0xF1, 0xE9, 0xB4, 0xF5, 0xDF, 0x79, 0xB0, 0x74, 0x63, 0xF2,
- 0x3B, 0xCE, 0xF3, 0xE9, 0xCE, 0x88, 0xF0, 0xAA, 0x8F, 0x41, 0xF9, 0xC5, 0xB7, 0x09, 0xAF, 0xB6,
- 0x7F, 0x58, 0xC3, 0xAB, 0xBF, 0xC9, 0x7F, 0x2D, 0x54, 0xD8, 0x3F, 0x67, 0x23, 0x63, 0x06, 0xBD,
- 0x4E, 0xB9, 0x80, 0xE7, 0xA2, 0xBC, 0xFA, 0x82, 0x44, 0x53, 0x3D, 0xFA, 0x0A, 0x28, 0xA8, 0xD9,
- 0x75, 0x81, 0x11, 0x7A, 0x93, 0x39, 0x75, 0xEB, 0x14, 0xEB, 0xEA, 0x7A, 0x2A, 0x2B, 0x5D, 0x67,
- 0x20, 0x9F, 0xDA, 0x33, 0xB1, 0x67, 0x0B, 0xD4, 0x6B, 0x9C, 0x35, 0xF9, 0x20, 0x74, 0x50, 0x30,
- 0x04, 0xD7, 0xA7, 0xF0, 0xF9, 0x5C, 0x1E, 0x50, 0x3E, 0x92, 0x5A, 0xE5, 0x3E, 0xA2, 0xED, 0x41,
- 0xC0, 0x5C, 0xE6, 0x3E, 0x8D, 0x23, 0x3E, 0x19, 0xD0, 0x73, 0x74, 0xC8, 0x13, 0xBB, 0x57, 0x06,
- 0x09, 0x8D, 0x80, 0x9B, 0x2B, 0xD0, 0x2A, 0x8E, 0x99, 0x90, 0xD7, 0x06, 0xBD, 0x19, 0xF4, 0x9A,
- 0x13, 0x44, 0x7D, 0x27, 0x51, 0xFE, 0xEB, 0xA7, 0xFD, 0xE5, 0xB5, 0xA9, 0xF4, 0xE6, 0xC9, 0x99,
- 0xAE, 0xE3, 0x3A, 0x6A, 0x94, 0x8A, 0x6B, 0x6B, 0x5B, 0xDC, 0x60, 0x4E, 0x9C, 0xF8, 0xFA, 0xEB,
- 0xEA, 0x33, 0x7B, 0x93, 0xEC, 0xA5, 0xE1, 0x9C, 0xE4, 0x02, 0x6C, 0x03, 0xF9, 0x43, 0x63, 0xF4,
- 0xDE, 0x39, 0x34, 0x15, 0x69, 0xC1, 0x27, 0x92, 0xA0, 0x77, 0x24, 0x9C, 0x66, 0x73, 0x2D, 0xE2,
- 0x1A, 0xAB, 0xD8, 0x93, 0x63, 0x22, 0x9F, 0xE1, 0x4D, 0x80, 0x88, 0xC3, 0x3B, 0x65, 0x89, 0x27,
- 0xDF, 0x79, 0xE8, 0x9F, 0x8D, 0x7F, 0x75, 0xCA, 0xF9, 0xBF, 0xA8, 0xEC, 0xB6, 0xA3, 0x45, 0x50,
- 0xDE, 0xD0, 0xE4, 0x76, 0x41, 0x99, 0xCE, 0xE2, 0x3E, 0x21, 0x5D, 0x0A, 0xE6, 0x8D, 0x13, 0x5A,
- 0x08, 0xD9, 0xDD, 0xF9, 0x57, 0x3E, 0xF8, 0x8A, 0x15, 0xE6, 0x2B, 0x88, 0x54, 0xC3, 0x86, 0xDE,
- 0x40, 0xC9, 0xE4, 0x3B, 0x11, 0x98, 0xF7, 0xE0, 0xE6, 0x73, 0xB2, 0x8E, 0x7C, 0xB6, 0xDC, 0xAE,
- 0xE7, 0x84, 0x35, 0x97, 0x71, 0x6D, 0x1B, 0x6B, 0xF5, 0xDE, 0x52, 0x56, 0x5C, 0xA5, 0x74, 0x54,
- 0xB8, 0xE9, 0xFC, 0x4C, 0x4E, 0xE7, 0xE4, 0x27, 0xA8, 0xAB, 0x88, 0x68, 0xA9, 0xC9, 0xBE, 0xC4,
- 0xAA, 0x94, 0x05, 0x89, 0x3B, 0x0D, 0xA7, 0xCC, 0xFC, 0x2D, 0xC5, 0x8E, 0x92, 0x9B, 0x74, 0x6E,
- 0xD8, 0x19, 0x2E, 0x9F, 0xDF, 0xFC, 0xC6, 0x71, 0xDE, 0x26, 0xD6, 0x68, 0xD9, 0x03, 0x1F, 0x89,
- 0x59, 0x76, 0xF7, 0x13, 0xE7, 0xFC, 0xD7, 0xA9, 0xE1, 0x3C, 0x6D, 0xE3, 0x0D, 0x5F, 0x89, 0xF8,
- 0xDD, 0xB7, 0x2B, 0x0A, 0xB4, 0x6A, 0xC5, 0x68, 0xA1, 0x5B, 0x18, 0x5F, 0xEE, 0x4F, 0x59, 0xE6,
- 0xAB, 0xD7, 0x5D, 0xA3, 0xB4, 0x5B, 0x45, 0xAE, 0x8C, 0xA7, 0x38, 0xE6, 0x99, 0xC9, 0x64, 0xB8,
- 0x8B, 0x07, 0xC4, 0xA7, 0x04, 0x18, 0xBB, 0x1C, 0xB1, 0xC9, 0xEF, 0x39, 0xDB, 0x5B, 0xC7, 0xD7,
- 0x7C, 0x2D, 0xC6, 0x8F, 0x1B, 0xE1, 0x42, 0xCB, 0x3F, 0x7D, 0x5E, 0x03, 0x1F, 0x59, 0xD9, 0x00,
- 0xCF, 0x17, 0xF6, 0x61, 0x4D, 0x8D, 0xA7, 0xD4, 0xB1, 0x52, 0x13, 0x18, 0xCF, 0xAF, 0xFF, 0x00,
- 0xB1, 0x3D, 0xE0, 0xA8, 0x9E, 0xD3, 0xEC, 0x78, 0x3B, 0xBD, 0x78, 0xE5, 0xAF, 0x9F, 0xE5, 0x92,
- 0x75, 0x70, 0x90, 0xB0, 0xC2, 0xC7, 0xAD, 0x1E, 0xB1, 0x8B, 0x48, 0x1D, 0xA7, 0x5B, 0x5C, 0xC9,
- 0xF3, 0x43, 0x0E, 0xBD, 0x65, 0x07, 0xDE, 0x28, 0x03, 0x09, 0x54, 0xE6, 0x18, 0xDE, 0xB4, 0xAD,
- 0x91, 0x81, 0xE2, 0x15, 0x4C, 0x60, 0x53, 0x30, 0x44, 0xCF, 0x05, 0x8E, 0x76, 0x84, 0x44, 0x81,
- 0x24, 0x89, 0x60, 0x4F, 0x48, 0xB7, 0x4D, 0x88, 0x9B, 0x56, 0xBC, 0xF6, 0x94, 0x69, 0xE6, 0x38,
- 0xC4, 0xA5, 0x4C, 0x22, 0xA2, 0x77, 0xC4, 0x82, 0x82, 0x7B, 0x4E, 0x88, 0xA0, 0x74, 0xC4, 0xBF,
- 0x24, 0x47, 0xD8, 0x63, 0x00, 0xD3, 0x98, 0x63, 0x4D, 0x93, 0xD2, 0x6C, 0x15, 0x80, 0x7A, 0x42,
- 0x28, 0x00, 0xE9, 0x0F, 0x65, 0x8C, 0xA2, 0x8F, 0x68, 0x62, 0x98, 0xC2, 0x71, 0x16, 0x6C, 0xC7,
- 0x79, 0x7C, 0xA1, 0x8A, 0x14, 0xA9, 0x0D, 0xB8, 0x23, 0x04, 0x4E, 0x7E, 0xA3, 0x82, 0xD7, 0x69,
- 0x20, 0x9E, 0x65, 0x3E, 0xBD, 0x44, 0xD8, 0x6D, 0x38, 0xDC, 0xC5, 0x9B, 0xB1, 0xDE, 0x63, 0xAF,
- 0x1C, 0xEF, 0xED, 0xAE, 0x7B, 0xF5, 0xFA, 0x79, 0x1E, 0x25, 0xF6, 0x65, 0x5E, 0xAE, 0xE3, 0x6D,
- 0x0E, 0x2A, 0x2C, 0x72, 0x79, 0x58, 0x0C, 0xFD, 0x0C, 0xBE, 0x19, 0xF6, 0x67, 0xA3, 0xD2, 0x5E,
- 0x2C, 0xD7, 0x6A, 0x0D, 0xC5, 0x4E, 0x79, 0x01, 0xC8, 0xFF, 0x00, 0x13, 0xD5, 0x9B, 0xB3, 0xDE,
- 0x0F, 0x39, 0x7D, 0x87, 0x49, 0x89, 0xF8, 0xDC, 0xEE, 0xD6, 0xEF, 0x9A, 0xE6, 0x46, 0x5D, 0x7F,
- 0x02, 0xE1, 0xFA, 0xC3, 0x4D, 0x95, 0xD6, 0x74, 0xBA, 0x9D, 0x38, 0xE5, 0xAB, 0x51, 0x47, 0xC2,
- 0xC0, 0x7A, 0x1E, 0xCC, 0x3D, 0x8C, 0x3D, 0x36, 0x92, 0xF5, 0x60, 0x35, 0x02, 0xB7, 0x03, 0x6F,
- 0x32, 0xA1, 0x80, 0x7E, 0x6A, 0x4E, 0xDF, 0x4C, 0xCD, 0x68, 0x02, 0xEE, 0xC7, 0x79, 0x6F, 0x70,
- 0x03, 0x03, 0xA4, 0xDD, 0xF1, 0x73, 0x59, 0x9D, 0xD8, 0x34, 0xA2, 0x85, 0xDD, 0xAC, 0x03, 0xE9,
- 0x18, 0x75, 0x7A, 0x6A, 0x36, 0x1C, 0xCE, 0x7D, 0x97, 0x1F, 0xAC, 0xC2, 0xF6, 0x96, 0xD8, 0x40,
- 0x1D, 0x73, 0xD4, 0xC2, 0x7E, 0x3F, 0x3F, 0xB5, 0x7C, 0xB5, 0xBC, 0xF1, 0x46, 0xC7, 0xFB, 0x74,
- 0xA2, 0xFC, 0xCE, 0x4C, 0x59, 0xE2, 0xBA, 0x93, 0xB2, 0xF2, 0x0F, 0x92, 0xCC, 0xA0, 0x7A, 0xC2,
- 0x19, 0xED, 0x3A, 0x4F, 0x17, 0x13, 0xF4, 0xC5, 0xEF, 0xAF, 0xEC, 0xE3, 0xAF, 0xD6, 0x1D, 0xCD,
- 0xC4, 0x7B, 0x05, 0x02, 0x67, 0xB6, 0xFB, 0xAD, 0xCF, 0x99, 0x6D, 0x8D, 0xEC, 0x5B, 0x68, 0x41,
- 0x49, 0x84, 0x2A, 0xF5, 0x13, 0x53, 0x9E, 0x67, 0xD4, 0x1E, 0xD6, 0xB2, 0x8A, 0x8B, 0x74, 0x10,
- 0x85, 0x13, 0x60, 0xAB, 0xDA, 0x18, 0xAA, 0x6B, 0xD8, 0x63, 0x18, 0xD3, 0xFA, 0xC6, 0x0A, 0x3D,
- 0xA6, 0xB1, 0x54, 0xB0, 0x98, 0xE9, 0x33, 0xEC, 0xB1, 0x9C, 0x51, 0x2C, 0xD0, 0xAC, 0xA4, 0x15,
- 0xC8, 0x20, 0x83, 0x9E, 0xF3, 0x47, 0x29, 0x93, 0x92, 0x1A, 0x9C, 0x0B, 0x7C, 0x3C, 0x6B, 0xB4,
- 0x3E, 0x9D, 0x8E, 0x01, 0xC8, 0xC7, 0x51, 0x25, 0xFC, 0x21, 0xF5, 0x08, 0x51, 0xD4, 0x80, 0x7B,
- 0xF7, 0x13, 0xD0, 0x84, 0x27, 0xA0, 0x84, 0x11, 0x87, 0x42, 0x7F, 0x59, 0xE5, 0xEB, 0xC1, 0x3F,
- 0xF5, 0xAE, 0xF3, 0xCB, 0x7F, 0x6F, 0x95, 0x78, 0x83, 0xC1, 0x1A, 0xBF, 0x39, 0xAF, 0xD3, 0x56,
- 0x0B, 0xB6, 0xE5, 0x4F, 0x46, 0xF7, 0x06, 0x72, 0x34, 0x1E, 0x02, 0xE3, 0x3A, 0xFD, 0x50, 0x5B,
- 0x34, 0xFE, 0x52, 0x67, 0x77, 0x63, 0xD2, 0x7D, 0xC0, 0x0B, 0x08, 0xC6, 0x70, 0x3D, 0x84, 0x21,
- 0x41, 0x63, 0x93, 0xB9, 0x9C, 0xFF, 0x00, 0xC7, 0x9B, 0xB5, 0xBF, 0xE6, 0xB9, 0xF0, 0xE0, 0xF0,
- 0x2E, 0x03, 0x57, 0x04, 0xE1, 0xA9, 0xA5, 0xA4, 0x64, 0x8D, 0xD9, 0xB1, 0xD4, 0xCE, 0xAA, 0x50,
- 0x4F, 0x41, 0x37, 0x26, 0x9F, 0x1D, 0xA3, 0x56, 0x83, 0xE9, 0x89, 0xE9, 0xF6, 0x9C, 0xCC, 0x8E,
- 0x16, 0x5B, 0x76, 0xB1, 0x2E, 0x98, 0xFA, 0x46, 0xAE, 0x93, 0xD6, 0x6E, 0x4D, 0x39, 0xF4, 0x8D,
- 0x4D, 0x37, 0xAC, 0xCD, 0xF2, 0x35, 0xEA, 0xF3, 0x22, 0xAD, 0xBA, 0x43, 0x5A, 0xBB, 0xC7, 0xF9,
- 0x47, 0xB4, 0x25, 0x43, 0x3A, 0xEB, 0x25, 0x0A, 0xF0, 0x3A, 0x48, 0x13, 0x7C, 0x47, 0x84, 0x96,
- 0x10, 0x66, 0x1A, 0x49, 0x15, 0xEF, 0x18, 0x95, 0x6D, 0xD2, 0x33, 0x00, 0x48, 0x1C, 0x0D, 0xA1,
- 0xB5, 0x2B, 0x93, 0x02, 0x08, 0x00, 0x48, 0xF6, 0x85, 0xEF, 0x10, 0xF7, 0xCA, 0x4A, 0x34, 0xFE,
- 0x60, 0x01, 0x83, 0xE6, 0x01, 0xB6, 0x66, 0x53, 0x7E, 0xDF, 0xA4, 0x59, 0xB8, 0xE7, 0x33, 0x5E,
- 0xA3, 0x5B, 0x79, 0xC0, 0x1E, 0xF0, 0x5A, 0xC0, 0x66, 0x43, 0x69, 0x32, 0x8B, 0xB4, 0x7D, 0x56,
- 0x9E, 0xEE, 0x31, 0x8C, 0xC4, 0x96, 0xC6, 0xE4, 0xC0, 0x2C, 0x4C, 0x02, 0x19, 0xA6, 0xA4, 0x1A,
- 0xB7, 0xB7, 0x3D, 0x22, 0xCB, 0x93, 0x08, 0x55, 0x98, 0x5E, 0x56, 0x26, 0xBE, 0x01, 0x63, 0x30,
- 0x83, 0x60, 0x6D, 0xB4, 0x21, 0x56, 0x61, 0x0A, 0x89, 0xED, 0x2D, 0x45, 0x17, 0x63, 0xB0, 0x83,
- 0x86, 0x33, 0x48, 0xA3, 0xE9, 0x2C, 0x54, 0x04, 0x36, 0x06, 0x70, 0x84, 0xC3, 0x15, 0x76, 0x11,
- 0xD9, 0x55, 0xEA, 0x64, 0xF3, 0x54, 0x74, 0x12, 0xD4, 0x15, 0xA0, 0xF7, 0x8C, 0x14, 0x0E, 0xF0,
- 0x7C, 0xFC, 0x74, 0x90, 0xDC, 0xC7, 0xA4, 0x3E, 0x49, 0x81, 0x00, 0x96, 0x00, 0x8A, 0x04, 0x98,
- 0xC5, 0x04, 0xC1, 0x0C, 0x6F, 0x08, 0x01, 0x29, 0x50, 0x98, 0xE4, 0xA8, 0x98, 0x69, 0x80, 0x03,
- 0x32, 0xC2, 0x67, 0xA0, 0x9A, 0x12, 0x8C, 0x75, 0x11, 0xCB, 0x54, 0xC5, 0xE8, 0xE3, 0x28, 0xA5,
- 0x8F, 0x68, 0xC5, 0xD3, 0x9F, 0x49, 0xA9, 0x6A, 0xF4, 0x19, 0x8C, 0x15, 0x13, 0xED, 0x33, 0x7A,
- 0x6B, 0xD5, 0x94, 0x51, 0xEB, 0x18, 0x28, 0x13, 0x52, 0xD2, 0x23, 0x16, 0x8F, 0x69, 0x8B, 0xDB,
- 0x53, 0x96, 0x55, 0xA0, 0x7A, 0x46, 0xAE, 0x9F, 0xDA, 0x6A, 0x5A, 0x80, 0x86, 0x2B, 0x3E, 0x93,
- 0x17, 0xB6, 0xA7, 0x2C, 0xEB, 0x40, 0x1D, 0xA3, 0x16, 0xAC, 0x76, 0x8F, 0x09, 0x8E, 0xB0, 0xC2,
- 0x0E, 0xC2, 0x62, 0xF4, 0xD6, 0x14, 0x10, 0x7A, 0x43, 0x08, 0x3D, 0x23, 0x45, 0x67, 0xD3, 0x10,
- 0xC2, 0x4C, 0x5E, 0x9A, 0xC7, 0x92, 0x04, 0x77, 0x94, 0x58, 0x0D, 0xE2, 0x0B, 0x98, 0x24, 0x93,
- 0x3D, 0xF8, 0xF3, 0x69, 0xCD, 0x68, 0x06, 0x0F, 0x9E, 0x33, 0x12, 0x50, 0x91, 0xEE, 0x25, 0x8A,
- 0x89, 0x8E, 0x44, 0x27, 0xD4, 0x1E, 0xD0, 0x3C, 0xE6, 0xC7, 0xD2, 0x10, 0xA0, 0xF5, 0x30, 0xBC,
- 0x91, 0x2F, 0x80, 0xCE, 0xEE, 0x5A, 0x01, 0x04, 0xCD, 0x66, 0xA1, 0x28, 0xD6, 0x3A, 0x47, 0x53,
- 0x28, 0x42, 0x44, 0xB1, 0x49, 0x9A, 0x82, 0x89, 0x64, 0x00, 0x32, 0x76, 0x8F, 0xB0, 0xC6, 0x71,
- 0x4E, 0x3A, 0xF5, 0x85, 0xE4, 0x88, 0x66, 0xC5, 0x5D, 0xC9, 0x80, 0x75, 0x20, 0x19, 0x7C, 0xA5,
- 0x8A, 0x06, 0x33, 0x89, 0x46, 0xB0, 0x20, 0x3E, 0xAC, 0x9D, 0x80, 0x89, 0x6B, 0xDC, 0xC6, 0x4A,
- 0x36, 0x1F, 0xCA, 0x3D, 0x65, 0xF2, 0xA0, 0xEA, 0x66, 0x61, 0x63, 0x1E, 0xA7, 0x69, 0x32, 0x4F,
- 0xBC, 0xB1, 0x6B, 0x41, 0x74, 0x59, 0x46, 0xF5, 0x1D, 0x04, 0x46, 0x09, 0x96, 0x14, 0x98, 0xE0,
- 0xD1, 0xB5, 0xA5, 0xBE, 0x50, 0x09, 0x66, 0xE8, 0x61, 0x0A, 0xC9, 0xED, 0x18, 0xB4, 0x93, 0xDA,
- 0x5F, 0x11, 0x10, 0x10, 0x9E, 0xA7, 0x30, 0x85, 0x46, 0x6C, 0x4D, 0x23, 0x37, 0x41, 0x34, 0x26,
- 0x80, 0x9E, 0xA2, 0x66, 0xF5, 0x0C, 0x96, 0xB9, 0xAB, 0x4E, 0x7B, 0x46, 0xA5, 0x07, 0xB8, 0x9D,
- 0x44, 0xD0, 0x7B, 0x47, 0xA6, 0x80, 0x09, 0x8B, 0xE4, 0x8D, 0x4E, 0x1C, 0x94, 0xA3, 0xDA, 0x3D,
- 0x34, 0xF9, 0xED, 0x3A, 0x8B, 0xA4, 0x55, 0x86, 0x34, 0xEA, 0x26, 0x2F, 0x91, 0xAF, 0x47, 0x3D,
- 0x34, 0xF8, 0xED, 0x98, 0xE4, 0xA4, 0xFA, 0x62, 0x6E, 0x5A, 0x57, 0xD2, 0x31, 0x6A, 0x1D, 0x84,
- 0xE7, 0x7B, 0x6A, 0x72, 0xC6, 0x9A, 0x73, 0xE9, 0x1C, 0xBA, 0x69, 0xA8, 0x20, 0x10, 0x80, 0xF4,
- 0x98, 0xBD, 0xD6, 0xFD, 0x59, 0xD6, 0x8C, 0x7B, 0x46, 0x0A, 0x40, 0xF7, 0x8D, 0x02, 0x58, 0xC4,
- 0xCE, 0xD3, 0x80, 0x15, 0x7B, 0x62, 0x18, 0xAC, 0x7C, 0xE1, 0x01, 0xBC, 0x30, 0x26, 0x34, 0xE0,
- 0x45, 0x67, 0xD3, 0x10, 0xC2, 0x0E, 0xF2, 0xC0, 0x30, 0x80, 0x99, 0xB4, 0xA8, 0x28, 0x1D, 0xA1,
- 0x01, 0x2C, 0x2F, 0xAC, 0x21, 0x81, 0x06, 0x94, 0x14, 0x7A, 0x43, 0x0B, 0xED, 0x2B, 0x9C, 0x09,
- 0x39, 0xE0, 0x5E, 0x33, 0xEE, 0xC7, 0xD2, 0x58, 0xA3, 0xD6, 0x30, 0xDC, 0x33, 0xB4, 0x13, 0x69,
- 0x33, 0xE8, 0xFC, 0xBC, 0x9F, 0x01, 0x35, 0x05, 0xEB, 0x04, 0x80, 0xBD, 0x21, 0x17, 0xE6, 0x18,
- 0x26, 0x2C, 0xF2, 0xF7, 0x31, 0x0A, 0x2E, 0x3A, 0x4A, 0xC9, 0x26, 0x0B, 0xD8, 0x89, 0xD3, 0xAC,
- 0x53, 0xDF, 0xB6, 0x06, 0xD3, 0x52, 0x0D, 0x35, 0xAC, 0x0A, 0x77, 0x80, 0x6D, 0x5F, 0xAC, 0xCC,
- 0x49, 0x3B, 0x93, 0x2B, 0x33, 0x53, 0x96, 0x74, 0xF3, 0x76, 0x3A, 0x44, 0xBD, 0xAC, 0xDD, 0x4C,
- 0xAC, 0xCA, 0x2A, 0x49, 0xF7, 0x9A, 0xC1, 0xA1, 0x2D, 0x9E, 0xF2, 0x62, 0x17, 0x96, 0x44, 0x21,
- 0x5F, 0xAC, 0x50, 0x40, 0x12, 0x04, 0x06, 0x34, 0x56, 0x23, 0x16, 0xA1, 0xD6, 0x16, 0xA0, 0x2D,
- 0x00, 0xC6, 0x2E, 0x9B, 0x3D, 0x04, 0x6A, 0x26, 0xF3, 0x55, 0x48, 0x00, 0x13, 0x9D, 0xEB, 0x1A,
- 0x91, 0x91, 0x74, 0x79, 0xED, 0x1C, 0x9A, 0x01, 0xDC, 0x4D, 0xC8, 0x83, 0x1D, 0xA1, 0x80, 0xA3,
- 0xA9, 0x9C, 0xEF, 0x75, 0xAF, 0x56, 0x44, 0xD1, 0x01, 0xD4, 0x47, 0x26, 0x95, 0x57, 0xB6, 0x63,
- 0x81, 0x58, 0x41, 0xF1, 0xDA, 0x62, 0xF5, 0x5A, 0xC8, 0xA5, 0xAB, 0x1D, 0x06, 0x21, 0x85, 0xC4,
- 0x81, 0x98, 0xF4, 0x10, 0xC2, 0x39, 0xEA, 0x26, 0x75, 0xA5, 0x0C, 0xF6, 0x84, 0x06, 0x7A, 0x99,
- 0x62, 0xB6, 0xF4, 0x84, 0x2A, 0x63, 0xDE, 0x1A, 0x54, 0x00, 0x1D, 0xE1, 0x2A, 0x12, 0x76, 0x1F,
- 0x58, 0x4B, 0x4E, 0xFB, 0xC7, 0x2A, 0x01, 0x31, 0x6B, 0x58, 0x14, 0xAF, 0x1D, 0x63, 0x02, 0x09,
- 0x02, 0xC2, 0x08, 0x66, 0x35, 0xAC, 0x0E, 0x04, 0x98, 0x31, 0x81, 0x25, 0x84, 0x86, 0xAC, 0x27,
- 0x94, 0x98, 0x41, 0x23, 0x42, 0xE2, 0x5E, 0x25, 0xAB, 0x00, 0x10, 0x08, 0x40, 0x62, 0x5E, 0x25,
- 0x85, 0xCC, 0x34, 0xAB, 0x20, 0x49, 0xCF, 0x08, 0x54, 0x61, 0x0A, 0xA0, 0x8B, 0xC9, 0x32, 0xC0,
- 0x31, 0xA2, 0xB9, 0x61, 0x00, 0x86, 0x9C, 0x28, 0x08, 0x41, 0x7D, 0xA3, 0x42, 0xE3, 0xB4, 0x20,
- 0x3D, 0xA1, 0xA7, 0x1E, 0x0D, 0x9B, 0x1D, 0x62, 0xCB, 0x9E, 0xD1, 0x85, 0x33, 0xD4, 0xCA, 0xE4,
- 0x03, 0xDC, 0x4F, 0xAA, 0xF1, 0x14, 0x59, 0x8F, 0x78, 0x3F, 0x11, 0xEA, 0x63, 0x88, 0x41, 0x00,
- 0x95, 0xED, 0x11, 0x4A, 0x2B, 0x9F, 0x78, 0x25, 0x36, 0x8C, 0x27, 0x7D, 0x86, 0x65, 0x90, 0x7B,
- 0x8D, 0xA2, 0x09, 0x35, 0x13, 0x2B, 0xCA, 0x22, 0x37, 0x07, 0x38, 0xC4, 0x21, 0x51, 0x3D, 0x7A,
- 0xC7, 0x41, 0x22, 0xB8, 0x6B, 0x5E, 0xDB, 0x47, 0x0A, 0x3D, 0x7A, 0x46, 0x8A, 0x3B, 0x93, 0x81,
- 0x33, 0x7A, 0x38, 0xCD, 0xE4, 0x93, 0x2C, 0x50, 0x7B, 0xCD, 0x62, 0x91, 0xDB, 0x78, 0x43, 0x4E,
- 0x3A, 0x93, 0x0F, 0x63, 0x8C, 0x82, 0xAF, 0x78, 0x62, 0xA2, 0x7A, 0x4D, 0x42, 0x95, 0x10, 0xD6,
- 0xB0, 0x7A, 0x2E, 0xD3, 0x3E, 0xC7, 0x19, 0x96, 0xB2, 0x23, 0x90, 0x11, 0x34, 0xAD, 0x23, 0xF9,
- 0x61, 0x8A, 0xBD, 0x84, 0xC5, 0xE9, 0xAC, 0x67, 0x04, 0xFF, 0x00, 0xEA, 0x12, 0x86, 0x3F, 0xC3,
- 0xB4, 0xD0, 0x2B, 0x3D, 0xB0, 0x23, 0x16, 0x92, 0x7D, 0x4C, 0xCF, 0xB3, 0x58, 0x48, 0x0D, 0xE9,
- 0x18, 0xAA, 0x7D, 0x26, 0x84, 0xD3, 0x7B, 0x47, 0x26, 0x98, 0x0E, 0xA2, 0x73, 0xBD, 0xC6, 0xA7,
- 0x35, 0x9D, 0x06, 0x3B, 0x47, 0x28, 0x6F, 0x48, 0xE1, 0x50, 0x5F, 0x48, 0x58, 0x02, 0x73, 0xBD,
- 0x37, 0x26, 0x16, 0x10, 0xF7, 0x84, 0x16, 0x16, 0x65, 0x66, 0x1A, 0x50, 0x0F, 0x69, 0x62, 0x56,
- 0x65, 0x80, 0x4C, 0x10, 0x81, 0xF7, 0x96, 0x0C, 0x10, 0x84, 0xC3, 0x09, 0x0D, 0x48, 0x0C, 0xB8,
- 0x41, 0x04, 0x20, 0xB0, 0xD6, 0xB0, 0x00, 0x13, 0x08, 0x24, 0x30, 0x00, 0x97, 0x95, 0x10, 0xD3,
- 0x81, 0x09, 0xED, 0x08, 0x21, 0x97, 0xCF, 0x2B, 0x9E, 0x08, 0x41, 0x64, 0xC4, 0x1E, 0x7F, 0x69,
- 0x0B, 0x99, 0x62, 0x1C, 0x99, 0x8A, 0x2F, 0xEF, 0x21, 0x7F, 0x79, 0x61, 0xD3, 0x73, 0x27, 0x37,
- 0xBC, 0x41, 0x7F, 0x79, 0x0D, 0x83, 0xD6, 0x58, 0x35, 0xFF, 0xD9
-};
-
-const unsigned char jpeg_data2[] = {
- 0xFF, 0xD8, 0xFF, 0xE0, 0x00, 0x10, 0x4A, 0x46, 0x49, 0x46, 0x00, 0x01, 0x01, 0x01, 0x00, 0x60,
- 0x00, 0x60, 0x00, 0x00, 0xFF, 0xE1, 0x00, 0x22, 0x45, 0x78, 0x69, 0x66, 0x00, 0x00, 0x4D, 0x4D,
- 0x00, 0x2A, 0x00, 0x00, 0x00, 0x08, 0x00, 0x01, 0x01, 0x12, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xDB, 0x00, 0x43, 0x00, 0x02, 0x01, 0x01,
- 0x02, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03, 0x05, 0x03, 0x03, 0x03,
- 0x03, 0x03, 0x06, 0x04, 0x04, 0x03, 0x05, 0x07, 0x06, 0x07, 0x07, 0x07, 0x06, 0x07, 0x07, 0x08,
- 0x09, 0x0B, 0x09, 0x08, 0x08, 0x0A, 0x08, 0x07, 0x07, 0x0A, 0x0D, 0x0A, 0x0A, 0x0B, 0x0C, 0x0C,
- 0x0C, 0x0C, 0x07, 0x09, 0x0E, 0x0F, 0x0D, 0x0C, 0x0E, 0x0B, 0x0C, 0x0C, 0x0C, 0xFF, 0xDB, 0x00,
- 0x43, 0x01, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x06, 0x03, 0x03, 0x06, 0x0C, 0x08, 0x07, 0x08,
- 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C,
- 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C,
- 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C,
- 0x0C, 0x0C, 0xFF, 0xC0, 0x00, 0x11, 0x08, 0x00, 0xF0, 0x01, 0x40, 0x03, 0x01, 0x22, 0x00, 0x02,
- 0x11, 0x01, 0x03, 0x11, 0x01, 0xFF, 0xC4, 0x00, 0x1F, 0x00, 0x00, 0x01, 0x05, 0x01, 0x01, 0x01,
- 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05,
- 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0xFF, 0xC4, 0x00, 0xB5, 0x10, 0x00, 0x02, 0x01, 0x03, 0x03,
- 0x02, 0x04, 0x03, 0x05, 0x05, 0x04, 0x04, 0x00, 0x00, 0x01, 0x7D, 0x01, 0x02, 0x03, 0x00, 0x04,
- 0x11, 0x05, 0x12, 0x21, 0x31, 0x41, 0x06, 0x13, 0x51, 0x61, 0x07, 0x22, 0x71, 0x14, 0x32, 0x81,
- 0x91, 0xA1, 0x08, 0x23, 0x42, 0xB1, 0xC1, 0x15, 0x52, 0xD1, 0xF0, 0x24, 0x33, 0x62, 0x72, 0x82,
- 0x09, 0x0A, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x34, 0x35, 0x36,
- 0x37, 0x38, 0x39, 0x3A, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x53, 0x54, 0x55, 0x56,
- 0x57, 0x58, 0x59, 0x5A, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x73, 0x74, 0x75, 0x76,
- 0x77, 0x78, 0x79, 0x7A, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x92, 0x93, 0x94, 0x95,
- 0x96, 0x97, 0x98, 0x99, 0x9A, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xB2, 0xB3,
- 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA,
- 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0xDA, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7,
- 0xE8, 0xE9, 0xEA, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 0xF8, 0xF9, 0xFA, 0xFF, 0xC4, 0x00,
- 0x1F, 0x01, 0x00, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0xFF, 0xC4,
- 0x00, 0xB5, 0x11, 0x00, 0x02, 0x01, 0x02, 0x04, 0x04, 0x03, 0x04, 0x07, 0x05, 0x04, 0x04, 0x00,
- 0x01, 0x02, 0x77, 0x00, 0x01, 0x02, 0x03, 0x11, 0x04, 0x05, 0x21, 0x31, 0x06, 0x12, 0x41, 0x51,
- 0x07, 0x61, 0x71, 0x13, 0x22, 0x32, 0x81, 0x08, 0x14, 0x42, 0x91, 0xA1, 0xB1, 0xC1, 0x09, 0x23,
- 0x33, 0x52, 0xF0, 0x15, 0x62, 0x72, 0xD1, 0x0A, 0x16, 0x24, 0x34, 0xE1, 0x25, 0xF1, 0x17, 0x18,
- 0x19, 0x1A, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x43, 0x44, 0x45,
- 0x46, 0x47, 0x48, 0x49, 0x4A, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x63, 0x64, 0x65,
- 0x66, 0x67, 0x68, 0x69, 0x6A, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7A, 0x82, 0x83, 0x84,
- 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9A, 0xA2,
- 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9,
- 0xBA, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7,
- 0xD8, 0xD9, 0xDA, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xEA, 0xF2, 0xF3, 0xF4, 0xF5,
- 0xF6, 0xF7, 0xF8, 0xF9, 0xFA, 0xFF, 0xDA, 0x00, 0x0C, 0x03, 0x01, 0x00, 0x02, 0x11, 0x03, 0x11,
- 0x00, 0x3F, 0x00, 0xFC, 0x77, 0xCD, 0x6A, 0x78, 0x21, 0x77, 0x78, 0xD7, 0x46, 0xFF, 0x00, 0xAF,
- 0xF8, 0x3F, 0xF4, 0x62, 0xD6, 0x72, 0xA6, 0x2B, 0x53, 0xC1, 0x3F, 0xF2, 0x3B, 0x68, 0xBF, 0xF6,
- 0x10, 0xB7, 0xFF, 0x00, 0xD1, 0x8B, 0x5F, 0x69, 0x53, 0xE1, 0x7E, 0x87, 0xCA, 0x53, 0x97, 0xBE,
- 0xBD, 0x51, 0xFD, 0x06, 0xF8, 0xCF, 0xC3, 0xCB, 0xE2, 0x8F, 0x85, 0xB2, 0x58, 0xC8, 0x3E, 0x49,
- 0xAD, 0xE3, 0x04, 0x1F, 0xA0, 0xAF, 0x9E, 0xFE, 0x2A, 0x7C, 0x1B, 0x8F, 0xC3, 0x5A, 0x0C, 0x72,
- 0x58, 0xC7, 0x96, 0x8F, 0x96, 0x3E, 0xD5, 0xF4, 0xD5, 0xEE, 0x22, 0xF0, 0x3A, 0xB3, 0x36, 0xD5,
- 0x10, 0xA7, 0x27, 0xE8, 0x2B, 0xC4, 0x3E, 0x33, 0xFC, 0x4E, 0xB5, 0xB1, 0xB4, 0x9B, 0x4E, 0x85,
- 0x16, 0x69, 0x24, 0x5C, 0x1E, 0x7E, 0xED, 0x7E, 0x79, 0xC3, 0xB5, 0xB1, 0x2A, 0xB2, 0x85, 0x0D,
- 0xAF, 0x76, 0x8F, 0xDD, 0xB8, 0xDF, 0x0F, 0x82, 0x96, 0x1D, 0xD4, 0xC5, 0x59, 0x3E, 0x5B, 0x27,
- 0xD7, 0xA9, 0xE0, 0xE8, 0x9C, 0x54, 0xB0, 0xC3, 0x8F, 0xF3, 0xD2, 0xA6, 0x4B, 0x7F, 0xC3, 0xFA,
- 0xD5, 0xAB, 0x7B, 0x36, 0x64, 0xDC, 0xB1, 0xB1, 0x19, 0xC6, 0x40, 0xAF, 0xD5, 0xF6, 0xDC, 0xFE,
- 0x7B, 0x8E, 0xF6, 0x3D, 0x93, 0xF6, 0x73, 0xF1, 0x15, 0xAD, 0x9E, 0x92, 0x2D, 0xDD, 0x95, 0x64,
- 0xC9, 0xC8, 0x35, 0xEE, 0x9A, 0x5E, 0xA9, 0x6E, 0xB6, 0x0D, 0x3F, 0x98, 0x0C, 0x68, 0x32, 0xDC,
- 0xF4, 0xAF, 0x8E, 0xF4, 0x9F, 0xB4, 0x69, 0x53, 0x2C, 0x91, 0x33, 0x46, 0xFD, 0x32, 0x38, 0xAE,
- 0x9B, 0x47, 0xF8, 0xA1, 0xAC, 0x68, 0x9A, 0x75, 0xD5, 0xB8, 0x9B, 0xCE, 0x86, 0xE5, 0x48, 0x21,
- 0xF9, 0xC7, 0xD2, 0xBE, 0x3B, 0x34, 0xE1, 0xF9, 0x57, 0xA8, 0xEA, 0x53, 0x96, 0xEF, 0x63, 0xEF,
- 0xF2, 0x6E, 0x2B, 0x86, 0x16, 0x8A, 0xA3, 0x5A, 0x3B, 0x2D, 0xD7, 0xE0, 0x7D, 0x05, 0xF1, 0x67,
- 0xC3, 0x36, 0x7F, 0x11, 0xB4, 0x38, 0xAD, 0xA7, 0x6F, 0xF4, 0x5F, 0xF5, 0x87, 0x1D, 0xF8, 0xAE,
- 0x5F, 0xC1, 0x1F, 0x0F, 0xF4, 0xDF, 0x0F, 0xE8, 0x92, 0x5A, 0xD9, 0xED, 0x96, 0x17, 0x2D, 0x96,
- 0x23, 0x93, 0x9E, 0xB5, 0xE5, 0x3A, 0x6F, 0xC6, 0x5D, 0x6E, 0xD2, 0xC6, 0x1B, 0x7F, 0x3D, 0x99,
- 0x62, 0x24, 0x64, 0xF3, 0xB8, 0x1E, 0xC6, 0xBA, 0x0F, 0x0C, 0x7C, 0x52, 0x9F, 0xC3, 0xF6, 0x1E,
- 0x5A, 0xC4, 0x66, 0x2C, 0x49, 0x39, 0xF7, 0xAE, 0x65, 0x94, 0xE2, 0xA8, 0xD1, 0xF6, 0x51, 0x96,
- 0x97, 0xDA, 0xFF, 0x00, 0x89, 0xD9, 0x1E, 0x22, 0xC0, 0x62, 0x31, 0x0A, 0xBC, 0xA3, 0x69, 0x5B,
- 0x56, 0xF7, 0xE9, 0xA1, 0xD5, 0x43, 0xF0, 0x3E, 0xDF, 0x51, 0x59, 0x5A, 0xC6, 0xF5, 0x6D, 0xFC,
- 0xB3, 0xBB, 0xCA, 0x23, 0x8A, 0xE3, 0xF5, 0xFF, 0x00, 0x05, 0x5F, 0x68, 0x37, 0x4C, 0x26, 0xB7,
- 0x90, 0xAA, 0x9C, 0x87, 0x03, 0x82, 0x2B, 0xA5, 0xF8, 0x6D, 0xE2, 0x19, 0xB5, 0x7D, 0x42, 0xF1,
- 0xA5, 0x6C, 0x2D, 0xC3, 0x13, 0x82, 0x7E, 0xED, 0x77, 0x70, 0xEA, 0x8D, 0x1E, 0x85, 0x24, 0x7E,
- 0x4C, 0x7A, 0x96, 0xC2, 0x7E, 0x46, 0xFB, 0xE1, 0x3D, 0xAB, 0x19, 0x57, 0xC4, 0x61, 0xEA, 0x72,
- 0xCF, 0xDE, 0xFE, 0xBB, 0x9A, 0x2C, 0x0E, 0x0F, 0x19, 0x47, 0xDA, 0x53, 0x5C, 0xBB, 0xED, 0xFE,
- 0x47, 0xCF, 0x7A, 0xBE, 0xAA, 0xF6, 0x52, 0xAA, 0xAF, 0xF0, 0x8C, 0xFD, 0x6B, 0x3D, 0xBC, 0x4F,
- 0x70, 0xCC, 0xC7, 0x8E, 0x6B, 0xA9, 0xF8, 0x93, 0xE0, 0xE6, 0x17, 0xE6, 0xE2, 0xD2, 0x39, 0x5A,
- 0xDE, 0x42, 0x48, 0x52, 0xA4, 0x18, 0xFD, 0x8D, 0x71, 0xB2, 0x58, 0x3A, 0x39, 0x0C, 0x9B, 0x79,
- 0xC7, 0xD2, 0xBE, 0x9B, 0x0B, 0x4E, 0x8D, 0x48, 0x29, 0x68, 0x7C, 0x4E, 0x2A, 0x35, 0x68, 0xD4,
- 0x70, 0x65, 0x98, 0xBC, 0x4F, 0x32, 0xB2, 0xAE, 0x3E, 0x5C, 0xF3, 0x8E, 0xF5, 0xD3, 0x78, 0x7F,
- 0x52, 0x82, 0x68, 0xF7, 0x7F, 0x78, 0xF3, 0x9E, 0xD5, 0xE7, 0x77, 0xDE, 0x29, 0xB5, 0xD2, 0xCF,
- 0xCC, 0xCA, 0x4A, 0xF6, 0xAC, 0x9B, 0xEF, 0x8C, 0x0D, 0x6E, 0xAC, 0xB6, 0xAB, 0xB7, 0x3D, 0xEB,
- 0x97, 0x32, 0xC2, 0xA9, 0xC3, 0xD9, 0xC3, 0x46, 0x7B, 0x19, 0x0E, 0x21, 0xD1, 0xAE, 0xAB, 0xD4,
- 0x57, 0x4B, 0xB9, 0xEC, 0x5A, 0xBD, 0xAD, 0x8A, 0xDA, 0x1F, 0xB4, 0x4A, 0xB1, 0xA1, 0x3B, 0xBE,
- 0x63, 0x5C, 0x27, 0x8A, 0x7E, 0x24, 0x68, 0xFA, 0x30, 0x91, 0x61, 0x65, 0xB8, 0x93, 0x38, 0x00,
- 0x01, 0x8C, 0x57, 0x97, 0xEB, 0x7E, 0x31, 0xD4, 0x35, 0xE9, 0x73, 0x35, 0xC4, 0x9B, 0x7F, 0xBA,
- 0x0F, 0x15, 0x90, 0xC8, 0x58, 0xF2, 0xD9, 0xFA, 0xD7, 0x9B, 0x81, 0xCB, 0x6A, 0x51, 0x7C, 0xD5,
- 0x27, 0x7F, 0x23, 0xE8, 0x73, 0x6C, 0xD6, 0x86, 0x26, 0x3C, 0x94, 0x69, 0xA8, 0xF7, 0x7D, 0x4E,
- 0x93, 0xC5, 0x1F, 0x11, 0xEE, 0x35, 0xB6, 0xC4, 0x48, 0xB6, 0xF1, 0x29, 0x24, 0x05, 0xAE, 0x66,
- 0xEA, 0xF2, 0x49, 0xDB, 0xE6, 0x66, 0x27, 0x1D, 0x73, 0x52, 0x79, 0x59, 0x1D, 0x7F, 0x4A, 0x68,
- 0xB7, 0xCF, 0xFF, 0x00, 0xAE, 0xBD, 0xA4, 0xDD, 0xAC, 0x7C, 0xE2, 0xA7, 0x15, 0xB2, 0x2A, 0xF9,
- 0xB2, 0x28, 0xFB, 0xCD, 0x86, 0xAE, 0xFB, 0xF6, 0x56, 0x91, 0xAD, 0xFF, 0x00, 0x68, 0xCF, 0x05,
- 0xFF, 0x00, 0xD3, 0x4D, 0x56, 0x15, 0x38, 0xFA, 0x9A, 0xE2, 0xFE, 0xCA, 0x4F, 0xFF, 0x00, 0xAE,
- 0xBD, 0x73, 0xF6, 0x77, 0xF8, 0x77, 0xFD, 0x9D, 0xE3, 0xEF, 0x86, 0x5E, 0x20, 0x8D, 0x5B, 0x7D,
- 0xEE, 0xBF, 0xE4, 0xDC, 0x1C, 0x93, 0xF2, 0xEF, 0x22, 0x23, 0x8E, 0x80, 0x7C, 0x8F, 0xCF, 0x7D,
- 0xCB, 0xED, 0x5E, 0x6E, 0x6D, 0x8E, 0xA5, 0x87, 0xA1, 0xCB, 0x53, 0xED, 0xDE, 0x2B, 0xD5, 0xC5,
- 0xB5, 0xF9, 0x5B, 0xD5, 0x9F, 0x45, 0xC3, 0x79, 0x4D, 0x6C, 0x6E, 0x2B, 0x9A, 0x8A, 0xFE, 0x12,
- 0x55, 0x1F, 0xF8, 0x54, 0xE2, 0x9F, 0xDD, 0x7B, 0xFA, 0x26, 0x7E, 0x6C, 0xFE, 0xD8, 0xB0, 0xF9,
- 0x3F, 0xB5, 0xFF, 0x00, 0xC5, 0xA5, 0xFE, 0xEF, 0x8D, 0x75, 0x91, 0xFF, 0x00, 0x93, 0xF3, 0xD7,
- 0x9C, 0x95, 0x22, 0xBD, 0x3B, 0xF6, 0xD8, 0x41, 0x6B, 0xFB, 0x66, 0xFC, 0x60, 0x56, 0xE0, 0x2F,
- 0x8D, 0xB5, 0xAC, 0x93, 0xD8, 0x7D, 0xBE, 0x6A, 0xF3, 0x1F, 0xB5, 0x46, 0x02, 0x9D, 0xCA, 0x04,
- 0x83, 0x2A, 0x72, 0x3E, 0x61, 0xED, 0x5E, 0xDE, 0x17, 0xF8, 0x30, 0xF4, 0x5F, 0x92, 0x3E, 0x0F,
- 0x30, 0x56, 0xC4, 0xD4, 0xFF, 0x00, 0x13, 0xFC, 0xD8, 0x99, 0xC5, 0x7D, 0x5B, 0xFF, 0x00, 0x04,
- 0xF5, 0xD2, 0xFE, 0xDF, 0xE0, 0x3D, 0x79, 0xBF, 0xBB, 0xAA, 0x81, 0x9F, 0x4F, 0xDC, 0xA5, 0x7C,
- 0xB7, 0x75, 0x65, 0x3D, 0x8D, 0xBD, 0xAC, 0xD3, 0xDB, 0xDC, 0x5B, 0xC3, 0x7A, 0x9E, 0x65, 0xB4,
- 0x92, 0x46, 0x51, 0x2E, 0x13, 0x38, 0xDC, 0x84, 0x8C, 0x30, 0xC8, 0x23, 0x23, 0x23, 0x8A, 0xFA,
- 0xFB, 0xFE, 0x09, 0x9B, 0xA6, 0xC9, 0xAC, 0x78, 0x13, 0xC4, 0x16, 0xB0, 0xC3, 0x24, 0xB3, 0x4B,
- 0xAB, 0xA8, 0x50, 0xA3, 0xFE, 0x98, 0x25, 0x15, 0x9A, 0x70, 0xBA, 0x2B, 0x01, 0x17, 0xED, 0x92,
- 0xB1, 0xF4, 0x17, 0x87, 0xB5, 0xA7, 0x17, 0x9F, 0xD9, 0xF6, 0x71, 0xBC, 0xCC, 0x7A, 0xB0, 0xF5,
- 0xFF, 0x00, 0x0A, 0xF4, 0x0D, 0x3F, 0xC4, 0x57, 0x5A, 0x75, 0xB4, 0x36, 0x71, 0xDC, 0x48, 0xB3,
- 0xED, 0x28, 0x44, 0x6D, 0xD8, 0xF6, 0xA8, 0xEC, 0xFE, 0x1F, 0xB7, 0x87, 0xAE, 0xAD, 0xED, 0x62,
- 0xF2, 0x56, 0x5B, 0x88, 0xC8, 0x9E, 0x55, 0x3F, 0x3C, 0x6C, 0x48, 0xD8, 0xA3, 0xD8, 0xE1, 0xC1,
- 0x39, 0xCE, 0x76, 0xF5, 0xC9, 0xC7, 0x4D, 0xE1, 0xAD, 0x06, 0xCF, 0xC0, 0x0D, 0x1D, 0xE5, 0xD4,
- 0x5F, 0x6A, 0xBE, 0x6E, 0x23, 0x56, 0xFE, 0x1A, 0xF2, 0xBE, 0xBB, 0x4A, 0xA5, 0xE3, 0x1B, 0x49,
- 0xC5, 0xDA, 0xDE, 0x76, 0xBF, 0xE4, 0xEE, 0x7D, 0x97, 0xF6, 0x25, 0x7A, 0x51, 0x85, 0x5A, 0xB7,
- 0x82, 0x9A, 0xBA, 0x7D, 0xD5, 0xDA, 0xD3, 0xE6, 0x9A, 0xF9, 0x1D, 0x07, 0x83, 0x74, 0xDD, 0x4B,
- 0x44, 0xD1, 0x4C, 0xFA, 0x84, 0xCD, 0x1C, 0x52, 0x7F, 0xAB, 0x8D, 0xB9, 0x63, 0x5D, 0x56, 0x9F,
- 0xE6, 0xEA, 0xB6, 0x51, 0xC7, 0xE4, 0xA8, 0x90, 0xAE, 0x4B, 0x1F, 0xE1, 0x5F, 0x53, 0xEE, 0x6B,
- 0x37, 0x41, 0xD2, 0xAF, 0x35, 0xF7, 0x1A, 0xB6, 0xAC, 0x4C, 0x70, 0x1E, 0x60, 0x84, 0xFF, 0x00,
- 0x85, 0x75, 0x32, 0xC0, 0xD6, 0xD6, 0xDE, 0x4C, 0x2A, 0x7E, 0xD3, 0x75, 0xFF, 0x00, 0x8E, 0x8F,
- 0xF3, 0xF9, 0x0A, 0xF0, 0xF1, 0x12, 0x52, 0x95, 0xDE, 0xE7, 0xD8, 0xE0, 0x70, 0xEA, 0x95, 0x25,
- 0x15, 0x7B, 0x79, 0xEE, 0x73, 0x77, 0xDA, 0x74, 0x72, 0x4B, 0x24, 0x51, 0xF3, 0x1C, 0x23, 0x32,
- 0x39, 0xEF, 0x5E, 0x3B, 0xF1, 0x63, 0x5C, 0x29, 0x14, 0xB1, 0xA9, 0xC6, 0xF3, 0x80, 0x3D, 0xAB,
- 0xDB, 0xBC, 0x56, 0xB1, 0xE9, 0x3A, 0x61, 0xB3, 0x8C, 0xE5, 0xB6, 0x96, 0x9D, 0xEB, 0xE7, 0xBF,
- 0x15, 0x43, 0x26, 0xB7, 0xAC, 0xCA, 0xD8, 0xF9, 0x43, 0x61, 0x6B, 0xD0, 0xCA, 0x68, 0xAA, 0x95,
- 0x39, 0xE5, 0xB2, 0x3E, 0x7F, 0x8A, 0xB1, 0x8E, 0x86, 0x1F, 0xD9, 0xC3, 0x79, 0x68, 0x70, 0x32,
- 0x69, 0x9E, 0x6C, 0x87, 0x23, 0x9F, 0xA5, 0x77, 0x9F, 0x02, 0xFC, 0x13, 0x0E, 0xAB, 0xE2, 0x48,
- 0xFC, 0xE5, 0x18, 0x53, 0x91, 0x91, 0xC5, 0x4F, 0xA3, 0x78, 0x15, 0xAF, 0x67, 0x8F, 0x2B, 0xC7,
- 0x7A, 0xF5, 0xAF, 0x03, 0xF8, 0x62, 0xD7, 0xC2, 0xB6, 0xAB, 0x36, 0xCF, 0x9D, 0x46, 0x6B, 0xD4,
- 0xCD, 0xB1, 0xE9, 0x51, 0x74, 0xA1, 0xBB, 0x3E, 0x37, 0x87, 0xB2, 0x89, 0xD4, 0xC4, 0x46, 0xAC,
- 0xFE, 0x15, 0xA9, 0xA1, 0xE2, 0xFF, 0x00, 0x0B, 0x5B, 0x35, 0xB2, 0x46, 0x21, 0x5D, 0xAA, 0x3D,
- 0x2B, 0x07, 0x4C, 0x9E, 0xCF, 0x49, 0x77, 0xB7, 0x55, 0x50, 0xC3, 0xB6, 0x2B, 0xA0, 0xD7, 0x3C,
- 0x71, 0x65, 0x79, 0x01, 0x0D, 0x22, 0xA9, 0x51, 0xCD, 0x79, 0x1F, 0x8B, 0xFC, 0x43, 0xFF, 0x00,
- 0x13, 0x79, 0x25, 0xB7, 0x6C, 0x73, 0x80, 0x73, 0xD6, 0xBE, 0x67, 0x07, 0x83, 0xA9, 0x55, 0x72,
- 0x4A, 0xE7, 0xDF, 0xE6, 0x19, 0x85, 0x1A, 0x0D, 0x55, 0x85, 0x8D, 0x8B, 0xF8, 0x74, 0x19, 0x7C,
- 0x6B, 0x6F, 0x75, 0x7D, 0x34, 0x71, 0xC9, 0x07, 0xEF, 0x23, 0xDC, 0x70, 0x38, 0xAE, 0x77, 0xC6,
- 0xDF, 0xB4, 0xFC, 0x5A, 0x56, 0xBD, 0x71, 0x6B, 0x63, 0x6A, 0x97, 0x16, 0xF1, 0x02, 0x81, 0xC9,
- 0xFB, 0xCD, 0xEA, 0x3D, 0xAB, 0xCE, 0xFC, 0x75, 0x7B, 0x36, 0xA1, 0x75, 0xE6, 0x49, 0x21, 0x66,
- 0xCE, 0x31, 0x9A, 0xE4, 0xE7, 0x80, 0x86, 0xC1, 0xFF, 0x00, 0xF5, 0xD7, 0xD2, 0x61, 0xF8, 0x7E,
- 0x94, 0x92, 0x9D, 0x77, 0xCD, 0xA5, 0xAD, 0xD1, 0x1F, 0x17, 0x8C, 0xE2, 0xCA, 0xF0, 0x93, 0x86,
- 0x15, 0x72, 0xDD, 0xDE, 0xFD, 0x59, 0xDD, 0x58, 0x7C, 0x61, 0x92, 0xF2, 0x49, 0xAE, 0x2F, 0x9D,
- 0xA4, 0x79, 0x39, 0x0A, 0xA3, 0x85, 0xF6, 0x15, 0xC3, 0xF8, 0xFF, 0x00, 0xC4, 0xF7, 0x1E, 0x2A,
- 0xB8, 0xDC, 0xC0, 0xAC, 0x68, 0x72, 0x06, 0x69, 0x12, 0x0F, 0x22, 0x3E, 0x58, 0x1A, 0xA1, 0x7C,
- 0xD9, 0xC8, 0x1F, 0xA5, 0x7A, 0x54, 0x72, 0xDA, 0x14, 0xAA, 0x7B, 0x48, 0x2D, 0x4F, 0x1F, 0x11,
- 0x9D, 0x62, 0xEB, 0xD2, 0xF6, 0x15, 0x24, 0xDA, 0xFC, 0xFD, 0x4F, 0xCF, 0xF5, 0x1B, 0xAB, 0x5B,
- 0xC0, 0xCB, 0x8F, 0x1A, 0xE8, 0xA3, 0xFE, 0xA2, 0x10, 0x7F, 0xE8, 0xC5, 0xAC, 0xD2, 0x6B, 0x4B,
- 0xC0, 0xFC, 0xF8, 0xE7, 0x45, 0xFF, 0x00, 0xB0, 0x84, 0x1F, 0xFA, 0x31, 0x6A, 0x67, 0x1B, 0xC1,
- 0xFA, 0x33, 0x86, 0x97, 0xC7, 0x1F, 0x55, 0xF9, 0x9F, 0xD0, 0x47, 0xC5, 0xA9, 0x64, 0xB6, 0xF8,
- 0x1B, 0x79, 0x24, 0x4C, 0xCB, 0x22, 0xDB, 0x47, 0x82, 0x3A, 0xF6, 0xAF, 0x98, 0x45, 0x89, 0xBF,
- 0x99, 0x9A, 0x63, 0xBD, 0x9B, 0x92, 0x4F, 0x53, 0x5F, 0x56, 0xFC, 0x49, 0xB1, 0x5B, 0xDF, 0x83,
- 0x97, 0x51, 0xB7, 0xDD, 0x7B, 0x74, 0xEB, 0xDB, 0xA5, 0x79, 0xD7, 0x85, 0xBF, 0x66, 0x9B, 0xDD,
- 0x57, 0x4E, 0x37, 0x41, 0x94, 0xAB, 0xC7, 0xBD, 0x00, 0xEF, 0x5F, 0x1B, 0xC3, 0x38, 0xEA, 0x18,
- 0x6C, 0x3C, 0xDD, 0x57, 0x66, 0xE4, 0xFF, 0x00, 0x24, 0x7E, 0xB1, 0xC7, 0xD9, 0x5E, 0x2B, 0x1D,
- 0x8F, 0xA5, 0x1A, 0x0A, 0xE9, 0x41, 0x3B, 0x7C, 0xD9, 0xE1, 0xF3, 0x68, 0x4A, 0xD3, 0x60, 0x7C,
- 0xA3, 0x35, 0xEE, 0x9F, 0x07, 0xFC, 0x01, 0xA6, 0x5C, 0xF8, 0x4B, 0xC9, 0x99, 0x20, 0x91, 0x98,
- 0x87, 0xDC, 0x71, 0xD6, 0xB8, 0xBF, 0x18, 0x7C, 0x3D, 0xB9, 0xF0, 0x9E, 0xA5, 0x25, 0xBD, 0xE4,
- 0x5E, 0x4C, 0xAA, 0x03, 0x00, 0x7F, 0x88, 0x53, 0x3C, 0x3D, 0xAD, 0x5D, 0x69, 0x0C, 0xB0, 0xC7,
- 0x71, 0x24, 0x70, 0xB3, 0x7C, 0xC0, 0x1A, 0xFA, 0xCC, 0x75, 0x37, 0x8B, 0xA0, 0xBD, 0x8C, 0xAD,
- 0x6D, 0x4F, 0xCF, 0x72, 0xDA, 0xD0, 0xC0, 0x62, 0x5F, 0xD6, 0x29, 0xDD, 0xDA, 0xDE, 0x87, 0xA2,
- 0xF8, 0xB7, 0xF6, 0x73, 0x1A, 0xFC, 0x0B, 0x26, 0x96, 0xD1, 0x79, 0x99, 0xE4, 0x0A, 0xF3, 0x1F,
- 0x13, 0x7C, 0x33, 0xBC, 0xF0, 0x8E, 0xA7, 0xF6, 0x5B, 0xC5, 0x1B, 0xB1, 0xD5, 0x7B, 0xD7, 0xBA,
- 0xFC, 0x2C, 0xD7, 0xC6, 0x8D, 0x17, 0x9A, 0xD3, 0x34, 0x91, 0xBA, 0xE4, 0x9D, 0xD9, 0xED, 0x4F,
- 0xF1, 0x9B, 0xF8, 0x7B, 0xC4, 0x37, 0x71, 0x4B, 0x37, 0xCF, 0x34, 0x84, 0xE4, 0x67, 0x9A, 0xF9,
- 0xFC, 0x2E, 0x61, 0x88, 0xC3, 0xD5, 0xF6, 0x55, 0x3D, 0xE8, 0xFE, 0x27, 0xD6, 0x63, 0xB2, 0x3C,
- 0x2E, 0x2B, 0x0F, 0xF5, 0x8A, 0x5E, 0xE4, 0xDF, 0x9E, 0x87, 0x87, 0x78, 0x5F, 0xE1, 0xFC, 0x3A,
- 0xD5, 0xFF, 0x00, 0x92, 0xDF, 0x28, 0xF5, 0x15, 0xE8, 0xF6, 0x7F, 0x04, 0x96, 0x6B, 0x21, 0xF6,
- 0x78, 0x77, 0xEC, 0xEA, 0x71, 0x5D, 0x05, 0x97, 0x80, 0xB4, 0xF8, 0x95, 0xA6, 0xD3, 0x64, 0xDD,
- 0x32, 0xF5, 0x4C, 0xE7, 0x22, 0xBD, 0x0F, 0xC0, 0x56, 0x53, 0x59, 0xE9, 0xE2, 0x49, 0xA1, 0x2B,
- 0x14, 0xBC, 0x8A, 0x33, 0x0C, 0xD2, 0x57, 0xE6, 0xA6, 0xFE, 0x41, 0x94, 0xF0, 0xEC, 0x3E, 0x0A,
- 0xD1, 0xBF, 0x9A, 0xD8, 0xF0, 0xA9, 0xBC, 0x11, 0x3F, 0x85, 0xAF, 0x37, 0x6D, 0xF2, 0xFE, 0x82,
- 0xBB, 0x0F, 0x83, 0xD6, 0xF1, 0x4D, 0xAC, 0x88, 0xE6, 0xDB, 0xC2, 0x77, 0xFE, 0x2E, 0x79, 0xAF,
- 0x40, 0xF8, 0x89, 0xE1, 0x1B, 0x5D, 0x5F, 0x4C, 0x8A, 0x68, 0xD7, 0x6C, 0xAC, 0xF8, 0xE9, 0xD6,
- 0xB9, 0xED, 0x27, 0xE1, 0xDC, 0xB6, 0xF1, 0x33, 0xDB, 0x96, 0x8E, 0x6E, 0x30, 0x47, 0x5A, 0xE3,
- 0xAD, 0x8E, 0x85, 0x6C, 0x3B, 0x72, 0xF8, 0x8F, 0x4B, 0x07, 0x93, 0xD4, 0xC3, 0xE3, 0x23, 0xC9,
- 0xF0, 0x9D, 0x7F, 0x8A, 0x3C, 0x2B, 0x64, 0xFA, 0x3F, 0x99, 0x0D, 0x8C, 0x53, 0x49, 0x9C, 0xED,
- 0xDB, 0xF7, 0xAB, 0xCC, 0x75, 0x0F, 0x0A, 0xF8, 0x55, 0xF5, 0xE9, 0xAD, 0x35, 0x4B, 0x24, 0xB3,
- 0x9A, 0xE1, 0x77, 0x2B, 0x11, 0x85, 0x1C, 0x74, 0xCD, 0x7B, 0xA7, 0x82, 0xF4, 0x39, 0x17, 0x48,
- 0xFF, 0x00, 0x48, 0x6F, 0x30, 0xAA, 0xE3, 0x9A, 0xE0, 0x7E, 0x2C, 0x78, 0x06, 0xCF, 0x56, 0xBD,
- 0x59, 0x19, 0x55, 0xDD, 0x9F, 0x04, 0x77, 0xAF, 0x07, 0x01, 0x89, 0xF7, 0xDD, 0x36, 0xDA, 0xF3,
- 0x4C, 0xFA, 0x8C, 0xDF, 0x2D, 0x4E, 0x0A, 0xA4, 0x63, 0x16, 0xFB, 0x35, 0xA1, 0xE2, 0x7E, 0x35,
- 0xFD, 0x8A, 0xB4, 0x2F, 0x1A, 0xDA, 0x67, 0x45, 0xBD, 0x58, 0xA6, 0x11, 0xB1, 0xDC, 0xBF, 0x36,
- 0xF6, 0xCF, 0x19, 0xAF, 0x99, 0xBE, 0x2B, 0x7C, 0x06, 0xF1, 0x07, 0xC1, 0xD7, 0x8D, 0xF5, 0x7B,
- 0x75, 0x4B, 0x79, 0xA4, 0x29, 0x14, 0xAA, 0x72, 0xAF, 0x5F, 0x68, 0xC6, 0xF7, 0x5F, 0x0B, 0x34,
- 0x4D, 0x49, 0xAC, 0x2D, 0x9A, 0x6B, 0x89, 0x53, 0x74, 0x2A, 0xC7, 0x8D, 0xC3, 0xB5, 0x73, 0x13,
- 0x7C, 0x31, 0xD4, 0xFF, 0x00, 0x68, 0xD7, 0xD3, 0x2E, 0x7C, 0x4D, 0x71, 0x0A, 0xD8, 0x58, 0x80,
- 0x1A, 0xD2, 0x11, 0x82, 0xEE, 0x47, 0x24, 0x93, 0xE9, 0xD2, 0xBD, 0xCC, 0x2E, 0x3E, 0xBD, 0x29,
- 0xDE, 0xA4, 0xAF, 0x4F, 0xBB, 0xDC, 0xF9, 0x5C, 0x46, 0x5B, 0x87, 0xA9, 0x0E, 0x5A, 0x70, 0xE5,
- 0xA9, 0xD9, 0x6D, 0xF8, 0x9F, 0x12, 0xC6, 0xA7, 0xBF, 0xDE, 0xF4, 0xA7, 0x88, 0x8B, 0x77, 0x1F,
- 0x95, 0x7A, 0xC7, 0xC7, 0x4F, 0xD9, 0xDE, 0xEB, 0xE1, 0x9D, 0xC5, 0xD5, 0xDF, 0x92, 0xF1, 0xD8,
- 0xB5, 0xD3, 0x47, 0x01, 0xC7, 0xCA, 0xCB, 0xDB, 0x1F, 0x85, 0x79, 0xCC, 0x16, 0x9B, 0x8D, 0x7D, 0x34, 0x2B, 0x42, 0x71, 0x53, 0x83, 0xBA, 0x67, 0xCB, 0xCA, 0x94, 0xA3, 0x27, 0x19, 0xAB, 0x34, 0x54, 0x8A, 0xD4, 0xE0, 0xFF, 0x00, 0x16, 0x3F, 0x4A, 0xB3, 0x15, 0x83, 0x31, 0xC7, 0x7F, 0x61, 0x57, 0xAD, 0xAC, 0x0B, 0x7D, 0x07, 0xEB, 0x5A, 0x50, 0x58, 0xA5, 0xB4, 0x2D, 0x23, 0x95, 0x54, 0x51, 0x92, 0x49, 0xE0, 0x0A, 0x52, 0xA9, 0x65, 0x76, 0x5C, 0x69, 0xB9, 0x3E, 0x54, 0xAE, 0xCC, 0x98, 0x34, 0x46, 0x90, 0xF4, 0xC0, 0x5E, 0x4F, 0x15, 0xE9, 0xDA, 0xFF, 0x00, 0xC4, 0xEF, 0xF8, 0x53, 0xDA, 0x47, 0x86, 0x62, 0x43, 0x0B, 0xEA, 0x76, 0x36, 0xE9, 0xAB, 0x1B, 0x40, 0x80, 0x49, 0x24, 0x90, 0x18, 0xEE, 0x19, 0x15, 0x40, 0xEB, 0xC3, 0x29, 0x03, 0xFB, 0xFF, 0x00, 0x4A, 0xE6, 0x63, 0x9F, 0x49, 0xB2, 0xD2, 0xDA, 0x6B, 0xED, 0x5B, 0x4C, 0xB1, 0x94, 0xA7, 0x98, 0x2D, 0xAE, 0x2E, 0x12, 0x39, 0x4A, 0x13, 0x80, 0xDB, 0x4B, 0x67, 0x04, 0xF1, 0xD3, 0xB8, 0xFA, 0x57, 0xAC, 0x7C, 0x2B, 0xFD, 0x8A, 0x35, 0x8F, 0xDA, 0x1F, 0xC2, 0x7E, 0x11, 0xF8, 0x99, 0xAC, 0x5F, 0x45, 0xA1, 0xE8, 0x57, 0x33, 0xB6, 0x8E, 0xD6, 0xD7, 0x0A, 0xCD, 0x79, 0xAC, 0x5A, 0x8B, 0xA0, 0x25, 0x68, 0x49, 0x18, 0x45, 0x91, 0x21, 0xE6, 0x47, 0xC6, 0x41, 0x45, 0xC0, 0x0E, 0x59, 0x7F, 0x30, 0xE2, 0xEC, 0xDF, 0x0B, 0x8C, 0xF6, 0x54, 0xE9, 0xD4, 0x56, 0x84, 0x9D, 0xDD, 0x9E, 0xF6, 0xD2, 0xDA, 0x6B, 0xD7, 0x63, 0xF7, 0xEF, 0x0F, 0xB2, 0xBA, 0x9C, 0x31, 0x43, 0x11, 0x9B, 0xE7, 0x74, 0x1A, 0x8D, 0x48, 0x28, 0xD3, 0x8B, 0x6B, 0xDF, 0x72, 0x7A, 0xC6, 0xD7, 0x6D, 0x68, 0x93, 0x77, 0x5A, 0x24, 0xFA, 0xE8, 0x43, 0xFB, 0x3B, 0xFF, 0x00, 0xC1, 0x26, 0x74, 0x31, 0xF1, 0x67, 0xE2, 0x77, 0xC7, 0x9F, 0x88, 0x16, 0x3A, 0x5E, 0xB9, 0x7D, 0xE3, 0x2F, 0x17, 0x6A, 0x97, 0xDF, 0x0F, 0xEC, 0x2F, 0x56, 0x3B, 0xAD, 0x2E, 0xC2, 0xCA, 0x4B, 0xB7, 0x78, 0xB5, 0x69, 0xE3, 0x29, 0x2A, 0xDC, 0xDD, 0x4C, 0xB2, 0x2B, 0x5A, 0xC0, 0x61, 0xB8, 0x44, 0x56, 0x49, 0x9E, 0x09, 0xD9, 0xE3, 0x8D, 0x1D, 0xFB, 0x4F, 0x41, 0xA7, 0xF8, 0x53, 0xE2, 0xFE, 0x8F, 0xE7, 0x69, 0xB6, 0x7E, 0x22, 0x67, 0x82, 0xE2, 0xD3, 0x59, 0x8B, 0xC4, 0x2E, 0xDA, 0xBC, 0x97, 0xA6, 0x5D, 0x8C, 0x92, 0x5C, 0x9B, 0xA6, 0xB8, 0xDA, 0xCA, 0x48, 0x3E, 0x5C, 0x72, 0x92, 0xA9, 0x90, 0x5E, 0x31, 0xFB, 0x94, 0xFA, 0x0F, 0xF6, 0xBE, 0xFD, 0xB7, 0xE1, 0xF8, 0x0F, 0x02, 0xDB, 0x69, 0x69, 0xA6, 0x6A, 0x7E, 0x26, 0xD5, 0xED, 0x64, 0x37, 0x26, 0x58, 0x04, 0x96, 0x3A, 0x35, 0x90, 0x42, 0xB1, 0xD8, 0x5A, 0x45, 0x90, 0xAA, 0x9B, 0x18, 0x3C, 0xB2, 0x75, 0x94, 0xCA, 0x46, 0x42, 0x94, 0x58, 0xFE, 0x32, 0x8B, 0xF6, 0xBB, 0xBA, 0xFD, 0xA1, 0xBC, 0x77, 0x70, 0xBA, 0xF6, 0x93, 0xA1, 0xA5, 0xC7, 0x8D, 0xF5, 0xC9, 0x2D, 0x62, 0xFB, 0x34, 0x2D, 0x1F, 0xD9, 0xA7, 0xB9, 0x62, 0xA5, 0xD4, 0xEE, 0xFB, 0xA0, 0x92, 0x58, 0x10, 0x72, 0xC0, 0xB7, 0xF1, 0x57, 0x66, 0x4B, 0x80, 0xC7, 0xE6, 0x12, 0xFE, 0xD0, 0xC6, 0x5D, 0xC2, 0xD6, 0x4A, 0xF6, 0x49, 0x5A, 0xD6, 0x4B, 0xB2, 0xFC, 0x5E, 0xA7, 0xE0, 0x99, 0xA6, 0x71, 0x43, 0x01, 0x51, 0xE1, 0xF0, 0xE9, 0x46, 0xA3, 0x95, 0xDB, 0x6A, 0xFB, 0xBB, 0xF5, 0xBF, 0xE3, 0xB7, 0x63, 0xCB, 0xFF, 0x00, 0x6A, 0x2F, 0xDA, 0x17, 0xFE, 0x16, 0x7A, 0xAE, 0x95, 0xAF, 0x69, 0xF7, 0x37, 0x96, 0x28, 0x0F, 0x17, 0x97, 0x97, 0x5A, 0xA4, 0x9A, 0x7B, 0x05, 0x3F, 0x21, 0x8A, 0xEA, 0x69, 0x33, 0x1E, 0x49, 0x20, 0x44, 0xA9, 0xB7, 0x9C, 0xEE, 0x1D, 0x68, 0xFE, 0xC2, 0xFA, 0xFF, 0x00, 0x87, 0xBE, 0x16, 0x5D, 0xDD, 0xE9, 0x91, 0x88, 0xB4, 0x8B, 0x1F, 0x10, 0xDF, 0x25, 0xC2, 0xCE, 0xB3, 0x79, 0x96, 0xAB, 0x2E, 0xC5, 0x8C, 0x22, 0xBB, 0x7C, 0xC9, 0x1B, 0x6D, 0x04, 0x06, 0x27, 0x6B, 0x12, 0x09, 0xDB, 0x83, 0x5E, 0x59, 0xE3, 0x5F, 0x16, 0xDB, 0xFC, 0x45, 0xF1, 0xFF, 0x00, 0x88, 0xDA, 0x47, 0x68, 0x7C, 0xCB, 0xFB, 0xAB, 0xDB, 0x09, 0x90, 0xE0, 0xF9, 0x0F, 0x23, 0x48, 0x85, 0x7D, 0x19, 0x03, 0x0E, 0x3A, 0x7E, 0x78, 0x1C, 0x9D, 0xAF, 0xC4, 0x09, 0x16, 0xCA, 0x78, 0x16, 0xD6, 0x15, 0xBC, 0x60, 0x56, 0xE3, 0x03, 0x16, 0xD7, 0x59, 0xE0, 0x3E, 0xDF, 0xE1, 0x0D, 0xD0, 0xFA, 0x67, 0xBE, 0x05, 0x7E, 0xA9, 0x43, 0x2B, 0x82, 0xA1, 0xEC, 0xE9, 0xAB, 0x23, 0xF3, 0xB5, 0x9F, 0x62, 0x29, 0xE2, 0xBE, 0xB1, 0x37, 0xCC, 0xD7, 0xE2, 0xBE, 0x47, 0xDF, 0x3F, 0x1E, 0x3C, 0x7A, 0xBF, 0x0E, 0xBC, 0x41, 0x6B, 0x6E, 0xAC, 0xB1, 0xDD, 0x4F, 0x2C, 0x56, 0xD0, 0x86, 0x1F, 0x22, 0x4E, 0x91, 0xCB, 0x70, 0x01, 0x3D, 0x89, 0xC4, 0x78, 0xF7, 0x15, 0xEE, 0x9E, 0x10, 0xF0, 0x76, 0x8F, 0xAD, 0x68, 0xF6, 0xBE, 0x2B, 0xBA, 0x91, 0x6E, 0x2C, 0xEF, 0xED, 0xA3, 0xBA, 0xB3, 0xDD, 0xF7, 0x64, 0x8D, 0xD4, 0x32, 0x1C, 0x7B, 0x82, 0x0D, 0x7E, 0x64, 0xC1, 0xFB, 0x45, 0xCB, 0xE3, 0xCF, 0x84, 0x90, 0xE9, 0xBE, 0x20, 0xF3, 0xA5, 0xD4, 0xB4, 0xDD, 0x47, 0x4A, 0x8A, 0xDA, 0xF2, 0x52, 0x4B, 0x49, 0x12, 0xCE, 0x52, 0x37, 0x94, 0x93, 0x93, 0x20, 0x85, 0x9E, 0x22, 0x7B, 0x8B, 0x6E, 0x72, 0xC4, 0x93, 0xF7, 0xAF, 0xEC, 0x27, 0x77, 0x7D, 0xF1, 0x1B, 0xF6, 0x6B, 0xF0, 0x85, 0xD5, 0xE4, 0xC2, 0x6B, 0x3B, 0x58, 0xA6, 0xB6, 0xB0, 0x85, 0x4F, 0xFC, 0xBB, 0xA5, 0xC4, 0xAB, 0x6D, 0xB8, 0x1E, 0x46, 0x2D, 0xFC, 0xAC, 0x0F, 0x4C, 0x11, 0x90, 0x41, 0xAF, 0xCE, 0xE8, 0xE0, 0xEB, 0xE1, 0x71, 0xB8, 0x98, 0x55, 0xD2, 0xF2, 0xBF, 0x93, 0x56, 0xD1, 0xAF, 0x55, 0xF9, 0x1F, 0xD5, 0x18, 0xDC, 0xCF, 0x2E, 0xCC, 0xF8, 0x7B, 0x2B, 0xAF, 0x85, 0x49, 0xB8, 0xC1, 0xA7, 0xDD, 0x3B, 0xBB, 0xA6, 0xBF, 0xBA, 0xD3, 0x7F, 0xF6, 0xF2, 0x7D, 0x4F, 0x5E, 0xB3, 0x8D, 0xAF, 0xC8, 0xBA, 0x91, 0x7F, 0x76, 0xBF, 0xEA, 0x22, 0xC6, 0x3E, 0x8C, 0x6B, 0x4D, 0xAD, 0xFF, 0x00, 0xB1, 0xAC, 0x5A, 0xE2, 0x4F, 0x9A, 0xF2, 0xE3, 0x3B, 0x33, 0xFC, 0x02, 0xB5, 0x34, 0x8D, 0x0D, 0x66, 0x97, 0x76, 0x37, 0x47, 0x1F, 0x0C, 0x47, 0x46, 0x23, 0xB0, 0xF6, 0x15, 0x47, 0xC5, 0x77, 0xD0, 0xE9, 0x51, 0x4D, 0x79, 0x74, 0xCA, 0x7C, 0xB0, 0x76, 0x8C, 0xF4, 0xC7, 0x41, 0x5B, 0xEB, 0x29, 0x72, 0xA4, 0x79, 0x52, 0x4A, 0x10, 0x73, 0x9F, 0x4D, 0xCF, 0x36, 0xF8, 0xA5, 0x31, 0xD2, 0xB4, 0x66, 0x8F, 0x77, 0xFA, 0x4D, 0xE1, 0xE7, 0xD7, 0x15, 0xC1, 0xF8, 0x77, 0xC1, 0x26, 0xEE, 0x55, 0x62, 0xB9, 0xCF, 0x24, 0xD6, 0xB6, 0xA3, 0xAC, 0xCF, 0xE3, 0x3F, 0x15, 0x34, 0xCE, 0xA5, 0xA3, 0xDD, 0x84, 0x1E, 0x82, 0xBD, 0x07, 0xC2, 0xDE, 0x17, 0x55, 0x85, 0x4E, 0xCE, 0xA3, 0xD2, 0xBD, 0x79, 0xCE, 0x58, 0x5A, 0x3C, 0xBD, 0x59, 0xF9, 0xF4, 0xE2, 0xB3, 0x4C, 0x63, 0xAB, 0xF6, 0x63, 0xA2, 0xFF, 0x00, 0x33, 0x9D, 0xD2, 0xBC, 0x20, 0xB6, 0xDB, 0x42, 0xA7, 0x3E, 0xB5, 0x5B, 0xC7, 0x5A, 0xAA, 0xE8, 0x1A, 0x63, 0x2E, 0x7B, 0x10, 0x2B, 0xBF, 0xBE, 0x5B, 0x7B, 0x38, 0xDA, 0x3F, 0xE2, 0x5E, 0xB5, 0xE3, 0x5F, 0x15, 0xB5, 0x25, 0xD5, 0xF5, 0x45, 0xB5, 0x89, 0xC1, 0x66, 0x7D, 0xBC, 0x1E, 0xF5, 0x86, 0x06, 0x32, 0xC4, 0x55, 0xB4, 0xB6, 0x5B, 0x9E, 0x8E, 0x61, 0x52, 0x18, 0x3C, 0x33, 0xE4, 0xDD, 0xE8, 0x8F, 0x37, 0xD6, 0xF5, 0x99, 0xE6, 0xB8, 0x73, 0xE6, 0x37, 0xCC, 0x6B, 0x02, 0xFF, 0x00, 0x55, 0x99, 0x8F, 0x7E, 0x2B, 0xE8, 0x1D, 0x37, 0xE0, 0x05, 0xAD, 0xFE, 0x83, 0x1F, 0x9C, 0xCC, 0xB2, 0x15, 0xE4, 0x8E, 0xC6, 0xBC, 0x8B, 0xE2, 0x87, 0xC3, 0xC9, 0xFC, 0x1B, 0x3F, 0xCD, 0xF3, 0xC7, 0xBB, 0x1B, 0xB1, 0x5F, 0x4F, 0x82, 0xC7, 0x61, 0xAA, 0xCF, 0xD9, 0x43, 0x73, 0xE1, 0xB3, 0x2C, 0xAB, 0x1D, 0x42, 0x9F, 0xB7, 0xA9, 0xB7, 0xAE, 0xC7, 0x01, 0xA9, 0x6E, 0xBB, 0x39, 0x6E, 0x79, 0xAC, 0xF9, 0xA2, 0xF2, 0xEB, 0x56, 0xE6, 0x2F, 0x4A, 0xA3, 0x3C, 0x39, 0xAF, 0x73, 0x96, 0xDA, 0x1F, 0x34, 0xE4, 0xDB, 0xBB, 0x32, 0x66, 0x27, 0xAF, 0x63, 0x54, 0xE7, 0x8B, 0x73, 0x56, 0xB4, 0xF0, 0x30, 0x1B, 0xBD, 0x7A, 0xD5, 0x63, 0x08, 0xC7, 0x00, 0x54, 0xB4, 0x38, 0xC9, 0xDC, 0xFC, 0xF4, 0xC5, 0x6A, 0x78, 0x15, 0x77, 0x78, 0xE7, 0x44, 0xFF, 0x00, 0xB0, 0x85, 0xBF, 0xFE, 0x8C, 0x5A, 0xCB, 0x55, 0xDF, 0xF4, 0xAD, 0x7F, 0x03, 0x1F, 0xF8, 0xAE, 0xB4, 0x4F, 0xFB, 0x08, 0x5B, 0xFF, 0x00, 0xE8, 0xC5, 0xAF, 0x36, 0xA7, 0xC0, 0xFD, 0x19, 0xDD, 0x4B, 0xE3, 0x8F, 0xAA, 0xFC, 0xCF, 0xE8, 0x47, 0xE2, 0xB4, 0xA6, 0xDF, 0xE0, 0x7D, 0xF4, 0x83, 0xAA, 0xDA, 0xA1, 0x1F, 0xA5, 0x79, 0xD7, 0x82, 0xBF, 0x6A, 0x0D, 0x57, 0xC3, 0xBA, 0x2C, 0x16, 0x8B, 0x6F, 0x0C, 0x8B, 0x0A, 0xED, 0x0E, 0x7A, 0x9C, 0x74, 0xAF, 0x48, 0xF8, 0xB3, 0x17, 0xFC, 0x58, 0xBD, 0x43, 0x3F, 0xF3, 0xE6, 0x9F, 0xFB, 0x2D, 0x7C, 0xD3, 0x65, 0x84, 0x7D, 0x9F, 0x8D, 0x7C, 0x97, 0x0B, 0x60, 0x68, 0x62, 0x70, 0x93, 0x55, 0xA3, 0x7B, 0x4B, 0x4F, 0xB9, 0x1F, 0xAA, 0x71, 0xFE, 0x69, 0x89, 0xC1, 0xE6, 0x34, 0xA5, 0x86, 0x97, 0x2B, 0x74, 0xD7, 0xE6, 0xCE, 0xDF, 0xE2, 0x87, 0xC4, 0x96, 0xF8, 0x97, 0xAC, 0x43, 0x78, 0xD0, 0xF9, 0x04, 0x46, 0x11, 0xD7, 0x39, 0xE6, 0xB9, 0xD0, 0x98, 0xEF, 0x9F, 0xE9, 0x55, 0xE2, 0x1C, 0x2F, 0xB9, 0xCD, 0x4F, 0x1A, 0xF1, 0xC7, 0x19, 0xAF, 0xB1, 0xA3, 0x42, 0x14, 0x69, 0xAA, 0x74, 0xD5, 0x92, 0x3F, 0x2F, 0xC5, 0x62, 0xAA, 0x62, 0x2A, 0xBA, 0xD5, 0x5D, 0xE4, 0xF7, 0x3A, 0xBF, 0x08, 0x69, 0x3E, 0x22, 0xF1, 0x1E, 0x93, 0x3D, 0xBE, 0x94, 0x26, 0x68, 0xD5, 0x4A, 0x86, 0xD8, 0x4A, 0xA9, 0xC7, 0xAD, 0x63, 0xF8, 0x8B, 0xE0, 0x9F, 0xC4, 0x2B, 0x1D, 0x03, 0xFB, 0x4E, 0x3C, 0xCF, 0xE4, 0xE4, 0x4A, 0xAA, 0x48, 0x65, 0xEB, 0xD0, 0x77, 0xAF, 0x54, 0xF8, 0x41, 0xFB, 0x4B, 0x58, 0xF8, 0x1B, 0x41, 0xD3, 0xF4, 0x0F, 0xEC, 0xF8, 0xD2, 0x47, 0x27, 0x7C, 0xDB, 0x80, 0x32, 0x7B, 0xD7, 0xAC, 0xE9, 0x3E, 0x2F, 0x5F, 0x11, 0xC0, 0x7C, 0xB5, 0x55, 0x8E, 0x4C, 0xF1, 0x5F, 0x1B, 0x99, 0x63, 0x31, 0x34, 0xAB, 0xB6, 0xE9, 0xA5, 0x1B, 0xE8, 0xFB, 0x9F, 0xA7, 0xE4, 0x58, 0x3C, 0x1D, 0x4C, 0x2A, 0x51, 0xAC, 0xE5, 0x2B, 0x2B, 0xAD, 0xAD, 0xE5, 0xAF, 0xDC, 0x7C, 0xC9, 0xF0, 0x1B, 0x4E, 0xF1, 0x2E, 0x97, 0xAC, 0xC7, 0x73, 0x74, 0xD7, 0x05, 0xA3, 0xCF, 0xC8, 0xF9, 0xC1, 0x1D, 0xEB, 0xE8, 0x2B, 0x1F, 0x1F, 0x5D, 0x2D, 0xBA, 0x85, 0x8C, 0x0D, 0xBD, 0x54, 0x9A, 0xE8, 0x2D, 0x3C, 0x23, 0x6F, 0x20, 0x57, 0x58, 0xD7, 0x72, 0x92, 0x41, 0x03, 0xA5, 0x51, 0xD5, 0xFC, 0x28, 0x2D, 0x4A, 0xF9, 0x49, 0x9C, 0x9E, 0x6B, 0xC1, 0xC4, 0x62, 0x15, 0x69, 0x73, 0x33, 0xEB, 0x70, 0xB8, 0x7F, 0xAB, 0xC3, 0x96, 0x3B, 0x16, 0x3C, 0x3B, 0xA9, 0x27, 0x8C, 0xA2, 0x3B, 0xE3, 0x11, 0xCB, 0x6E, 0xD9, 0x20, 0x74, 0x35, 0xD5, 0x69, 0x1E, 0x1D, 0x45, 0x55, 0x6D, 0xA3, 0xA6, 0x71, 0x5C, 0x16, 0x94, 0xE3, 0x43, 0x99, 0xA6, 0x8D, 0xF6, 0x9E, 0xE3, 0xD7, 0x14, 0xDF, 0x05, 0xFE, 0xD5, 0x5A, 0x2D, 0xDD, 0xCD, 0xE5, 0xBD, 0xD3, 0x34, 0x32, 0x58, 0xB1, 0xF3, 0x72, 0x3E, 0xEF, 0x40, 0x3E, 0xBC, 0xD7, 0x35, 0x4C, 0x35, 0x69, 0x47, 0xF7, 0x2A, 0xE6, 0xF4, 0x71, 0x94, 0x23, 0x3B, 0xD7, 0x76, 0x7D, 0xCF, 0x4B, 0xD7, 0x35, 0x01, 0xA1, 0xE9, 0x4C, 0x63, 0x8F, 0x73, 0xF7, 0x51, 0xFC, 0xEB, 0xC3, 0x6F, 0x7C, 0x5B, 0x75, 0xE2, 0x7D, 0x6D, 0xA6, 0x8F, 0x20, 0xDB, 0xB9, 0x59, 0x50, 0x7D, 0xD2, 0x3B, 0x1A, 0xF5, 0x4F, 0x15, 0x7C, 0x47, 0xD3, 0xCD, 0x85, 0x9C, 0x96, 0xF2, 0x44, 0xDF, 0xDA, 0x44, 0x79, 0x44, 0xB0, 0x01, 0xC9, 0x19, 0xC7, 0xD7, 0x83, 0xC5, 0x78, 0xE7, 0x88, 0xBC, 0x51, 0x6F, 0xE0, 0xFF, 0x00, 0x1D, 0x5C, 0x5F, 0xA4, 0x90, 0x47, 0x14, 0xF3, 0xA0, 0x9D, 0x7D, 0x40, 0x04, 0xE4, 0x7E, 0x1F, 0xCA, 0xAF, 0x2E, 0x8F, 0x24, 0x5B, 0x9C, 0x75, 0x7B, 0x18, 0x66, 0xF7, 0xAF, 0x28, 0xC6, 0x94, 0xF4, 0x5B, 0xAF, 0xC8, 0xF4, 0x1D, 0x3B, 0xC3, 0xDF, 0xDB, 0xF6, 0x51, 0xC9, 0x24, 0x7C, 0x36, 0x0E, 0x0F, 0x7F, 0xC2, 0xB7, 0xF4, 0x0F, 0x0B, 0xDB, 0xDA, 0xBF, 0x93, 0x1C, 0x68, 0x1B, 0xAE, 0xD0, 0xBF, 0x81, 0xAC, 0x7F, 0x83, 0xDE, 0x37, 0xB0, 0xF1, 0xC6, 0x9B, 0xE7, 0x59, 0xDC, 0x47, 0x3A, 0x64, 0x16, 0xC7, 0x0C, 0xBF, 0x51, 0xDA, 0xBD, 0x1E, 0xCA, 0xD3, 0x16, 0xEE, 0xD6, 0xEA, 0xBF, 0x68, 0x38, 0x2B, 0x93, 0xC7, 0x6C, 0x66, 0xB8, 0xF1, 0x15, 0x24, 0xE4, 0xE0, 0xF4, 0x3D, 0x0C, 0x3E, 0x16, 0x11, 0x82, 0xA8, 0xAC, 0xCF, 0x22, 0xFD, 0xA2, 0x3F, 0x67, 0xAB, 0x3F, 0x8A, 0xFE, 0x05, 0xBB, 0xB3, 0x5F, 0xDC, 0x5F, 0x46, 0xBB, 0xE0, 0x70, 0x4F, 0xC8, 0xC3, 0x07, 0xA7, 0xBE, 0x31, 0xF8, 0xD7, 0xE7, 0xB4, 0x5E, 0x1D, 0x9A, 0xDA, 0xF1, 0xA1, 0x91, 0x59, 0x64, 0x46, 0x2A, 0x54, 0x8E, 0x84, 0x70, 0x6B, 0xF5, 0x8B, 0xCA, 0x99, 0xF5, 0xCB, 0x86, 0x9A, 0x58, 0x63, 0xF2, 0x9A, 0x38, 0xCA, 0x95, 0xFF, 0x00, 0x58, 0xA5, 0x41, 0xCF, 0x5F, 0x5D, 0xC3, 0xF0, 0xFA, 0x57, 0xC4, 0x3E, 0x30, 0xF8, 0x79, 0x06, 0xB9, 0xF1, 0xA7, 0x5F, 0x48, 0xFF, 0x00, 0x7D, 0x1F, 0xDB, 0x64, 0x24, 0x14, 0xF2, 0xD9, 0x46, 0xE6, 0xE7, 0x03, 0xE8, 0x0F, 0x1D, 0x72, 0x2B, 0xDA, 0xC8, 0xF1, 0x53, 0xA7, 0x19, 0x53, 0x9B, 0xBA, 0x5A, 0xA3, 0xE5, 0xF8, 0x83, 0x03, 0x4E, 0xB4, 0xA1, 0x56, 0x0A, 0xCD, 0xE8, 0xFC, 0xCF, 0x11, 0xB5, 0xF0, 0xCB, 0xC6, 0x7F, 0x79, 0x95, 0x20, 0xE3, 0x04, 0x72, 0x2A, 0xCE, 0xA3, 0xE0, 0xDB, 0x7D, 0x73, 0x4B, 0x7B, 0x39, 0xBE, 0xD0, 0xA9, 0x26, 0x0E, 0xE8, 0x66, 0x68, 0x64, 0x42, 0x3A, 0x30, 0x75, 0x20, 0x82, 0x2B, 0xE8, 0xBB, 0xDF, 0x81, 0x7A, 0x4D, 0xAE, 0x86, 0xDA, 0xC5, 0xCE, 0xE5, 0xF3, 0x1C, 0x00, 0xBB, 0xBA, 0x37, 0x4F, 0xD7, 0x8A, 0xE7, 0xF5, 0x5F, 0x03, 0xD8, 0xDA, 0x4B, 0xF3, 0x11, 0x19, 0x93, 0xA2, 0x01, 0xDA, 0xBD, 0x78, 0xE6, 0x14, 0xEA, 0xA7, 0x06, 0xAE, 0xBA, 0x9E, 0x5C, 0x32, 0xBA, 0x94, 0x26, 0xAA, 0x46, 0x56, 0x92, 0x77, 0x56, 0x7A, 0xAB, 0x6C, 0xD1, 0xC0, 0xFC, 0x05, 0xFD, 0x8F, 0x7C, 0x47, 0xFB, 0x4A, 0x78, 0xC6, 0xE3, 0x4F, 0xBA, 0x6F, 0x0B, 0xDB, 0xF8, 0x67, 0x41, 0xD3, 0x9E, 0x4D, 0x6B, 0xC4, 0x77, 0x68, 0xCB, 0x71, 0xF6, 0x7E, 0x76, 0xC4, 0xF0, 0x22, 0x62, 0x46, 0xDA, 0xAC, 0xC7, 0xF7, 0xA8, 0x84, 0x2B, 0x1C, 0x47, 0x90, 0xB5, 0xF7, 0x27, 0xC5, 0xDB, 0x1D, 0x3B, 0xE1, 0x96, 0x8B, 0x2F, 0x86, 0x6D, 0xED, 0x34, 0xFB, 0x2D, 0x27, 0xC2, 0x7A, 0x65, 0x95, 0xB6, 0x8F, 0x68, 0x08, 0xF2, 0xB4, 0xBB, 0x68, 0x97, 0xCA, 0x86, 0x42, 0x14, 0x0F, 0x28, 0xCB, 0xE5, 0x4A, 0x15, 0x46, 0xE2, 0x56, 0xD9, 0x89, 0xC6, 0xE8, 0xF3, 0xC0, 0xE9, 0xBA, 0xDC, 0x3F, 0x06, 0x3F, 0x67, 0x3B, 0x7D, 0x0D, 0x61, 0x46, 0xF1, 0x0F, 0xC4, 0x29, 0x56, 0x79, 0x91, 0xD4, 0xF1, 0x66, 0x36, 0xE5, 0x9F, 0xD5, 0x7C, 0x94, 0xD8, 0x57, 0xFB, 0xD2, 0x2A, 0x9C, 0x6E, 0x24, 0x71, 0x9F, 0xF0, 0x55, 0x5F, 0x1C, 0xC7, 0xF0, 0xA3, 0xC4, 0x91, 0xE8, 0x36, 0x32, 0x6E, 0xBA, 0xF1, 0xA5, 0xD4, 0xBA, 0xD5, 0xF3, 0x97, 0xF9, 0xD6, 0xD6, 0xDA, 0xCA, 0x28, 0x22, 0x56, 0xF5, 0x06, 0x68, 0x5D, 0xBE, 0xB2, 0xB1, 0xF5, 0xAF, 0xCB, 0x9E, 0x5D, 0x0C, 0x66, 0x67, 0xEC, 0x30, 0xEA, 0xD0, 0x6D, 0xDB, 0xFE, 0xDD, 0xB5, 0xDA, 0xFC, 0x7F, 0x04, 0x7D, 0x16, 0x75, 0xC6, 0xB9, 0x8D, 0x7A, 0x34, 0xE7, 0x99, 0x54, 0xE6, 0x8D, 0x14, 0xD4, 0x52, 0x49, 0x5D, 0xE9, 0xAB, 0xB7, 0x56, 0xEC, 0xBD, 0x2F, 0xDD, 0x9F, 0x09, 0xFE, 0xD8, 0x1F, 0x1A, 0xA4, 0xF1, 0xC6, 0xAF, 0xA9, 0x5D, 0x5A, 0xFF, 0x00, 0xC7, 0x9D, 0xAF, 0x9C, 0x96, 0xF3, 0x6D, 0x22, 0x6B, 0xBC, 0x33, 0xEF, 0x95, 0xC6, 0x4E, 0x32, 0xE8, 0x42, 0xA2, 0xF0, 0x15, 0x47, 0x56, 0x2C, 0xC7, 0xC7, 0xFC, 0x37, 0xAF, 0xDC, 0x69, 0xAD, 0x6B, 0x7D, 0x0B, 0x32, 0xFF, 0x00, 0x64, 0xFD, 0xBE, 0x78, 0xDF, 0x38, 0xCC, 0x8C, 0x8D, 0x1C, 0x44, 0x7F, 0xB4, 0x3C, 0xDD, 0xC3, 0xDC, 0x52, 0xEB, 0x17, 0xCD, 0x75, 0x61, 0x6B, 0x2D, 0xD3, 0x7E, 0xF6, 0xE2, 0x70, 0x0F, 0xA1, 0x8B, 0x61, 0x2C, 0x7F, 0x03, 0x26, 0x4F, 0xBB, 0x56, 0xCB, 0xF8, 0x6E, 0x6B, 0x5D, 0x3B, 0xCB, 0x98, 0x6D, 0x87, 0x4F, 0xB4, 0x4B, 0x79, 0x80, 0x23, 0x6B, 0x4F, 0xFE, 0x8D, 0xB7, 0x03, 0xBE, 0x41, 0x67, 0xCF, 0xF4, 0xAF, 0xDD, 0x28, 0x46, 0x96, 0x1A, 0x94, 0x70, 0xF1, 0xEC, 0x7E, 0x13, 0xF5, 0x5A, 0xF8, 0xFA, 0xB5, 0x31, 0x93, 0xEF, 0xAB, 0xF3, 0xDD, 0x7D, 0xD6, 0x3C, 0xCB, 0xC4, 0x96, 0x93, 0x68, 0xBE, 0x2E, 0x36, 0x10, 0xDB, 0xBC, 0xCD, 0xF6, 0x38, 0x44, 0x6C, 0xBD, 0xA4, 0x8C, 0x9E, 0x3E, 0x8C, 0xA5, 0xC7, 0xE2, 0x3D, 0x29, 0xDA, 0xAE, 0x89, 0x1B, 0xA4, 0x1A, 0x86, 0x9F, 0x1F, 0x9D, 0x1C, 0xD9, 0x96, 0x28, 0x3F, 0xBC, 0xA5, 0x49, 0x78, 0xB1, 0xF4, 0x07, 0x03, 0xE8, 0x2B, 0xB4, 0xD4, 0x34, 0x6B, 0xAD, 0x5F, 0xC7, 0xAE, 0xF6, 0x76, 0x7F, 0x6A, 0x58, 0xE0, 0x2E, 0x5B, 0xCC, 0x55, 0x55, 0xDD, 0x22, 0x28, 0xCE, 0x7D, 0x55, 0x9F, 0xE9, 0x9C, 0xD7, 0x3B, 0x63, 0xA9, 0x37, 0xFC, 0x26, 0xD1, 0xD9, 0x3D, 0xAC, 0xD6, 0xF1, 0xDD, 0x16, 0xBA, 0x84, 0x70, 0x55, 0x5B, 0x81, 0x20, 0xE3, 0xA7, 0x27, 0xA1, 0xC7, 0x2D, 0x5E, 0x84, 0x71, 0xC9, 0xB7, 0x05, 0xBA, 0xB7, 0xE4, 0x71, 0x54, 0xC8, 0x64, 0xA0, 0xAA, 0x3D, 0x9D, 0xD2, 0xF9, 0x33, 0x93, 0x5F, 0xB3, 0xDD, 0xF8, 0x6B, 0x5D, 0xD2, 0xE4, 0x6D, 0xCD, 0x34, 0x3F, 0x6C, 0xB3, 0x98, 0x8C, 0xB2, 0xAF, 0x98, 0xB3, 0x10, 0x79, 0x07, 0x3B, 0xE3, 0xCF, 0x51, 0xCC, 0xAD, 0xDF, 0x35, 0xF5, 0x57, 0xEC, 0x11, 0xFB, 0x72, 0x2F, 0x80, 0xBC, 0x62, 0xDA, 0x4E, 0xB5, 0xAB, 0x35, 0xC6, 0x8B, 0x72, 0x52, 0x3D, 0x56, 0xDC, 0x5A, 0x2C, 0x67, 0x4B, 0x04, 0x05, 0x8E, 0xE6, 0x14, 0x8D, 0x07, 0xCA, 0x14, 0x28, 0x60, 0xB9, 0xDC, 0x83, 0x80, 0x4A, 0xAD, 0x7C, 0xAF, 0xAB, 0x69, 0xD1, 0x58, 0x6B, 0x77, 0xB7, 0x0E, 0x8E, 0xAB, 0x6F, 0x23, 0x43, 0xB5, 0x54, 0xB2, 0x49, 0x1C, 0x99, 0xF9, 0x4E, 0x39, 0x1C, 0xE7, 0xA7, 0x7C, 0xE3, 0x00, 0xE0, 0x7B, 0x77, 0xC2, 0x7F, 0x87, 0xFA, 0x4F, 0x86, 0xF4, 0xE9, 0xB3, 0x71, 0x73, 0xA8, 0x24, 0x59, 0x96, 0xDE, 0x29, 0xF0, 0xBC, 0x03, 0x93, 0x1B, 0x32, 0x05, 0x66, 0x19, 0x1D, 0x32, 0x08, 0x0C, 0x79, 0xCF, 0x35, 0xE1, 0xE7, 0xD8, 0x1A, 0x98, 0x86, 0xA7, 0x43, 0x7E, 0xBF, 0x23, 0xEE, 0x78, 0x13, 0x89, 0xB2, 0xCC, 0xA6, 0x85, 0x4A, 0x39, 0x9C, 0x1C, 0x9D, 0xDB, 0x8B, 0x49, 0x36, 0xAE, 0x92, 0x76, 0x6D, 0xAB, 0x3D, 0x13, 0x6F, 0xB1, 0xFA, 0xCD, 0x79, 0xE2, 0x1B, 0x1B, 0x7D, 0x06, 0x39, 0xEC, 0xEE, 0x20, 0xB8, 0xB3, 0x96, 0x15, 0x9A, 0x3B, 0x88, 0x64, 0x12, 0x44, 0xF1, 0x32, 0x82, 0xAE, 0xAC, 0x09, 0x0C, 0xA4, 0x10, 0x41, 0x07, 0x04, 0x10, 0x45, 0x79, 0x6F, 0x8C, 0xFC, 0x55, 0x0F, 0x89, 0xAF, 0x3E, 0xCD, 0x09, 0xF3, 0x21, 0x61, 0xC6, 0x3B, 0xD7, 0x33, 0xE0, 0xBB, 0xFF, 0x00, 0x0D, 0x78, 0x5B, 0xE0, 0xBD, 0xA5, 0x9F, 0x82, 0xAD, 0x1B, 0x4F, 0xD0, 0x27, 0x57, 0x95, 0x2D, 0x05, 0xCC, 0xB7, 0x02, 0x07, 0x76, 0x2F, 0x22, 0x86, 0x91, 0x99, 0xB1, 0xBD, 0x89, 0xEB, 0x8E, 0x72, 0x00, 0xCD, 0x6F, 0x7C, 0x12, 0xF8, 0x63, 0xA9, 0x6A, 0xBE, 0x21, 0x8B, 0x52, 0xBC, 0x8C, 0x45, 0xA6, 0xA8, 0xF3, 0x3F, 0x79, 0xFF, 0x00, 0x2D, 0x41, 0xCE, 0x31, 0x5E, 0x35, 0x1A, 0x34, 0xE9, 0x50, 0x78, 0x8A, 0x8E, 0xCD, 0x6C, 0x7D, 0x36, 0x6D, 0x99, 0xD5, 0xC5, 0x62, 0x61, 0x82, 0xC2, 0xAB, 0xC5, 0xD9, 0xB7, 0xE5, 0xDF, 0xD2, 0xC6, 0x87, 0x83, 0xBE, 0x15, 0x49, 0x67, 0x72, 0xD3, 0x34, 0x79, 0x0C, 0x77, 0x03, 0xD8, 0x0A, 0xD9, 0xF1, 0x8C, 0x77, 0x5E, 0x1B, 0xD1, 0x5A, 0x6B, 0x7E, 0x59, 0x07, 0x03, 0x1D, 0x4D, 0x7A, 0x6D, 0x94, 0x16, 0xB7, 0x3A, 0x75, 0xC4, 0xC8, 0xAC, 0xB0, 0x59, 0xE4, 0x1C, 0x2F, 0xDE, 0xC7, 0xA5, 0x3B, 0xC4, 0x9F, 0x0E, 0xEF, 0x3C, 0x47, 0xE1, 0x9B, 0x59, 0x6D, 0x6D, 0x95, 0x85, 0xC4, 0x88, 0xCA, 0xA3, 0xB2, 0xF5, 0xC9, 0xFC, 0x2B, 0xC6, 0xFA, 0xFC, 0xEA, 0x55, 0x52, 0xAB, 0xB1, 0xED, 0x47, 0x2A, 0x85, 0x2A, 0x0E, 0x14, 0x37, 0x6B, 0x4B, 0x1C, 0x87, 0x83, 0xFC, 0x1F, 0x0E, 0xB3, 0xA2, 0x42, 0xD7, 0x96, 0x33, 0x2C, 0x8B, 0x10, 0x67, 0x92, 0x42, 0x46, 0xED, 0xC3, 0x27, 0x1E, 0xB5, 0xF3, 0xC7, 0xC6, 0x0F, 0x87, 0xEB, 0xF0, 0xFF, 0x00, 0xC4, 0x49, 0x75, 0x6F, 0xE6, 0x3C, 0x6D, 0x31, 0x64, 0x0F, 0xCF, 0x19, 0xCD, 0x7D, 0xA9, 0xAE, 0xC6, 0xF1, 0xD9, 0x47, 0x1A, 0xC4, 0x63, 0x7F, 0x2C, 0x16, 0x1D, 0x97, 0x8E, 0x46, 0x6B, 0xE5, 0x1F, 0xDA, 0x67, 0x56, 0x5D, 0x4B, 0x5E, 0x5B, 0x18, 0x55, 0xB7, 0x5A, 0xB9, 0x2E, 0x47, 0x38, 0x62, 0x3E, 0xEF, 0xE1, 0x5E, 0xB7, 0x0D, 0xD5, 0xA9, 0x53, 0x10, 0xFF, 0x00, 0x95, 0xEE, 0xBC, 0x8F, 0x27, 0x8C, 0xF0, 0xB8, 0x7A, 0x38, 0x28, 0xA7, 0xAC, 0xE3, 0x6B, 0x3F, 0x3D, 0x0D, 0x7F, 0x0C, 0x7C, 0x5B, 0xD2, 0x2F, 0xB4, 0x18, 0x9A, 0x7B, 0x88, 0xED, 0x9F, 0xEE, 0xB2, 0xBB, 0x72, 0x08, 0xAF, 0x1A, 0xF8, 0xF5, 0xE2, 0xE8, 0x75, 0xFD, 0x55, 0xAD, 0xAD, 0x99, 0x64, 0x8E, 0x33, 0xB8, 0xC8, 0x0F, 0x04, 0xD5, 0x1B, 0xFD, 0x12, 0xE1, 0x47, 0xCD, 0x0B, 0xFC, 0xC3, 0x2B, 0x95, 0xEB, 0xF4, 0xA8, 0xEE, 0x7E, 0x1D, 0xEA, 0x42, 0xDF, 0xCF, 0x6B, 0x59, 0x3C, 0xB9, 0x06, 0x46, 0x47, 0x20, 0x57, 0xD4, 0x61, 0xF2, 0xBC, 0x36, 0x1A, 0xB7, 0xB7, 0xE6, 0xF4, 0x4C, 0xF8, 0x4C, 0x66, 0x79, 0x8D, 0xC6, 0x61, 0xFE, 0xAD, 0xC9, 0xDA, 0xED, 0x26, 0x70, 0xB7, 0x30, 0x33, 0x29, 0xF6, 0x35, 0x9F, 0x71, 0x06, 0x4F, 0xF2, 0xAD, 0xDD, 0x52, 0x16, 0x86, 0x46, 0x46, 0x5D, 0xAC, 0xA7, 0x04, 0x56, 0x4C, 0x91, 0x16, 0xED, 0xF4, 0x35, 0xF4, 0x1D, 0x2E, 0x7C, 0xA3, 0xD1, 0xD9, 0x99, 0xD2, 0x43, 0x96, 0x50, 0x3F, 0xFD, 0x75, 0x0D, 0xCD, 0xB6, 0xC5, 0xC7, 0x6F, 0xA5, 0x74, 0x9A, 0x47, 0x86, 0xDE, 0x76, 0xDC, 0xCB, 0xED, 0x5A, 0x4F, 0xE0, 0xBF, 0x37, 0xEF, 0x0F, 0xC2, 0xB9, 0x2A, 0x62, 0x21, 0x07, 0x66, 0x76, 0xE1, 0xF0, 0x75, 0x2A, 0x6A, 0x91, 0xF9, 0x67, 0x5A, 0x5E, 0x07, 0xFF, 0x00, 0x91, 0xEB, 0x45, 0xFF, 0x00, 0xB0, 0x85, 0xBF, 0xFE, 0x8C, 0x5A, 0xCD, 0xCD, 0x69, 0xF8, 0x14, 0x67, 0xC7, 0x7A, 0x2F, 0xFD, 0x84, 0x2D, 0xFF, 0x00, 0xF4, 0x62, 0xD7, 0x24, 0xFE, 0x16, 0x5D, 0x3F, 0x8D, 0x7A, 0xAF, 0xCC, 0xFE, 0x85, 0xBE, 0x30, 0xCC, 0xB6, 0xDF, 0x01, 0xB5, 0x29, 0x18, 0xED, 0x02, 0xC9, 0x09, 0x27, 0xF0, 0xAF, 0x90, 0x2F, 0x3C, 0x70, 0xAB, 0xAA, 0x42, 0xB0, 0xE1, 0xA3, 0xFE, 0x26, 0xF4, 0xAF, 0xAD, 0x3F, 0x68, 0x45, 0xD9, 0xFB, 0x34, 0xEB, 0x9D, 0x7F, 0xE4, 0x1E, 0xA7, 0xFF, 0x00, 0x41, 0xAF, 0x86, 0x6D, 0x9F, 0x6A, 0x86, 0xEF, 0x93, 0x5F, 0x25, 0xC2, 0x95, 0x9C, 0x30, 0xD3, 0x51, 0xFE, 0x6F, 0xD1, 0x1F, 0xAD, 0x71, 0xF6, 0x16, 0x15, 0x31, 0xD4, 0xA5, 0x2F, 0xE4, 0xFD, 0x59, 0xEB, 0x5A, 0x5E, 0xB7, 0x6F, 0x76, 0x17, 0x6C, 0x8A, 0xDF, 0x8F, 0x26, 0xB4, 0xD2, 0x4D, 0xC9, 0xC7, 0xB5, 0x79, 0xC6, 0x83, 0xE1, 0x9D, 0x52, 0x64, 0x5B, 0x8B, 0x54, 0x6E, 0x84, 0xF1, 0x56, 0x2E, 0xFC, 0x53, 0x7D, 0x14, 0x1F, 0x67, 0x90, 0x18, 0xE6, 0x8C, 0xF2, 0x7B, 0x9A, 0xFA, 0xB8, 0xE3, 0x69, 0xCB, 0x4E, 0xA7, 0xE7, 0x75, 0xB2, 0x5A, 0xB1, 0x69, 0xC7, 0x66, 0x77, 0xDF, 0x65, 0xF3, 0x75, 0x0B, 0x39, 0xD5, 0x77, 0x49, 0x0C, 0x9C, 0x10, 0x7E, 0xE8, 0xAF, 0xA3, 0xFE, 0x10, 0xEA, 0xB1, 0xC9, 0x65, 0x0A, 0x96, 0xF9, 0xB1, 0xCE, 0x6B, 0xE5, 0xCF, 0x02, 0xEB, 0xED, 0x7E, 0x23, 0xF3, 0x98, 0x6E, 0x07, 0x9F, 0xE9, 0x5F, 0x44, 0x7C, 0x13, 0xD5, 0xB4, 0xFD, 0x68, 0xC5, 0x60, 0xCC, 0xB6, 0xF7, 0x51, 0x82, 0x55, 0xF7, 0xFF, 0x00, 0xAC, 0x3D, 0xB8, 0xAF, 0x1F, 0x3B, 0x51, 0x9D, 0x0E, 0x74, 0x7B, 0x9C, 0x35, 0x29, 0xD1, 0xC5, 0xFB, 0x29, 0x3B, 0x5F, 0x6F, 0x33, 0xDE, 0x74, 0xD8, 0x84, 0x96, 0xBC, 0x7F, 0x77, 0x22, 0xA0, 0xD7, 0xF4, 0x5B, 0x8B, 0xA5, 0xB3, 0x36, 0xD9, 0xCA, 0xB8, 0xF3, 0x4E, 0x3A, 0x0A, 0xC0, 0xD7, 0xFE, 0x21, 0xDA, 0xF8, 0x03, 0x4B, 0xDB, 0x73, 0x22, 0x8E, 0xC8, 0xDD, 0x77, 0x63, 0xDA, 0x99, 0xA0, 0xFC, 0x78, 0xD2, 0xF5, 0x7B, 0x44, 0x7F, 0xB4, 0x43, 0x10, 0x6C, 0x81, 0xB8, 0xE3, 0xA5, 0x7E, 0x7B, 0x2A, 0x55, 0x97, 0xEF, 0x21, 0x16, 0xD1, 0xFA, 0xE7, 0xD7, 0x30, 0xF6, 0xF6, 0x75, 0x64, 0x93, 0x33, 0x75, 0x0D, 0x1B, 0x4F, 0x3E, 0x28, 0xB8, 0xB0, 0x6D, 0x51, 0x19, 0xAF, 0x1C, 0xF9, 0x68, 0xC7, 0x0D, 0x1B, 0x1E, 0xC3, 0xD4, 0x57, 0x9B, 0x5D, 0xFE, 0xCA, 0xD7, 0x5F, 0x0F, 0x35, 0x4D, 0x5F, 0x54, 0x9E, 0xF5, 0x27, 0xB5, 0x9A, 0x3D, 0xDE, 0x63, 0x37, 0x53, 0x9C, 0xE0, 0x8A, 0xED, 0x7C, 0x43, 0xE1, 0xEF, 0x0F, 0xEA, 0x3E, 0x23, 0xB5, 0xF1, 0x2C, 0xD7, 0xC2, 0xDE, 0x48, 0xE6, 0xDE, 0x87, 0xCC, 0x01, 0x1C, 0x8A, 0xC3, 0xF8, 0xEF, 0xF1, 0x9F, 0xC3, 0x3A, 0xE7, 0xC2, 0xDD, 0x4A, 0xC6, 0x6D, 0x51, 0x6E, 0x26, 0xB8, 0x5D, 0xB0, 0xC7, 0x04, 0x87, 0x7B, 0xC8, 0x39, 0x5E, 0x9D, 0xB3, 0x82, 0x73, 0xC5, 0x77, 0x51, 0xAF, 0x55, 0x4A, 0x30, 0xA3, 0x7D, 0x6C, 0xA5, 0xA6, 0xDA, 0xF4, 0x3C, 0x6A, 0xD1, 0xA1, 0x25, 0x39, 0xE2, 0x12, 0xD1, 0xB7, 0x1D, 0x77, 0x56, 0xEA, 0x72, 0xB1, 0xE9, 0x51, 0x6B, 0xB6, 0xD6, 0xBA, 0x6A, 0xB7, 0xCB, 0x1C, 0xAB, 0x3A, 0xB2, 0x36, 0x19, 0x58, 0x0C, 0x0C, 0x1E, 0xA3, 0xF0, 0xAD, 0xE9, 0xFF, 0x00, 0x67, 0x9D, 0x1F, 0x53, 0xD5, 0x85, 0xE5, 0xDD, 0xE5, 0xE5, 0xE2, 0x49, 0xF3, 0x34, 0x2F, 0x2E, 0xE8, 0xCB, 0xEC, 0xD8, 0x08, 0xDC, 0x33, 0xC0, 0xC8, 0xFC, 0x6A, 0x1F, 0xD9, 0x3F, 0xC0, 0x16, 0xA9, 0xE1, 0x08, 0x75, 0xC9, 0xE5, 0x9E, 0xEA, 0xF2, 0xE4, 0x14, 0xC4, 0xC4, 0xED, 0x88, 0x0E, 0x30, 0x07, 0x4F, 0xC6, 0xBB, 0xEB, 0xA1, 0x63, 0x71, 0x65, 0x75, 0x3D, 0xAD, 0xD4, 0x72, 0x1B, 0x39, 0x18, 0x90, 0xB2, 0xFF, 0x00, 0x1F, 0xF7, 0x4F, 0xE8, 0x2A, 0x71, 0x58, 0x9A, 0x91, 0xAA, 0xE1, 0x09, 0x3D, 0x1D, 0x9F, 0xA9, 0xA6, 0x05, 0x51, 0x95, 0x15, 0x56, 0x50, 0x4B, 0x9B, 0x54, 0xBC, 0x89, 0x3E, 0x19, 0xFC, 0x3F, 0xB3, 0xF0, 0x34, 0xBF, 0xE8, 0x7F, 0xBB, 0x84, 0xA6, 0xD2, 0xAB, 0x8C, 0x0E, 0x73, 0xCF, 0xEB, 0x5D, 0x06, 0xB7, 0xF1, 0x16, 0x4D, 0x0F, 0x43, 0x99, 0x16, 0x3F, 0x36, 0x76, 0xCC, 0x6B, 0xF3, 0x60, 0x80, 0x7B, 0xF4, 0xEB, 0xD3, 0xF1, 0x35, 0xC4, 0x7C, 0x33, 0xF1, 0xE2, 0xF8, 0x97, 0x44, 0x68, 0xEE, 0x26, 0x86, 0x3B, 0xE6, 0x55, 0x46, 0x45, 0x62, 0x30, 0xFC, 0x1C, 0x2F, 0xB7, 0x5C, 0x57, 0xA2, 0x78, 0x53, 0xC1, 0x96, 0x4E, 0x63, 0xBA, 0x75, 0x76, 0x99, 0x23, 0x11, 0x1D, 0xEC, 0x48, 0x2B, 0xF4, 0xE9, 0xD6, 0xB8, 0xAB, 0x37, 0x4A, 0xA7, 0xEF, 0xD5, 0xD9, 0xEA, 0xE1, 0xE5, 0x1C, 0x45, 0x2B, 0xE1, 0x5D, 0x93, 0x3C, 0xF3, 0x42, 0xF8, 0xFF, 0x00, 0x6F, 0xA4, 0xF8, 0x88, 0xAE, 0xB5, 0x78, 0xD2, 0x7D, 0xB5, 0xF6, 0x4E, 0x1D, 0x4E, 0xD8, 0x36, 0x80, 0x11, 0x90, 0x7A, 0x16, 0x66, 0xC8, 0xEC, 0x14, 0x7D, 0x4F, 0x13, 0x2E, 0xA4, 0xB7, 0x3F, 0x11, 0x1F, 0x51, 0x5F, 0x31, 0xEC, 0x2E, 0x0C, 0x9B, 0x3E, 0x55, 0x5D, 0xA1, 0x8E, 0x41, 0x6E, 0x32, 0x7D, 0x3D, 0xB1, 0x57, 0xBF, 0x68, 0xEF, 0x86, 0x96, 0xBA, 0x03, 0xDC, 0xEB, 0xC3, 0x77, 0xDA, 0x1A, 0xED, 0x72, 0x14, 0xFD, 0xF4, 0x27, 0x04, 0xB0, 0xF6, 0xC8, 0xC1, 0xFC, 0x3D, 0x05, 0x55, 0xF8, 0x74, 0x9F, 0xF0, 0x98, 0xE9, 0x53, 0x35, 0x98, 0xF3, 0xBC, 0x91, 0xE5, 0xEC, 0x03, 0x07, 0x79, 0xEA, 0x3F, 0x0F, 0xEB, 0x5E, 0xCC, 0xAA, 0x53, 0xF6, 0x7E, 0xDA, 0x94, 0x6C, 0x9E, 0x8C, 0xF0, 0x69, 0xE1, 0x2A, 0x7B, 0x47, 0x42, 0xAC, 0xB9, 0x9C, 0x75, 0x56, 0xEC, 0x77, 0x87, 0x40, 0xD3, 0x7C, 0x67, 0xE0, 0x99, 0xED, 0x2D, 0x24, 0x86, 0xEA, 0xEA, 0x5E, 0x42, 0x96, 0xE7, 0x82, 0x7F, 0x2A, 0xE6, 0xBC, 0x09, 0xF0, 0x3B, 0xFE, 0x12, 0xCF, 0x8A, 0x70, 0x58, 0xEA, 0x1C, 0xA5, 0xA4, 0x2D, 0x35, 0xCC, 0x59, 0xE1, 0xA3, 0x40, 0x4F, 0x5F, 0x42, 0x70, 0x3F, 0x1A, 0xD1, 0xF0, 0x37, 0xC3, 0x1B, 0xAF, 0x0F, 0xC8, 0xDA, 0xA4, 0x93, 0x1B, 0x7B, 0xAB, 0x62, 0x36, 0xC6, 0x0F, 0xC9, 0x8E, 0x7A, 0x9E, 0xF5, 0xE8, 0xFF, 0x00, 0x02, 0xF4, 0x19, 0xAD, 0x2E, 0xEE, 0xA6, 0xBC, 0x93, 0xCC, 0xD5, 0xBC, 0x71, 0xA8, 0xC5, 0x63, 0x6C, 0xF8, 0xC3, 0x43, 0x68, 0xBB, 0xA6, 0x98, 0xAF, 0x70, 0x3C, 0xB4, 0x3F, 0x37, 0xAB, 0xC7, 0xED, 0x5E, 0x5E, 0x23, 0x1B, 0xF5, 0x7A, 0x35, 0x14, 0x25, 0x7B, 0xDE, 0xDE, 0xB6, 0xD7, 0xE4, 0x96, 0xA1, 0x8F, 0xA7, 0xFB, 0xB5, 0x56, 0x71, 0xE5, 0x92, 0xFC, 0xBB, 0xFE, 0xBF, 0x23, 0xCA, 0xBE, 0x38, 0xC5, 0x36, 0xA1, 0xFB, 0x49, 0x5F, 0x34, 0x3E, 0x5C, 0xDF, 0xD9, 0xD6, 0x30, 0xE9, 0x76, 0x91, 0x91, 0xF2, 0xC4, 0xE0, 0x33, 0xCC, 0x3E, 0x9B, 0xF6, 0xE7, 0xFD, 0xCA, 0xF9, 0x07, 0xF6, 0xEA, 0xF1, 0x2E, 0xA1, 0xE3, 0x4F, 0x88, 0x5E, 0x22, 0xF1, 0x25, 0xD5, 0xE4, 0xDA, 0x8C, 0x36, 0x37, 0x71, 0xF8, 0x6E, 0xC2, 0x49, 0x0E, 0xE6, 0x4B, 0x5B, 0x58, 0x16, 0x3D, 0xC4, 0x8E, 0x0B, 0x4B, 0x34, 0xC5, 0xD8, 0x8E, 0xA4, 0xE7, 0xA5, 0x7D, 0x59, 0xE3, 0x7F, 0x8A, 0xBA, 0x7F, 0x82, 0x7C, 0x4D, 0xE2, 0x8F, 0x16, 0x34, 0x76, 0xFA, 0x95, 0xE6, 0xA5, 0x73, 0x75, 0x35, 0xB2, 0x48, 0xBF, 0xB9, 0xB4, 0x8A, 0x79, 0x98, 0x3C, 0x92, 0x0E, 0xED, 0xE5, 0x3B, 0x2A, 0xA0, 0xE3, 0x0C, 0x4B, 0x12, 0x30, 0xAF, 0xF2, 0x5F, 0xED, 0x0D, 0xA1, 0xFF, 0x00, 0xC2, 0x37, 0xFB, 0x21, 0xFC, 0x31, 0xD4, 0xA5, 0x66, 0x93, 0xFB, 0x76, 0x3D, 0x50, 0x5E, 0xC8, 0xEA, 0x5A, 0x49, 0xDE, 0xDE, 0x69, 0x23, 0xDD, 0xC1, 0x04, 0xB3, 0x28, 0xB7, 0x20, 0xFA, 0x95, 0xA9, 0xE1, 0xBA, 0x7E, 0xC6, 0xBC, 0x26, 0xD6, 0x8E, 0xD1, 0x4F, 0xE4, 0xE4, 0xFF, 0x00, 0x24, 0x7C, 0x6F, 0x10, 0x45, 0x54, 0xC3, 0x7B, 0x2B, 0xEB, 0x15, 0xCC, 0xFE, 0x6D, 0x25, 0xFA, 0x9F, 0x34, 0x6C, 0xF0, 0x97, 0x84, 0x7C, 0x31, 0xA1, 0xDC, 0x78, 0xD3, 0x54, 0xD3, 0xAC, 0xA2, 0x86, 0xF9, 0xA4, 0xF3, 0x6F, 0x27, 0x54, 0x86, 0xDE, 0x15, 0x55, 0x79, 0x30, 0xA7, 0xEF, 0xBB, 0x48, 0x4A, 0x81, 0xC9, 0xC8, 0x1B, 0x47, 0x06, 0xBA, 0x5B, 0x3F, 0x1E, 0x78, 0x7F, 0xE2, 0xE6, 0x9D, 0x17, 0x88, 0x3C, 0x3B, 0xA9, 0x59, 0xEB, 0xDA, 0x3D, 0xE5, 0xF4, 0x8B, 0xA8, 0xDD, 0xC0, 0xC5, 0x56, 0x1B, 0x80, 0x8D, 0x20, 0xCA, 0x36, 0x1D, 0x7E, 0x5C, 0x26, 0x19, 0x41, 0x03, 0x6F, 0x18, 0x60, 0x4F, 0x37, 0xF1, 0x73, 0xF6, 0x13, 0xF1, 0xB7, 0x89, 0xAC, 0xF4, 0xFF, 0x00, 0x15, 0xEA, 0x0F, 0xA4, 0xDD, 0xAE, 0x9F, 0x67, 0x16, 0xA1, 0x69, 0xA4, 0xCB, 0x00, 0xB8, 0xFD, 0xE0, 0xBC, 0x82, 0x50, 0xE6, 0x22, 0x0C, 0x6F, 0xBA, 0x08, 0xE4, 0x42, 0xA4, 0x37, 0xFA, 0xCC, 0x10, 0x4C, 0xC4, 0x2F, 0xA0, 0x7E, 0xC9, 0x9F, 0xB3, 0xAD, 0x9F, 0xC1, 0xAF, 0x01, 0x6A, 0xDA, 0x05, 0xCC, 0xC3, 0x5B, 0xB6, 0x5D, 0x65, 0xAE, 0xAD, 0x6F, 0x24, 0xB7, 0x7B, 0x7F, 0xB4, 0x2F, 0xD9, 0xAD, 0xD4, 0xB2, 0xAB, 0x31, 0x21, 0x37, 0xA3, 0x60, 0x64, 0x8E, 0x0F, 0x27, 0x9A, 0xFB, 0xA9, 0x54, 0x8D, 0x4B, 0xE2, 0x61, 0x34, 0xF9, 0x5D, 0xAD, 0xD7, 0xD4, 0xE1, 0xCB, 0x68, 0xD6, 0xA3, 0x4E, 0x38, 0x49, 0xD3, 0x69, 0x4A, 0x37, 0x72, 0xFE, 0xB4, 0xBE, 0x87, 0x1D, 0xE2, 0xCF, 0x88, 0x32, 0x7C, 0x28, 0xF0, 0x17, 0x88, 0x3C, 0x5D, 0x07, 0x87, 0x67, 0xD6, 0xA4, 0x8A, 0x4B, 0x7B, 0x3B, 0x7B, 0x41, 0x70, 0x96, 0xC3, 0xCD, 0x32, 0x85, 0x8D, 0x5D, 0x8E, 0x76, 0x86, 0xDE, 0x1C, 0x9C, 0x1F, 0xEE, 0x9C, 0x12, 0x2B, 0xC3, 0x3E, 0x18, 0xFC, 0x6C, 0xD5, 0xBE, 0x24, 0x7C, 0x42, 0x89, 0xB5, 0x6F, 0x0D, 0xC7, 0xA3, 0xAC, 0x57, 0x77, 0xA1, 0x0D, 0xA4, 0xCD, 0x3C, 0x7F, 0x68, 0x48, 0x0B, 0x3C, 0x44, 0x91, 0x95, 0x20, 0xB2, 0xB6, 0x4F, 0xCA, 0xDC, 0x80, 0xD9, 0x01, 0x5B, 0xEC, 0xDF, 0x88, 0x3F, 0x0F, 0xB4, 0xBF, 0x88, 0x7F, 0x0F, 0x75, 0x6D, 0x26, 0x78, 0x93, 0xEC, 0xFA, 0xA8, 0x0B, 0x20, 0x0A, 0x08, 0x86, 0x48, 0xC2, 0xAA, 0x32, 0x81, 0x8F, 0xBB, 0xB1, 0x4E, 0x3F, 0xC6, 0xBC, 0xA0, 0xFC, 0x29, 0xB0, 0xF0, 0xBE, 0xA3, 0x6B, 0x67, 0xA7, 0xE9, 0xFA, 0x6E, 0x93, 0x66, 0xCE, 0x2E, 0x26, 0x8A, 0xCD, 0x36, 0x46, 0x81, 0x16, 0x35, 0x11, 0xA8, 0xC0, 0x1F, 0x33, 0xA8, 0x72, 0x42, 0xAF, 0x23, 0x38, 0x27, 0x9A, 0xD2, 0x9C, 0xA2, 0xE1, 0xED, 0x1C, 0x9F, 0x3D, 0xD6, 0x9D, 0x2D, 0xD6, 0xE6, 0xF8, 0x9A, 0x35, 0xB9, 0xD4, 0x22, 0x97, 0xB3, 0x49, 0xDF, 0xBD, 0xD6, 0xC7, 0x94, 0x7C, 0x47, 0xB5, 0x2B, 0xA9, 0x78, 0x9B, 0xC9, 0xFF, 0x00, 0x56, 0xB0, 0xB0, 0x07, 0xFB, 0xCE, 0xA1, 0xF3, 0x8F, 0x5C, 0x37, 0xCA, 0x7D, 0xFE, 0x95, 0xE9, 0xFE, 0x1E, 0x9A, 0x4D, 0x36, 0x28, 0xA1, 0x91, 0xB6, 0xC8, 0xC4, 0xAC, 0x98, 0x3F, 0x75, 0x9B, 0x24, 0xE3, 0xFE, 0x04, 0x71, 0x5C, 0xBA, 0xDA, 0xC6, 0xFF, 0x00, 0x11, 0xA4, 0x91, 0xA1, 0x5F, 0xB2, 0x58, 0xBD, 0xA8, 0x60, 0x48, 0x0A, 0x7E, 0x6B, 0x87, 0x0B, 0x93, 0xEE, 0x89, 0x9C, 0xFF, 0x00, 0x7C, 0x57, 0x75, 0xF1, 0x63, 0xC0, 0x97, 0xDF, 0x0E, 0xFC, 0x61, 0x77, 0xA7, 0xCC, 0xAE, 0xBB, 0x4A, 0xC9, 0x6D, 0x2B, 0x7C, 0xA2, 0x70, 0x46, 0xE4, 0x64, 0xCF, 0x2E, 0xB9, 0x04, 0x6E, 0x00, 0x8C, 0xA3, 0x73, 0xC5, 0x7B, 0x71, 0xC4, 0x45, 0x54, 0x54, 0xA5, 0xBB, 0x5F, 0xE5, 0xFE, 0x67, 0xC1, 0x66, 0x38, 0x2B, 0xC2, 0x75, 0xE9, 0xEB, 0x67, 0x6F, 0x93, 0xBE, 0xBE, 0x9A, 0x1E, 0xEB, 0xFB, 0x1B, 0xFC, 0x54, 0xDD, 0xA2, 0x5C, 0xE8, 0x72, 0xBC, 0x2D, 0x75, 0x6D, 0x0B, 0xC9, 0x0A, 0xCB, 0x8F, 0x2E, 0x44, 0xFB, 0xBB, 0x32, 0x78, 0x5C, 0x0D, 0xBB, 0x4F, 0x40, 0x49, 0xC9, 0x19, 0xC8, 0xFA, 0x23, 0xC3, 0xBE, 0x25, 0xF1, 0x37, 0xC5, 0x1D, 0x2A, 0x3D, 0x0F, 0x49, 0x59, 0x05, 0xBD, 0xBC, 0x62, 0x39, 0x56, 0x31, 0xB1, 0x94, 0x83, 0x82, 0x1B, 0x3C, 0xA9, 0x1D, 0xD4, 0xF2, 0x31, 0x5F, 0x9F, 0x5F, 0x0D, 0xFC, 0x75, 0xFF, 0x00, 0x08, 0x27, 0x8F, 0x2C, 0xF5, 0x64, 0x66, 0x5B, 0x7B, 0x5B, 0x85, 0x9A, 0x51, 0x9E, 0xB0, 0x48, 0x31, 0x20, 0xF7, 0xC4, 0x7B, 0xBF, 0x1C, 0x57, 0xE8, 0xB7, 0xC2, 0xED, 0x03, 0x5C, 0xF8, 0x6F, 0x70, 0xDA, 0xD5, 0xAE, 0xB5, 0x69, 0xA6, 0x99, 0xA2, 0x03, 0xCB, 0x65, 0x59, 0xE1, 0xBA, 0x88, 0x0C, 0xAE, 0xF5, 0xC8, 0xDC, 0xB8, 0xE8, 0x55, 0x95, 0x80, 0xE0, 0x10, 0x09, 0x07, 0xC0, 0xCC, 0x30, 0x7F, 0x57, 0x9B, 0xAB, 0x4D, 0x27, 0xCD, 0xAA, 0x4F, 0xA3, 0xF2, 0xFF, 0x00, 0x23, 0xE9, 0x38, 0x73, 0x31, 0x78, 0xBC, 0x3A, 0xC2, 0xD4, 0x93, 0x5C, 0x9A, 0x36, 0xBF, 0x95, 0xEA, 0xAE, 0xFF, 0x00, 0x03, 0xE9, 0xCF, 0x00, 0xE8, 0x71, 0x69, 0xFE, 0x15, 0xB3, 0xB4, 0xBE, 0x8D, 0x37, 0x47, 0x02, 0xA4, 0xA1, 0xCE, 0x77, 0x1C, 0x60, 0xD7, 0x4D, 0xA0, 0xDA, 0x5A, 0xE8, 0x7A, 0x74, 0xD0, 0xC7, 0x71, 0xB6, 0x22, 0xE5, 0xE3, 0x04, 0xFD, 0xC0, 0x47, 0x4A, 0xF9, 0x36, 0x6F, 0x8B, 0x57, 0x5E, 0x21, 0xD7, 0x64, 0xFE, 0xD0, 0xF1, 0x19, 0x8A, 0xD6, 0x66, 0xDE, 0x12, 0xDE, 0x22, 0xA0, 0x63, 0xB0, 0xF4, 0xFC, 0x49, 0xAE, 0xF2, 0x3F, 0x8C, 0xD1, 0xC7, 0xA6, 0x46, 0xB0, 0xCA, 0x5D, 0x11, 0x76, 0x86, 0x63, 0xC9, 0xC0, 0xEF, 0x5F, 0x37, 0x5B, 0x29, 0xAB, 0x1D, 0x65, 0xD7, 0x5D, 0xB4, 0xFC, 0x4F, 0xD1, 0xB0, 0x39, 0xED, 0x07, 0xA2, 0x5F, 0x0E, 0x8A, 0xED, 0x5F, 0xF0, 0x3D, 0x53, 0xC6, 0x7A, 0x8D, 0xA9, 0x96, 0xDE, 0x1B, 0x7C, 0xC8, 0xF3, 0x65, 0x08, 0x5E, 0x18, 0x8F, 0x5C, 0xD7, 0x0B, 0xAB, 0x7E, 0xCE, 0xDE, 0x15, 0xB1, 0xF1, 0x14, 0xFA, 0xB4, 0xBE, 0x6D, 0xC5, 0xC5, 0xC7, 0xEF, 0x0A, 0xCF, 0x20, 0x65, 0x56, 0xF6, 0x18, 0x1D, 0xBD, 0x73, 0x5C, 0x0D, 0xDF, 0xC6, 0x59, 0x92, 0xF1, 0xA5, 0x56, 0x26, 0x48, 0xF8, 0x04, 0x9E, 0x2B, 0x8B, 0xD5, 0x3E, 0x30, 0x6B, 0x57, 0x1A, 0xEC, 0xF7, 0x4F, 0x71, 0xE6, 0x6F, 0x39, 0x08, 0x7E, 0xE8, 0xC7, 0x40, 0x3D, 0xAB, 0xAB, 0x0F, 0x97, 0xE2, 0x62, 0xAD, 0x46, 0x56, 0xD3, 0x5F, 0x33, 0x9F, 0x15, 0x9D, 0x60, 0xA6, 0xD4, 0xAB, 0xC5, 0x4B, 0x5D, 0x34, 0xBD, 0xBC, 0xCD, 0x8F, 0x1C, 0xF8, 0x36, 0xCD, 0xF5, 0xE0, 0xB1, 0xC6, 0xBE, 0x5C, 0x32, 0x65, 0x70, 0x29, 0xBE, 0x25, 0x9B, 0x48, 0xB1, 0xD1, 0x64, 0x6B, 0xA9, 0x12, 0x14, 0x85, 0x0E, 0xE0, 0x6B, 0x16, 0xE3, 0xE2, 0x75, 0xD5, 0xC4, 0x6C, 0xD2, 0x2C, 0x7B, 0xDB, 0xEE, 0x81, 0xFD, 0x6B, 0x83, 0xF1, 0xAD, 0xB4, 0xBE, 0x24, 0x24, 0xB4, 0x8C, 0xDB, 0xC7, 0xCD, 0xCF, 0x15, 0xDF, 0x4F, 0x07, 0x56, 0x6E, 0x31, 0xAD, 0x2B, 0x25, 0xF3, 0x3C, 0xBA, 0xF9, 0xAD, 0x0A, 0x50, 0x94, 0xF0, 0xF1, 0xBB, 0x91, 0xE6, 0xBE, 0x3F, 0xB8, 0xB2, 0xD4, 0xB5, 0xDB, 0x99, 0xEC, 0xE3, 0x68, 0xED, 0x9D, 0xB0, 0x80, 0xFA, 0x57, 0x36, 0x23, 0xCC, 0xAB, 0x85, 0xE7, 0xA8, 0xAF, 0x40, 0xF1, 0x27, 0x83, 0x1A, 0x0D, 0x15, 0x4A, 0x81, 0xBA, 0x2C, 0x93, 0xEA, 0x6B, 0x2F, 0xC1, 0xDE, 0x0C, 0x92, 0xF6, 0x56, 0x9A, 0x65, 0x2A, 0x8B, 0xD0, 0x1E, 0xF5, 0xF6, 0x54, 0x71, 0x14, 0xE1, 0x46, 0xE9, 0xEC, 0x7E, 0x73, 0x53, 0x07, 0x5A, 0xA5, 0x7B, 0x35, 0xAC, 0xB5, 0xF2, 0x24, 0xF0, 0xBE, 0x9E, 0xFE, 0x4E, 0x64, 0x4C, 0x2F, 0x51, 0xEF, 0x5A, 0x53, 0xDA, 0x60, 0xFF, 0x00, 0x0F, 0xE5, 0x5B, 0x11, 0xD9, 0x2D, 0xAC, 0x41, 0x55, 0x47, 0x15, 0x56, 0xED, 0x31, 0xD3, 0x9F, 0x7A, 0xF0, 0xAA, 0x54, 0x73, 0x97, 0x32, 0x3E, 0xAB, 0x0B, 0x87, 0x54, 0xA2, 0x91, 0xF8, 0xE7, 0xC9, 0x35, 0xB1, 0xF0, 0xFA, 0x2F, 0x37, 0xC7, 0xDA, 0x0A, 0x67, 0xEF, 0x6A, 0x56, 0xC3, 0x3F, 0xF6, 0xD5, 0x6B, 0x24, 0x0D, 0x95, 0xB5, 0xF0, 0xDC, 0xE7, 0xE2, 0x37, 0x87, 0x7F, 0xEC, 0x29, 0x6D, 0xFF, 0x00, 0xA3, 0x56, 0xBD, 0x6A, 0x9F, 0x0B, 0xF4, 0x3E, 0x4A, 0x8C, 0xBF, 0x79, 0x15, 0xE6, 0xBF, 0x34, 0x7F, 0x41, 0x7F, 0xB4, 0x35, 0x83, 0x7F, 0xC3, 0x37, 0xEB, 0x91, 0x75, 0x3F, 0xD9, 0xC0, 0x71, 0xFF, 0x00, 0x01, 0xAF, 0x94, 0xFE, 0x13, 0xFC, 0x06, 0xBE, 0xF1, 0xC5, 0x8C, 0x97, 0x8B, 0x0B, 0x34, 0x11, 0xF1, 0xEE, 0x7E, 0x95, 0xF6, 0x7F, 0xC4, 0x5B, 0x3B, 0x7D, 0x43, 0xE1, 0x95, 0xD4, 0x17, 0x45, 0x45, 0xBC, 0xB6, 0xEA, 0xB2, 0x13, 0xD3, 0x1C, 0x56, 0x27, 0x80, 0xF4, 0x0D, 0x2F, 0xC2, 0x56, 0x91, 0xDA, 0x69, 0xF3, 0x23, 0xC4, 0x46, 0xE1, 0xB7, 0xBD, 0x7E, 0x67, 0x95, 0xE3, 0xA5, 0x47, 0x0B, 0x38, 0xC3, 0x76, 0xFF, 0x00, 0x43, 0xF7, 0xDE, 0x24, 0xC0, 0xC2, 0xB6, 0x36, 0x9C, 0xEA, 0x6C, 0xA3, 0xFA, 0xB3, 0xCA, 0xF4, 0x1F, 0x86, 0xF1, 0xE8, 0xBA, 0x4A, 0xB4, 0x4A, 0x43, 0x46, 0x36, 0xBA, 0x37, 0x6F, 0x5A, 0xE6, 0x3C, 0x7F, 0xF0, 0xC6, 0xCF, 0x56, 0x85, 0xAE, 0x38, 0x49, 0x36, 0x1D, 0xB8, 0xE3, 0x35, 0xF4, 0x86, 0xAB, 0xE1, 0x1B, 0x5D, 0x5B, 0x4C, 0x99, 0xE1, 0xFB, 0xEC, 0xA7, 0x85, 0xEA, 0x4D, 0x7C, 0xEB, 0xF1, 0x82, 0x3D, 0x63, 0xC0, 0xB7, 0xFE, 0x4C, 0xF0, 0xC8, 0xD6, 0x72, 0x00, 0x52, 0x4C, 0x71, 0xCF, 0x6A, 0xEB, 0xC1, 0x62, 0x27, 0x3A, 0x9A, 0x3D, 0x4F, 0x23, 0x1D, 0x4E, 0x95, 0x2A, 0x3A, 0xAF, 0x74, 0xF2, 0x48, 0xE1, 0x9B, 0x4D, 0x91, 0x95, 0x64, 0x65, 0x65, 0x38, 0xAE, 0xBF, 0xC3, 0x1F, 0x10, 0xAE, 0xB4, 0xA8, 0xA3, 0x9A, 0x29, 0x0A, 0x5D, 0x5B, 0x10, 0xC8, 0xC0, 0xF3, 0x9A, 0xE7, 0x26, 0x43, 0x79, 0x70, 0xCF, 0xB7, 0xEF, 0x1D, 0xD4, 0xF8, 0xAC, 0x5A, 0x42, 0x38, 0xAF, 0xA9, 0xF6, 0x8D, 0x2B, 0x33, 0xE2, 0xAA, 0x61, 0xE3, 0x26, 0x9A, 0xE8, 0xEE, 0x8F, 0x5C, 0xB9, 0xF8, 0x81, 0x73, 0xE3, 0x2D, 0x22, 0x36, 0xBA, 0x9C, 0x34, 0x87, 0x9E, 0xBC, 0x66, 0xB0, 0x24, 0xBF, 0x9A, 0x65, 0xE1, 0x99, 0x42, 0x9E, 0x70, 0x6B, 0x97, 0xD2, 0x56, 0xEA, 0x1D, 0xAA, 0x3C, 0xC2, 0x14, 0xE4, 0x57, 0x49, 0x61, 0x61, 0x3C, 0xF0, 0x0F, 0xBD, 0x1E, 0x7D, 0x6B, 0x1A, 0x75, 0xD5, 0x15, 0xCB, 0x60, 0xC5, 0x60, 0x5E, 0x22, 0x5C, 0xFC, 0xDA, 0x8D, 0xBB, 0xD6, 0xA7, 0xBF, 0xB3, 0x4B, 0x59, 0x2E, 0x24, 0x92, 0x18, 0x4F, 0xCA, 0x85, 0xB2, 0x14, 0xD6, 0x74, 0xFA, 0x5C, 0x7B, 0xE2, 0x91, 0xB6, 0x9D, 0xA7, 0x70, 0x15, 0x7A, 0xE7, 0xC3, 0xCD, 0x62, 0xAE, 0xFB, 0x8B, 0x33, 0x1C, 0xE2, 0xA8, 0xDC, 0x33, 0x44, 0x76, 0xE7, 0xF5, 0xAE, 0xCC, 0x3C, 0xA1, 0x51, 0x7B, 0xBA, 0x1E, 0x1E, 0x2A, 0x9D, 0x5A, 0x12, 0xB4, 0xDD, 0xCF, 0x72, 0xF8, 0x33, 0xF1, 0xA3, 0x4B, 0xB0, 0xF0, 0xED, 0xAE, 0x8F, 0x70, 0xCD, 0x0C, 0xA3, 0x08, 0x17, 0x6F, 0xCA, 0xFD, 0xB8, 0xFA, 0xD7, 0xA7, 0xD8, 0xE9, 0x7E, 0x1E, 0xD5, 0xB4, 0xBB, 0x8B, 0x54, 0xB7, 0xB2, 0x91, 0x4E, 0x25, 0x9A, 0x3D, 0xA1, 0x58, 0x9E, 0xA0, 0x9C, 0x77, 0xF7, 0xAF, 0x8B, 0x35, 0x9D, 0x4E, 0x4D, 0x2A, 0xDD, 0x65, 0x8E, 0x4F, 0x29, 0x95, 0x81, 0xDD, 0x9E, 0x95, 0x0F, 0x85, 0xFC, 0x4F, 0xE2, 0x4D, 0x63, 0xC4, 0x0B, 0xA8, 0x47, 0x35, 0xC7, 0x96, 0xB2, 0x86, 0x63, 0xE6, 0x9C, 0xCB, 0xB7, 0x90, 0x0D, 0x7C, 0xEE, 0x63, 0x91, 0xC1, 0xD4, 0x73, 0x84, 0xF9, 0x7A, 0xFC, 0xCF, 0xB4, 0xC9, 0xB8, 0x82, 0xAC, 0xA8, 0xA8, 0x4E, 0x9A, 0x95, 0xB4, 0x5E, 0x87, 0xD1, 0x0D, 0xE1, 0xBB, 0xBF, 0x13, 0xF8, 0x86, 0xC5, 0xBC, 0x35, 0xA5, 0x95, 0xB7, 0xB2, 0xBD, 0x05, 0xA5, 0x91, 0x04, 0x51, 0x06, 0x50, 0x30, 0x32, 0x4E, 0x4E, 0x39, 0x04, 0x80, 0x7A, 0xF5, 0x3C, 0xE7, 0xD9, 0x3C, 0x2B, 0xE3, 0x5D, 0x6E, 0xCE, 0x49, 0x6C, 0x75, 0x0D, 0x12, 0x6B, 0x69, 0x21, 0x60, 0xA2, 0xE5, 0x65, 0x57, 0x86, 0x4F, 0x98, 0x0F, 0x5C, 0xE4, 0x82, 0x08, 0xEF, 0x5F, 0x39, 0xE8, 0x7F, 0xB4, 0x17, 0x8B, 0x34, 0xCB, 0x88, 0xD7, 0x74, 0x36, 0x76, 0xEC, 0x40, 0x2A, 0x6D, 0xF7, 0x6D, 0x03, 0x8E, 0x0B, 0x67, 0x9C, 0x8C, 0xE7, 0xD6, 0xBD, 0x4B, 0xFE, 0x1A, 0x1F, 0x4C, 0xD7, 0x7C, 0x13, 0x6F, 0x1E, 0xAB, 0x70, 0xB2, 0x5C, 0x4C, 0x42, 0xCA, 0xF1, 0x45, 0xB4, 0xC6, 0x47, 0x1B, 0xB8, 0xC6, 0x33, 0x80, 0x78, 0xE9, 0xFA, 0x57, 0x9B, 0x88, 0xC2, 0xD6, 0xAA, 0x94, 0x67, 0x15, 0x24, 0xBC, 0xDB, 0x6B, 0xCF, 0xCC, 0xFA, 0x2C, 0x1E, 0x22, 0x86, 0x1E, 0x4E, 0xA4, 0x66, 0xE2, 0xDE, 0xB6, 0xB2, 0x51, 0x7E, 0x4B, 0xAA, 0x3D, 0x6B, 0x56, 0xF0, 0x64, 0x3F, 0x11, 0x74, 0x7B, 0x9B, 0x1B, 0xEB, 0x78, 0xCC, 0x72, 0x00, 0x71, 0x32, 0x6E, 0xC8, 0xCE, 0x47, 0x1D, 0xB9, 0x51, 0xCF, 0xF8, 0x57, 0x97, 0x5B, 0x7C, 0x2D, 0xD6, 0xBE, 0x17, 0x78, 0x5A, 0x0F, 0xB3, 0xC3, 0x10, 0x91, 0x6E, 0x51, 0xA7, 0x31, 0x3A, 0xE3, 0x96, 0x04, 0xE4, 0x13, 0xDF, 0xF1, 0xC0, 0xAE, 0x61, 0xBE, 0x34, 0xEB, 0xFA, 0x7F, 0x89, 0x85, 0xD4, 0x3A, 0x95, 0xE7, 0xD9, 0x63, 0x2A, 0x89, 0x13, 0x9D, 0xB9, 0x8F, 0x8E, 0xA3, 0xBE, 0x71, 0xD5, 0xB3, 0x5D, 0xEF, 0xC0, 0xDF, 0x88, 0x37, 0x5E, 0x39, 0xD4, 0xB5, 0x4B, 0x3B, 0x86, 0xF3, 0xAF, 0x26, 0x1B, 0xAD, 0xE1, 0x9E, 0x62, 0xDE, 0x6A, 0x8D, 0xE4, 0xED, 0x04, 0x7D, 0xE1, 0x9E, 0x7D, 0x06, 0x31, 0xED, 0x95, 0x6C, 0xBF, 0x15, 0x85, 0xA7, 0xED, 0x25, 0x69, 0x43, 0x47, 0x64, 0x75, 0x61, 0xF3, 0xCC, 0x16, 0x2E, 0xB7, 0xB2, 0x82, 0x71, 0xA8, 0xEE, 0xAE, 0xED, 0xEB, 0xFF, 0x00, 0x0C, 0x3B, 0xC2, 0x42, 0xE3, 0xC7, 0x3A, 0xBD, 0xED, 0xC6, 0xA8, 0x2E, 0x05, 0x9E, 0x9E, 0xC1, 0x2E, 0x8F, 0xDE, 0xF3, 0x1C, 0x7F, 0xCB, 0x35, 0x0B, 0xF7, 0x98, 0xE4, 0x0E, 0x39, 0xE4, 0x77, 0x22, 0xBB, 0xED, 0x47, 0xC5, 0xF6, 0x5F, 0x0E, 0x8D, 0xD7, 0x8A, 0x6E, 0x0A, 0xFF, 0x00, 0xC4, 0xA9, 0x61, 0xB0, 0xB4, 0x1F, 0xC2, 0x92, 0x5C, 0x4C, 0x04, 0x85, 0x7B, 0x73, 0x1A, 0x4C, 0x7D, 0xD6, 0x31, 0xE9, 0x5C, 0x37, 0x8A, 0xBC, 0x47, 0xAB, 0x78, 0x72, 0x4C, 0x5E, 0x47, 0x6B, 0x6B, 0x1D, 0xB4, 0xFB, 0x6D, 0x52, 0x08, 0x99, 0x3F, 0x79, 0x23, 0x08, 0xD6, 0x43, 0x9C, 0x96, 0xDB, 0x23, 0x70, 0xC3, 0x82, 0xFF, 0x00, 0x27, 0xDE, 0x6C, 0x57, 0x0F, 0xFB, 0x5E, 0x78, 0x91, 0xF4, 0x8F, 0x87, 0x1F, 0x0D, 0xF4, 0x39, 0x2E, 0x15, 0xA6, 0xF1, 0x05, 0xDA, 0xEB, 0xF7, 0x45, 0x0F, 0x1F, 0x66, 0xF9, 0x62, 0xB6, 0x38, 0xF7, 0x49, 0x66, 0x38, 0xF5, 0x06, 0xBE, 0x6B, 0x1D, 0x4D, 0xE2, 0x6B, 0x46, 0x2D, 0xAB, 0x4B, 0x44, 0x93, 0xBD, 0x95, 0xAF, 0x2F, 0x9D, 0x95, 0x9F, 0xAA, 0x46, 0x38, 0xEA, 0x8E, 0x8D, 0x06, 0xEB, 0x5D, 0xC9, 0xE8, 0xAE, 0xBC, 0xD7, 0xE8, 0x7C, 0xEB, 0xFB, 0x50, 0xF8, 0xE6, 0x2F, 0x0C, 0x78, 0x46, 0xF2, 0xCD, 0xB7, 0x49, 0x22, 0xDA, 0x94, 0x2A, 0x39, 0xDD, 0x9F, 0xBC, 0x31, 0xEA, 0xD8, 0x40, 0x3D, 0xDA, 0xBD, 0x73, 0xE2, 0xE7, 0xC0, 0xF5, 0xD4, 0x3E, 0x09, 0x59, 0xF8, 0x53, 0xEC, 0xAD, 0x79, 0x71, 0xF0, 0xB6, 0x59, 0x5A, 0x79, 0xD9, 0xC6, 0x0A, 0xC3, 0x6F, 0x6C, 0xB7, 0x79, 0x1E, 0xB8, 0xB5, 0x89, 0x81, 0xF4, 0x62, 0x4F, 0x7C, 0xF8, 0x45, 0xDE, 0x8D, 0x71, 0xF1, 0x4B, 0xF6, 0x84, 0xF0, 0xBD, 0xF6, 0xAF, 0xA6, 0xEA, 0x70, 0x78, 0x46, 0x3D, 0x7E, 0xD2, 0xF7, 0x52, 0xB9, 0x96, 0xDC, 0xC7, 0x6F, 0xF6, 0x58, 0xEE, 0x09, 0x45, 0x69, 0x1F, 0x6C, 0x61, 0x25, 0x92, 0x16, 0x8C, 0x12, 0xC0, 0x13, 0x1B, 0xFF, 0x00, 0x75, 0xB1, 0xF6, 0x1F, 0x86, 0x3E, 0x2D, 0xE9, 0x1F, 0x12, 0x53, 0xE3, 0xCE, 0x85, 0x67, 0xBA, 0x4D, 0x42, 0x3D, 0x1B, 0x5B, 0xD5, 0x2F, 0x7E, 0xD1, 0x67, 0xF6, 0x59, 0xE2, 0x91, 0xCC, 0x0B, 0x84, 0x06, 0x46, 0xF3, 0x22, 0x31, 0xDC, 0xA7, 0xCE, 0x44, 0x6C, 0x44, 0x6A, 0xC5, 0x71, 0x22, 0xD7, 0xA7, 0x9B, 0x4B, 0xEA, 0xD4, 0xA8, 0xA8, 0x7D, 0x94, 0xE4, 0xED, 0xD1, 0xB7, 0x14, 0xAF, 0xF8, 0xFD, 0xE7, 0xCE, 0xE4, 0xA9, 0x62, 0x2A, 0x57, 0xAD, 0x5A, 0x3E, 0xEC, 0x9F, 0x2A, 0xBF, 0x65, 0x7D, 0xBE, 0x6F, 0x7F, 0x23, 0xE7, 0x2B, 0x48, 0x57, 0x51, 0xF1, 0x5C, 0x1A, 0x0D, 0xC3, 0x2A, 0xC9, 0x0E, 0x92, 0xDA, 0x5B, 0x1F, 0xEE, 0x18, 0x66, 0x78, 0x3F, 0xF1, 0xE6, 0x7B, 0x46, 0xFF, 0x00, 0x81, 0x29, 0xAE, 0x32, 0x4D, 0x27, 0xFB, 0x2B, 0x51, 0xFB, 0x1C, 0xDF, 0xF1, 0xF8, 0xCC, 0x63, 0x48, 0x47, 0x32, 0x48, 0xDE, 0x81, 0x7A, 0x93, 0x9E, 0xC2, 0xBA, 0x1F, 0x8B, 0x77, 0x16, 0x16, 0xBE, 0x2D, 0xBE, 0xD5, 0xAE, 0x2C, 0xEE, 0x2E, 0x9F, 0x56, 0xD0, 0x65, 0xBB, 0x88, 0x7D, 0xA8, 0xDB, 0xD9, 0x80, 0x86, 0x13, 0x3F, 0xDA, 0x0A, 0xA9, 0x73, 0x83, 0x14, 0x38, 0x08, 0xF1, 0xB1, 0x08, 0xCA, 0x09, 0x2D, 0xF2, 0xF8, 0xF5, 0xCF, 0xED, 0x3F, 0x7D, 0xFB, 0x48, 0xF8, 0xE6, 0x6D, 0x3E, 0xDE, 0xED, 0x74, 0x9B, 0x0F, 0x07, 0xD9, 0x5B, 0xC7, 0xA8, 0x8D, 0x1A, 0x13, 0x63, 0x06, 0xAF, 0x6F, 0x7F, 0x0C, 0x73, 0xDB, 0xDC, 0x2C, 0x91, 0x4A, 0xB7, 0x57, 0x11, 0xBA, 0xC6, 0x92, 0x6F, 0x9D, 0xDD, 0x80, 0x90, 0x6E, 0x4F, 0x9B, 0x70, 0xF5, 0xF2, 0xC4, 0xDE, 0xAB, 0x6B, 0x2B, 0xF9, 0x7C, 0x8D, 0xAA, 0x62, 0x9C, 0x17, 0xD5, 0xDE, 0xF7, 0x76, 0xFE, 0xBE, 0x47, 0x6D, 0xAB, 0xF8, 0x1D, 0x3C, 0x1E, 0xEB, 0xA7, 0xEA, 0x77, 0x5A, 0x5F, 0x87, 0xE6, 0x62, 0x4A, 0x5A, 0x5D, 0xDC, 0x19, 0x2F, 0x5B, 0x39, 0x3F, 0xF1, 0xE9, 0x08, 0x92, 0xE7, 0xF1, 0x31, 0x60, 0x0E, 0xA4, 0x0A, 0xF1, 0x3F, 0x19, 0x6A, 0x8B, 0x2F, 0x8B, 0xAE, 0x59, 0x56, 0x55, 0xB1, 0xD3, 0x21, 0xFB, 0x41, 0xB8, 0x78, 0xFC, 0xBF, 0x34, 0x32, 0xB2, 0xC4, 0xBB, 0x09, 0x2C, 0x09, 0x57, 0x76, 0x39, 0xC1, 0xE1, 0x41, 0x00, 0x82, 0x2B, 0xB6, 0xF1, 0x5E, 0xA5, 0xE1, 0xFF, 0x00, 0x87, 0xDE, 0x19, 0xF3, 0x6D, 0xD6, 0xC5, 0x6D, 0xEE, 0xF8, 0x82, 0x1B, 0x3D, 0x88, 0xB7, 0xED, 0xD3, 0xE6, 0x09, 0x85, 0x93, 0x9C, 0x65, 0x9B, 0x38, 0xCF, 0x27, 0x9A, 0xF1, 0x95, 0xF1, 0x0D, 0xD7, 0xC5, 0x0B, 0xE6, 0xB5, 0x86, 0x36, 0x6D, 0x29, 0x5C, 0xCB, 0x7D, 0xA8, 0x1F, 0x92, 0x19, 0x5B, 0x8C, 0xAC, 0x47, 0x82, 0xDC, 0x61, 0x54, 0x8E, 0x00, 0xF9, 0x8F, 0x51, 0xBF, 0xEA, 0x30, 0x74, 0xD4, 0x9A, 0xB9, 0xF3, 0xF9, 0x96, 0x25, 0xD2, 0x83, 0x77, 0xD7, 0xB7, 0xFC, 0x12, 0xAF, 0xC3, 0x9D, 0x0F, 0x53, 0xD7, 0x2E, 0x6C, 0xAE, 0xB4, 0x96, 0xBB, 0x6D, 0x63, 0x59, 0xD7, 0xE0, 0x16, 0x30, 0x5A, 0xCE, 0x20, 0x9A, 0xE2, 0x56, 0x31, 0xAA, 0xC7, 0x1C, 0xB9, 0x52, 0xAC, 0x61, 0x43, 0xB5, 0xB7, 0xA8, 0x05, 0xCE, 0x49, 0x07, 0x23, 0xE8, 0x4F, 0xDA, 0x9F, 0xF6, 0x34, 0xD1, 0xBE, 0x1C, 0x41, 0xA2, 0xF8, 0x8F, 0xC2, 0xA9, 0x75, 0x75, 0x61, 0xA9, 0x69, 0xBF, 0x69, 0x59, 0x2E, 0x23, 0x29, 0x30, 0x74, 0x67, 0xF3, 0x77, 0xA1, 0x00, 0xAC, 0xC1, 0x4E, 0xE7, 0x0C, 0x03, 0x28, 0x5D, 0xA7, 0x04, 0x11, 0x5E, 0x47, 0xFB, 0x34, 0xDC, 0x49, 0x6D, 0xF1, 0xD7, 0xC1, 0xB2, 0x88, 0xD5, 0x74, 0xDF, 0x0C, 0xDD, 0xC1, 0x77, 0x0A, 0xA8, 0xC2, 0xBC, 0xAF, 0x75, 0x12, 0xC7, 0xF8, 0x79, 0x63, 0x81, 0xD8, 0x73, 0xDC, 0x57, 0xE9, 0x25, 0x95, 0xE9, 0xF8, 0xD9, 0xE0, 0x3D, 0x55, 0x67, 0xB4, 0x8F, 0xCF, 0xF0, 0xC5, 0xCC, 0x7A, 0xA4, 0x4A, 0x57, 0x3B, 0xED, 0xE6, 0xC4, 0x13, 0xF1, 0xDF, 0x0C, 0xB6, 0xF9, 0x1D, 0x36, 0xBB, 0x57, 0x36, 0x75, 0x8F, 0xC4, 0xE1, 0x65, 0x0C, 0x4D, 0x3F, 0x82, 0x2D, 0x73, 0x2F, 0x57, 0x6F, 0xCE, 0xC7, 0x9B, 0x94, 0xE0, 0xF0, 0x78, 0xCA, 0x15, 0x28, 0x54, 0x7E, 0xFC, 0xB6, 0x7F, 0x2B, 0x9F, 0x94, 0x3A, 0xBD, 0xDA, 0xE9, 0x57, 0x56, 0xD2, 0x37, 0xCB, 0x6F, 0x2C, 0xA6, 0x27, 0xCF, 0xF0, 0xE4, 0x1C, 0x7E, 0x47, 0x8F, 0xC6, 0xBE, 0xAA, 0xFD, 0x9A, 0x7E, 0x25, 0xDC, 0x78, 0xF3, 0xE1, 0x7D, 0xBD, 0x8D, 0xD5, 0xD4, 0x93, 0x5D, 0x78, 0x64, 0x8D, 0x2D, 0x83, 0xBE, 0x4F, 0x92, 0xAA, 0x1A, 0x03, 0xF4, 0xF2, 0x8A, 0xAE, 0x7B, 0x98, 0xDA, 0xBC, 0x7F, 0xF6, 0xB5, 0xFD, 0x9F, 0x5B, 0xC0, 0x1E, 0x37, 0xBC, 0xD1, 0xEC, 0xD5, 0xBE, 0xC3, 0x7C, 0xEB, 0x7F, 0xA6, 0x39, 0x3C, 0x34, 0x25, 0xB6, 0xB2, 0x67, 0xFB, 0xD1, 0xBA, 0xB2, 0x9E, 0xF8, 0xD8, 0x7F, 0x8A, 0xB2, 0x7F, 0x63, 0xCF, 0x1A, 0xCD, 0xE0, 0xEF, 0x8F, 0x3F, 0xD8, 0x37, 0xEC, 0xD0, 0xC7, 0xE2, 0x0B, 0x63, 0xA7, 0x90, 0xDF, 0xF3, 0xF3, 0x10, 0x69, 0x21, 0x27, 0xDF, 0x68, 0x95, 0x07, 0xA9, 0x75, 0xAF, 0xAB, 0xA3, 0x5A, 0x96, 0x26, 0x84, 0x6B, 0xD3, 0xD5, 0x6F, 0xFD, 0x7E, 0x47, 0xC2, 0xC6, 0x9D, 0x6C, 0x16, 0x39, 0xE1, 0x6A, 0xE9, 0xAD, 0x9F, 0x6B, 0xF4, 0xFF, 0x00, 0x81, 0xE4, 0x7D, 0x6C, 0x27, 0x64, 0x93, 0x3B, 0xBA, 0x1A, 0xDE, 0xD1, 0xB5, 0xE6, 0x9E, 0x1F, 0x2F, 0x71, 0xF9, 0x46, 0x7A, 0xF6, 0xAD, 0x3B, 0x9F, 0x83, 0x9A, 0x95, 0xDE, 0x83, 0xA8, 0x6A, 0xFF, 0x00, 0x65, 0xFE, 0xCF, 0x86, 0x16, 0xDD, 0x15, 0xB3, 0x93, 0xBC, 0xAE, 0x79, 0xC6, 0x79, 0xE3, 0xD4, 0xF5, 0xAC, 0x6F, 0x0D, 0xE9, 0x52, 0x2D, 0xC3, 0x33, 0x29, 0xC0, 0x1D, 0xC5, 0x70, 0xD4, 0xAF, 0x42, 0xAC, 0x1B, 0x8B, 0x4E, 0xDF, 0x99, 0xF5, 0x54, 0x70, 0xB8, 0x9A, 0x35, 0x22, 0xA7, 0x16, 0xB9, 0xBF, 0x22, 0xFD, 0xDC, 0xED, 0x27, 0x46, 0x3E, 0xB5, 0x49, 0x91, 0x98, 0x72, 0xA4, 0xD6, 0xD4, 0x96, 0x38, 0xA8, 0x5A, 0xC1, 0x47, 0xFF, 0x00, 0xAA, 0xB8, 0x15, 0x44, 0xB6, 0x3D, 0x6F, 0x63, 0x27, 0xB9, 0x91, 0xE4, 0x31, 0xEB, 0x91, 0xDB, 0x9A, 0x55, 0x87, 0x19, 0xFA, 0x7E, 0x75, 0xA7, 0x25, 0xA6, 0xDE, 0xDF, 0xA6, 0x2A, 0x29, 0x6D, 0x98, 0x03, 0xF2, 0xD2, 0x73, 0x3A, 0xA9, 0xE1, 0xD9, 0x97, 0x79, 0x60, 0x93, 0x8D, 0xAF, 0xF3, 0x2E, 0x31, 0xF5, 0xAA, 0x6D, 0x1C, 0x76, 0x68, 0x15, 0x36, 0x85, 0xF4, 0xAD, 0x4B, 0xB4, 0xF2, 0xA1, 0x63, 0xD8, 0x57, 0x2F, 0xAA, 0x6A, 0xAC, 0xD3, 0x10, 0xBD, 0x18, 0x56, 0x94, 0xE2, 0xE7, 0xA2, 0x0A, 0xD2, 0x8D, 0x1D, 0x5E, 0xE4, 0x97, 0x97, 0xEA, 0xAC, 0x57, 0x3F, 0x85, 0x53, 0x9A, 0x7F, 0x30, 0x76, 0xDD, 0xDA, 0xA8, 0x4A, 0xCF, 0x29, 0xFE, 0xF1, 0xAD, 0x1D, 0x1A, 0xC5, 0xDE, 0x74, 0x69, 0x17, 0xE5, 0xEA, 0x2A, 0xAB, 0x45, 0x53, 0x8D, 0xD9, 0x58, 0x3A, 0x8E, 0xB4, 0xF9, 0x52, 0x3F, 0x1C, 0xCB, 0x66, 0xB6, 0x3E, 0x1D, 0xE7, 0xFE, 0x16, 0x0F, 0x87, 0xFF, 0x00, 0xEC, 0x27, 0x6D, 0x8F, 0xFB, 0xFA, 0xB5, 0x8F, 0xBB, 0xDE, 0xB7, 0x3E, 0x18, 0xB0, 0x5F, 0x89, 0x7E, 0x1D, 0x2D, 0xD3, 0xFB, 0x52, 0xD7, 0x3F, 0xF7, 0xF5, 0x6B, 0xD5, 0xA9, 0xF0, 0x3F, 0x4F, 0xD0, 0xF8, 0xBA, 0x3F, 0xC5, 0x8F, 0xAA, 0xFC, 0xCF, 0xE8, 0x7B, 0xE3, 0x38, 0x29, 0xF0, 0x3B, 0x57, 0x63, 0xC7, 0xFA, 0x08, 0xC6, 0x3A, 0x8E, 0x05, 0x7C, 0xCB, 0xE1, 0x3F, 0x1D, 0xEA, 0x5A, 0x24, 0x90, 0xB5, 0xBD, 0xC4, 0xBB, 0x54, 0xF2, 0xA4, 0xF0, 0x6B, 0xEA, 0x7F, 0x8A, 0xD6, 0xEB, 0x77, 0xF0, 0x9B, 0x52, 0x8D, 0x86, 0xE4, 0x7B, 0x4F, 0xE8, 0x2B, 0xE6, 0x78, 0xBC, 0x3F, 0x1C, 0x6B, 0xC0, 0xDB, 0xF4, 0xAF, 0x84, 0xE1, 0xA9, 0x43, 0xD8, 0x4E, 0x33, 0x57, 0x57, 0xFD, 0x0F, 0xD9, 0x78, 0xFA, 0x94, 0xDE, 0x2A, 0x94, 0xE9, 0xB6, 0x9A, 0x8F, 0xEA, 0xCF, 0x5B, 0xF0, 0x1F, 0xC7, 0xFB, 0x24, 0xB3, 0x66, 0xBB, 0x3E, 0x4C, 0xC4, 0x74, 0xC7, 0x06, 0xBA, 0x6B, 0xFF, 0x00, 0x15, 0x68, 0x9F, 0x16, 0xFC, 0x1F, 0x7D, 0x6E, 0xF0, 0xC1, 0x33, 0xA2, 0xE0, 0x23, 0x7A, 0xFB, 0x57, 0x82, 0xDB, 0xE8, 0x8A, 0xFB, 0x97, 0xF2, 0xC5, 0x49, 0xA5, 0xC9, 0x3E, 0x87, 0xA8, 0xAB, 0xC7, 0x23, 0x46, 0xAA, 0x72, 0x70, 0x71, 0x9A, 0xEC, 0xC4, 0x65, 0x38, 0x79, 0xDE, 0x74, 0x9D, 0xA5, 0xB9, 0xF3, 0xD8, 0x5C, 0xF3, 0x19, 0x4E, 0xD4, 0xEB, 0xC5, 0x38, 0xBD, 0x1F, 0x72, 0x8D, 0xD7, 0x81, 0x2D, 0x6D, 0x35, 0x59, 0x55, 0x63, 0xF2, 0xD5, 0x18, 0x80, 0xA7, 0xB5, 0x4D, 0x17, 0x86, 0xA1, 0x8C, 0xFC, 0xAA, 0xB5, 0xEB, 0x97, 0x3F, 0x0E, 0xEC, 0x7C, 0x4D, 0xE0, 0x51, 0xA9, 0x59, 0x7C, 0xD7, 0x92, 0x21, 0x72, 0x33, 0xC9, 0x35, 0xE7, 0x37, 0x36, 0xF2, 0x58, 0x4C, 0xC9, 0x32, 0xB4, 0x72, 0x2E, 0x41, 0x53, 0x53, 0x47, 0x15, 0xED, 0x55, 0x96, 0xEB, 0x43, 0x6C, 0x46, 0x16, 0x54, 0x9A, 0x6F, 0x67, 0xAA, 0x65, 0x38, 0xF4, 0xD8, 0xED, 0xFF, 0x00, 0x85, 0x78, 0xA6, 0xDC, 0x5F, 0x2C, 0x4B, 0xB5, 0x48, 0x15, 0x5F, 0x52, 0xD5, 0xB1, 0x9E, 0x6B, 0x9D, 0xD4, 0x35, 0x62, 0x7B, 0xF7, 0xED, 0x5B, 0xC6, 0x9D, 0xF7, 0x39, 0x65, 0x3B, 0x17, 0x35, 0x9D, 0x79, 0x76, 0xB7, 0x27, 0xAD, 0x73, 0xE9, 0xAF, 0xA8, 0xBA, 0x3E, 0x67, 0xFA, 0xBE, 0xE7, 0xD2, 0xBB, 0x5F, 0x08, 0xF8, 0x4E, 0xD7, 0x5F, 0xB4, 0x4F, 0x38, 0x6E, 0x63, 0xC9, 0x23, 0xB5, 0x73, 0xBF, 0x18, 0x3C, 0x1F, 0x67, 0xA6, 0xE9, 0xC6, 0x1B, 0x1F, 0x96, 0x53, 0xD5, 0x97, 0xA9, 0xA5, 0x4B, 0x19, 0x18, 0x54, 0xE4, 0x5B, 0x95, 0x5F, 0x2B, 0x9D, 0x6A, 0x5E, 0xD1, 0xEC, 0x73, 0x5E, 0x23, 0x68, 0xFC, 0x5D, 0x14, 0x36, 0xB6, 0xAC, 0xCD, 0xF3, 0x86, 0x66, 0xFE, 0xF6, 0x2B, 0xD4, 0x7E, 0x10, 0x68, 0x50, 0xDB, 0x08, 0x61, 0x95, 0x70, 0x17, 0x8E, 0x06, 0x72, 0x7D, 0x6B, 0xCE, 0xFC, 0x11, 0xA2, 0xC1, 0xA4, 0x69, 0x16, 0x73, 0x27, 0xDA, 0x3E, 0xD9, 0xB5, 0xBE, 0xD2, 0x25, 0xC1, 0x8F, 0x3B, 0x8E, 0xDD, 0x98, 0xE7, 0xEE, 0xE3, 0x39, 0xEF, 0x9E, 0xD5, 0xD9, 0x78, 0x7B, 0xC5, 0xB7, 0x1A, 0x04, 0xDB, 0x95, 0x16, 0x4C, 0x30, 0x63, 0x93, 0x8C, 0x0E, 0x69, 0x63, 0x39, 0xEA, 0xA6, 0x8F, 0x43, 0x28, 0xA3, 0x4B, 0x0E, 0xD4, 0xAD, 0x63, 0xD3, 0xFC, 0x51, 0xE0, 0xF4, 0x3A, 0x63, 0x3A, 0x98, 0xE4, 0x8F, 0xCB, 0x25, 0xB7, 0x76, 0x04, 0xF6, 0xAF, 0x51, 0xF8, 0x47, 0xF0, 0x97, 0xC0, 0xBE, 0x11, 0xF8, 0x4F, 0x1B, 0xEB, 0x93, 0xE9, 0xBA, 0x85, 0xF6, 0xA2, 0x8B, 0x75, 0x37, 0x9C, 0xFF, 0x00, 0x2B, 0x28, 0x3F, 0x2E, 0x01, 0x3D, 0x30, 0x47, 0x6E, 0xBE, 0xB8, 0x15, 0xE2, 0x8D, 0xF1, 0x51, 0x75, 0xDB, 0x28, 0xF4, 0xFB, 0x3B, 0x4B, 0xAB, 0x8D, 0x42, 0xF9, 0xE3, 0xB7, 0x82, 0x20, 0xA3, 0x32, 0x48, 0xE4, 0x2A, 0xA8, 0xE7, 0xA9, 0x62, 0x00, 0xFA, 0xD7, 0x3B, 0xE3, 0xFD, 0x72, 0xD7, 0xE0, 0xD5, 0xCE, 0x8B, 0x6F, 0xAF, 0x5E, 0x58, 0xFF, 0x00, 0x6A, 0xEA, 0x3A, 0x8C, 0x76, 0xD3, 0x7F, 0x67, 0x6B, 0x1A, 0x76, 0xA2, 0xBA, 0x3C, 0x23, 0x6F, 0x9B, 0xE7, 0x43, 0x15, 0xC1, 0x98, 0xDC, 0x05, 0x7D, 0xEB, 0x02, 0x29, 0x24, 0x21, 0x07, 0x05, 0xC1, 0x5F, 0x32, 0x54, 0x6F, 0x4F, 0x92, 0xA4, 0x9C, 0x55, 0xFA, 0x6A, 0xDF, 0xDC, 0x7A, 0x58, 0x8C, 0x74, 0x69, 0x55, 0xE7, 0x8C, 0x54, 0x9B, 0x5D, 0x59, 0xF4, 0xDF, 0xED, 0x07, 0xFB, 0x3C, 0xC3, 0xAB, 0x5A, 0x47, 0xE2, 0x4F, 0x0B, 0x2A, 0x4B, 0x1A, 0xA0, 0x4B, 0xBB, 0x75, 0x3D, 0x00, 0x00, 0x07, 0x50, 0x07, 0x5E, 0x0E, 0xE0, 0x7B, 0x9C, 0xFA, 0xD7, 0x91, 0x78, 0x2F, 0xC5, 0xB7, 0x9E, 0x05, 0xF1, 0x1E, 0x97, 0xAA, 0x2D, 0xB5, 0xD7, 0xD9, 0x2F, 0x2E, 0x64, 0xB7, 0xF3, 0x9B, 0x31, 0x24, 0xCC, 0xB1, 0x16, 0x91, 0x4C, 0xB9, 0x0B, 0x18, 0x55, 0xCB, 0x17, 0x24, 0x08, 0xC1, 0x2C, 0x49, 0xC5, 0x74, 0x5F, 0x0E, 0xFC, 0x51, 0xF1, 0x2B, 0xC4, 0x1F, 0x0E, 0xB5, 0xE8, 0x7C, 0x27, 0xF0, 0xF7, 0xC4, 0x5A, 0xC6, 0x83, 0x75, 0x22, 0xC5, 0x61, 0x6F, 0xA8, 0x2A, 0xF8, 0x6E, 0x39, 0x2D, 0xD1, 0xD9, 0x5A, 0x74, 0x4B, 0x99, 0x5A, 0x76, 0x92, 0x74, 0x65, 0x2C, 0x82, 0x48, 0xB6, 0xB2, 0x33, 0x23, 0xE1, 0xD7, 0x6D, 0x0B, 0xBF, 0x82, 0xBE, 0x2E, 0xD3, 0x7C, 0x2B, 0xAE, 0xF8, 0xBF, 0xC7, 0x3A, 0x2E, 0x8B, 0xA5, 0xF8, 0x97, 0x4E, 0xF0, 0x85, 0xE3, 0x42, 0x9A, 0x63, 0x35, 0xBF, 0xD9, 0xD2, 0x5B, 0xD5, 0x32, 0x2C, 0xC6, 0x09, 0x15, 0x65, 0xB8, 0xDB, 0x33, 0x31, 0x72, 0x5C, 0x03, 0xC6, 0xE6, 0xEA, 0x38, 0xFF, 0x00, 0xB5, 0x2A, 0xC7, 0x0F, 0x2C, 0x3C, 0xAD, 0x6D, 0x93, 0x76, 0xBD, 0x9E, 0x9B, 0x5E, 0xF7, 0xBB, 0xEB, 0xB7, 0x99, 0xC5, 0x88, 0xC1, 0xC6, 0x78, 0x98, 0xE3, 0x29, 0xC5, 0xC7, 0xAB, 0xB6, 0xD7, 0xF2, 0x7D, 0x99, 0xF2, 0xA7, 0xC7, 0x6F, 0xDB, 0x07, 0x58, 0xD5, 0x7C, 0x4B, 0xA5, 0xDD, 0x5D, 0x6B, 0x77, 0x53, 0x45, 0x71, 0x79, 0x37, 0xD9, 0x6D, 0x74, 0x3B, 0xBB, 0xBB, 0xC8, 0x14, 0x29, 0xF2, 0x65, 0x71, 0xE5, 0xA2, 0x89, 0x60, 0x3B, 0x6E, 0x7C, 0xA5, 0x69, 0x31, 0x89, 0xC9, 0x62, 0x1F, 0x26, 0xB9, 0xFF, 0x00, 0x86, 0x7F, 0xB4, 0xF7, 0xC6, 0xEF, 0x88, 0x7E, 0x39, 0xD2, 0xB5, 0xCD, 0x4A, 0xCE, 0x3B, 0xC6, 0x6B, 0x97, 0x82, 0x01, 0xA9, 0x04, 0x94, 0xC8, 0x49, 0x73, 0x08, 0x96, 0x18, 0x8A, 0xC3, 0x31, 0x49, 0x4A, 0x49, 0xB2, 0x57, 0x55, 0x38, 0x6D, 0xD8, 0x27, 0x22, 0x64, 0xB2, 0xB5, 0xB2, 0x9E, 0x3B, 0x5B, 0x5B, 0x7B, 0x7B, 0x78, 0x64, 0x62, 0xD2, 0xC8, 0x10, 0x71, 0x8E, 0x73, 0xEE, 0xC7, 0x39, 0xC9, 0xF7, 0xAF, 0x64, 0xF8, 0x4F, 0xAA, 0xD8, 0x68, 0xFA, 0x7D, 0xE6, 0xB9, 0x30, 0x31, 0xDA, 0x69, 0x3A, 0x7B, 0xCA, 0xEE, 0xC7, 0x84, 0x8F, 0x24, 0xE4, 0x7B, 0x91, 0x13, 0x73, 0xDC, 0x11, 0xEB, 0x5B, 0x54, 0xA7, 0x46, 0x95, 0x1B, 0x2A, 0x6A, 0x4F, 0x65, 0xA7, 0x7F, 0xEB, 0xE6, 0x5E, 0x22, 0x13, 0xBF, 0x3C, 0xEA, 0x38, 0xAD, 0xFF, 0x00, 0xAB, 0x9C, 0x9F, 0xC2, 0xDF, 0x89, 0xDE, 0x30, 0xD5, 0x3E, 0x1E, 0xDC, 0x78, 0x6F, 0xC7, 0xD7, 0x5F, 0xDB, 0xB0, 0xE8, 0xF2, 0xCB, 0x6D, 0x7F, 0xA4, 0x24, 0xF2, 0x49, 0xA7, 0xDC, 0x5A, 0x48, 0x5E, 0x33, 0x18, 0x8B, 0x3B, 0x54, 0xAA, 0x83, 0xFE, 0xAC, 0x1D, 0xBB, 0x13, 0x04, 0x90, 0x0D, 0x7D, 0x49, 0xFB, 0x17, 0x78, 0x02, 0x3F, 0x18, 0xFC, 0x40, 0xF8, 0x8D, 0x67, 0x67, 0x33, 0x6A, 0x57, 0x1A, 0x87, 0xC3, 0x7D, 0x47, 0x4C, 0x5B, 0x97, 0x1F, 0xE9, 0x13, 0x33, 0x3D, 0xB2, 0xC2, 0x1F, 0xA0, 0x2E, 0x23, 0x48, 0xD0, 0x81, 0x8E, 0x62, 0xCE, 0x5B, 0x7F, 0xCB, 0xF1, 0xCF, 0xC3, 0x5B, 0xBB, 0xD9, 0xF4, 0x5D, 0x53, 0xC5, 0x93, 0xAC, 0xB1, 0xDB, 0xDF, 0x5E, 0xFD, 0x9D, 0x46, 0xDF, 0x94, 0xB4, 0x65, 0x4C, 0xCD, 0xEE, 0xA1, 0xEE, 0x11, 0x01, 0xFF, 0x00, 0x61, 0xBD, 0x6B, 0xEB, 0x2F, 0xF8, 0x26, 0x8F, 0xC5, 0xDB, 0x5F, 0x09, 0x7E, 0xD2, 0x3F, 0xBF, 0xB8, 0x84, 0x41, 0xAA, 0x69, 0x32, 0xDA, 0xAE, 0xF7, 0x03, 0x7B, 0x99, 0xE0, 0x2A, 0xA3, 0xD4, 0xF0, 0xC7, 0x1E, 0x80, 0xD7, 0x0F, 0x12, 0x60, 0xED, 0x83, 0xAC, 0xE8, 0xAD, 0x52, 0xE9, 0xDD, 0x5A, 0xE7, 0x1E, 0x55, 0x8C, 0xAB, 0x3C, 0x15, 0x39, 0x56, 0xF8, 0x9A, 0xBA, 0xF4, 0x4D, 0xB8, 0xFE, 0x16, 0x3E, 0x32, 0xFD, 0xB8, 0x3C, 0x5D, 0xAA, 0x69, 0x1F, 0x0A, 0x75, 0x1B, 0x8D, 0x26, 0x69, 0x84, 0xDE, 0x1D, 0x6F, 0xED, 0x43, 0x14, 0x4F, 0xB5, 0x6F, 0xEC, 0x26, 0x5F, 0xF4, 0x88, 0x1B, 0xD5, 0x46, 0x0B, 0xE3, 0xA1, 0x24, 0x7A, 0x1A, 0xF9, 0x2F, 0xFE, 0x09, 0x97, 0xAE, 0x6A, 0x0D, 0xF1, 0xD7, 0x50, 0xB5, 0x37, 0x13, 0x5C, 0x58, 0xC7, 0xE1, 0xA7, 0x46, 0x8E, 0x46, 0x2C, 0xB1, 0x45, 0x1D, 0xDD, 0xBE, 0xCD, 0xB9, 0xE8, 0x03, 0x4A, 0xDE, 0xDF, 0xBC, 0x6F, 0x5A, 0xFA, 0x47, 0xFE, 0x0B, 0x43, 0xA2, 0xDD, 0x7C, 0x18, 0xF8, 0xDB, 0xAF, 0x78, 0x7F, 0x49, 0x91, 0x9E, 0xFF, 0x00, 0x45, 0xBD, 0xB3, 0xD4, 0xB4, 0xB5, 0x8D, 0x77, 0x7D, 0xA7, 0x4B, 0x95, 0xEE, 0xED, 0x24, 0x8C, 0xA7, 0x59, 0x01, 0x7B, 0xDB, 0x38, 0x0A, 0xE0, 0xE5, 0x84, 0xCB, 0xD5, 0x49, 0xA8, 0x7F, 0xE0, 0x9C, 0x3F, 0xB2, 0xCF, 0xFC, 0x2A, 0xBB, 0x0F, 0x1C, 0x45, 0xAD, 0x69, 0xB1, 0xD9, 0xF8, 0xC1, 0x3C, 0x05, 0xFD, 0xA3, 0x78, 0x26, 0x2C, 0x6E, 0xA0, 0x79, 0xAE, 0xD6, 0x64, 0xB5, 0x08, 0x4E, 0x23, 0x58, 0xA0, 0xB6, 0xB7, 0x67, 0xE3, 0x71, 0x92, 0xE9, 0xD5, 0x8E, 0x23, 0x51, 0x5E, 0xE6, 0x5B, 0x88, 0xA4, 0xB2, 0xC5, 0x57, 0xAC, 0xED, 0x6E, 0xFD, 0x2F, 0xF2, 0x57, 0x3C, 0x9C, 0x65, 0x39, 0xD4, 0xCD, 0x65, 0x28, 0x5F, 0x92, 0x37, 0x7E, 0x5A, 0xED, 0xFA, 0x69, 0xD9, 0x5C, 0xD5, 0xF8, 0xAB, 0xE1, 0x3D, 0x0E, 0xD3, 0x5B, 0xB8, 0xD5, 0x3F, 0xB3, 0x74, 0xF5, 0x9E, 0x65, 0x12, 0x4B, 0x27, 0x94, 0xBF, 0x3B, 0x0E, 0x01, 0x3D, 0xB3, 0xEF, 0x5E, 0x39, 0xE3, 0xBF, 0x18, 0x9D, 0x17, 0xE1, 0x2F, 0xDA, 0x2D, 0x43, 0x47, 0x26, 0xA5, 0xB6, 0xDE, 0xCC, 0x30, 0xDA, 0xF8, 0x6E, 0x15, 0x88, 0xEC, 0x4F, 0x0D, 0x8E, 0xC3, 0x68, 0xED, 0x5E, 0xAF, 0xF1, 0x17, 0x53, 0xFE, 0xD2, 0xB3, 0xB5, 0xF3, 0x0F, 0xEE, 0xE1, 0xB9, 0xDF, 0x30, 0xFE, 0xF2, 0xC6, 0x8F, 0x28, 0x07, 0xD8, 0xB2, 0x2F, 0xD6, 0xBE, 0x6E, 0xF8, 0xC7, 0x73, 0x6F, 0xE2, 0x2F, 0x03, 0xDA, 0xE9, 0xB7, 0x53, 0xCB, 0x6B, 0x67, 0xA5, 0xD9, 0xBD, 0xD5, 0xCB, 0xC2, 0xDB, 0x5E, 0x34, 0x8E, 0xCA, 0x46, 0x1B, 0x0F, 0x66, 0xDD, 0x16, 0x01, 0xF7, 0x1F, 0x43, 0xF4, 0x39, 0x6F, 0x24, 0x79, 0xA5, 0x2E, 0x87, 0x85, 0xC4, 0xFE, 0xDA, 0x73, 0xA5, 0x42, 0x0E, 0xCA, 0x4D, 0xAF, 0x9E, 0x9F, 0xE6, 0x7D, 0x31, 0x71, 0xF0, 0x13, 0x54, 0xF8, 0x1D, 0xF0, 0xD3, 0xC0, 0xBE, 0x28, 0xB7, 0x86, 0xE2, 0xEA, 0x7D, 0x61, 0xAD, 0x22, 0x9E, 0xD9, 0x54, 0xEF, 0x6B, 0x94, 0x97, 0xED, 0x68, 0x14, 0x63, 0x3B, 0x8C, 0x1B, 0xE2, 0x11, 0xFD, 0xE2, 0xD6, 0xE4, 0x0E, 0xA3, 0x3F, 0xA2, 0x5F, 0x07, 0xF4, 0x6B, 0x2F, 0x03, 0xF8, 0xF7, 0x49, 0xBF, 0x59, 0xD2, 0xF3, 0x44, 0xD6, 0x13, 0xFB, 0x3A, 0xED, 0x15, 0xB2, 0x97, 0x36, 0x77, 0x4B, 0xE5, 0x93, 0xBB, 0xFB, 0xA3, 0x72, 0x49, 0x9F, 0xF6, 0x05, 0x7E, 0x4B, 0xFE, 0xC6, 0x5F, 0xF0, 0x56, 0x58, 0xFF, 0x00, 0xE1, 0x49, 0x59, 0xFC, 0x33, 0xF8, 0xA7, 0xE6, 0xFD, 0xAB, 0x45, 0x96, 0x0D, 0x43, 0xC3, 0x5E, 0x2E, 0x12, 0x99, 0x25, 0x82, 0xF2, 0x09, 0xC5, 0xCC, 0x1F, 0x6C, 0xF3, 0x1B, 0x2D, 0x89, 0x06, 0xD6, 0x9D, 0x59, 0x49, 0x8D, 0x98, 0x30, 0x2C, 0x4B, 0x37, 0xEA, 0x3F, 0xC1, 0xFF, 0x00, 0x8F, 0x9F, 0x0D, 0xFE, 0x24, 0xCF, 0x71, 0xA1, 0xF8, 0x4F, 0x59, 0xD3, 0xAE, 0x26, 0xD0, 0x60, 0x81, 0xA7, 0xD2, 0xD4, 0x98, 0xE7, 0xD3, 0x23, 0x95, 0x77, 0x42, 0x86, 0x26, 0x00, 0xAA, 0x6D, 0x04, 0x2E, 0xD1, 0xB4, 0x6C, 0xDA, 0x31, 0xB7, 0x03, 0xE5, 0xB3, 0xA9, 0x57, 0xA9, 0x4E, 0x54, 0x2B, 0x2F, 0x8B, 0x99, 0x3F, 0x47, 0xB7, 0xDC, 0x7D, 0x7F, 0x0F, 0xE5, 0xB8, 0x4B, 0x3A, 0xB4, 0xB6, 0xB4, 0x7D, 0x53, 0x49, 0xA7, 0xF7, 0xEF, 0xE7, 0x73, 0xC8, 0x3F, 0x6E, 0x5F, 0x82, 0xB2, 0x59, 0x58, 0x6B, 0x9A, 0x5D, 0xFC, 0x0D, 0xFD, 0xA1, 0xE0, 0xFB, 0xF1, 0x7B, 0xA7, 0xDC, 0x6D, 0xC6, 0xE4, 0x7F, 0x92, 0x64, 0xFF, 0x00, 0x76, 0x55, 0x5F, 0x30, 0x0E, 0xE5, 0x73, 0xD8, 0x57, 0xC4, 0x3F, 0x17, 0xBC, 0x31, 0x7D, 0xA2, 0x78, 0xCA, 0xE3, 0x5C, 0xD1, 0xFF, 0x00, 0x71, 0xAA, 0x69, 0x76, 0xB6, 0xDA, 0xDE, 0x9F, 0x28, 0x1F, 0x76, 0xE2, 0x19, 0x63, 0x95, 0x4E, 0x3B, 0xE0, 0x9C, 0x7D, 0x06, 0x2B, 0xF5, 0xB3, 0xF6, 0xEE, 0xBD, 0xB4, 0xF1, 0x27, 0xC0, 0x5D, 0x07, 0xC6, 0x91, 0xC4, 0xB7, 0x11, 0x6B, 0x11, 0x5C, 0x78, 0x57, 0x5D, 0xD8, 0x7E, 0x68, 0xEF, 0x44, 0x26, 0x4B, 0x19, 0xDB, 0xD0, 0x06, 0x89, 0xD3, 0xE9, 0x76, 0xB9, 0xE2, 0xBF, 0x3A, 0x7E, 0x20, 0xE9, 0x3F, 0x64, 0x68, 0xE3, 0x90, 0x2F, 0xEF, 0x74, 0x95, 0x56, 0x38, 0xCF, 0xDC, 0x56, 0x62, 0x3F, 0xF1, 0xDF, 0xD2, 0xBA, 0xF8, 0x3F, 0x19, 0x3F, 0xAA, 0xB8, 0xCF, 0x74, 0xDA, 0x6B, 0xCD, 0x6F, 0xF7, 0xDA, 0xFF, 0x00, 0x33, 0xE3, 0xF8, 0xD3, 0x0D, 0x07, 0x8A, 0x85, 0x48, 0xEE, 0xF7, 0xF5, 0x4E, 0xDF, 0x85, 0xF4, 0xF2, 0x47, 0xDC, 0x1E, 0x1B, 0xF8, 0xB1, 0x61, 0xF1, 0xAF, 0xE0, 0xC6, 0x87, 0xE2, 0xAB, 0x1F, 0xDD, 0xD8, 0xF8, 0x8B, 0x4F, 0x8A, 0xF5, 0x22, 0x0D, 0x9F, 0x25, 0x9D, 0x7E, 0x68, 0x8F, 0xFB, 0x48, 0xFB, 0x90, 0xFB, 0xA9, 0xAE, 0x7E, 0x5D, 0x05, 0xF4, 0xFD, 0x8B, 0x24, 0x32, 0x45, 0xE6, 0xA0, 0x91, 0x32, 0x31, 0xB9, 0x48, 0xE0, 0xFD, 0x0F, 0x63, 0x5F, 0x2C, 0xFE, 0xC6, 0x5F, 0x17, 0xE4, 0xF8, 0x5F, 0xA2, 0x2F, 0x85, 0xB5, 0x3B, 0xB5, 0x8F, 0x41, 0xB9, 0xBC, 0x90, 0x58, 0x4F, 0x31, 0xFD, 0xD6, 0x97, 0x33, 0x3E, 0xE6, 0x56, 0xCF, 0x0B, 0x1C, 0x84, 0xEE, 0xCF, 0x45, 0x63, 0x93, 0xC3, 0x31, 0x1F, 0x59, 0x78, 0x6B, 0x47, 0x9A, 0xEE, 0x4B, 0xA8, 0xEF, 0xA4, 0x92, 0xD6, 0x34, 0x3E, 0x67, 0x9A, 0xCA, 0x71, 0xB4, 0xE3, 0x85, 0xF5, 0xAE, 0x89, 0xE1, 0xFE, 0xA8, 0xE5, 0x15, 0xF0, 0xF4, 0xF4, 0xE8, 0x7D, 0x1E, 0x13, 0x32, 0x59, 0x9C, 0x21, 0x52, 0xDE, 0xF5, 0xAC, 0xFD, 0x7A, 0xFC, 0x9E, 0xE8, 0xC9, 0x96, 0x28, 0xC4, 0xBB, 0x59, 0xBE, 0x6F, 0x4C, 0xD3, 0x26, 0xB2, 0xC9, 0xF5, 0x1E, 0xD5, 0x5B, 0xC7, 0xF7, 0x91, 0xE9, 0x77, 0xF1, 0x47, 0x66, 0xAB, 0x27, 0x9D, 0x9C, 0xB6, 0xFC, 0x9C, 0xF4, 0x19, 0xED, 0x5A, 0x36, 0x8D, 0x0D, 0x9E, 0x99, 0x07, 0xDB, 0x25, 0xDA, 0x40, 0xF9, 0xBC, 0xA3, 0x92, 0x7F, 0x1A, 0xD5, 0xB9, 0x72, 0x29, 0x2E, 0xA3, 0xA7, 0x24, 0xEA, 0xCA, 0x9F, 0xF2, 0xF5, 0xE8, 0x67, 0xC9, 0x6D, 0x92, 0x55, 0x79, 0xC5, 0x54, 0x9E, 0xD7, 0x69, 0x6C, 0xE0, 0x57, 0x42, 0x8D, 0x6B, 0x75, 0x68, 0xD2, 0x5B, 0xC3, 0xE5, 0x71, 0xC1, 0x27, 0x24, 0xFD, 0x6B, 0x8D, 0xF1, 0x25, 0xCD, 0xCD, 0xE5, 0xE9, 0x82, 0x15, 0xC2, 0xE7, 0xE6, 0x3E, 0xB4, 0x51, 0x94, 0xAA, 0x4B, 0x97, 0x6F, 0x53, 0xB3, 0x11, 0x4E, 0x34, 0x60, 0xA6, 0xF5, 0xBF, 0x61, 0xF3, 0x58, 0xFD, 0xBE, 0x22, 0xB1, 0xE5, 0xB7, 0x74, 0x35, 0x9A, 0xDF, 0x0E, 0x4E, 0xFD, 0xF2, 0x7E, 0x5E, 0xB5, 0xDB, 0xF8, 0x43, 0xC3, 0x9F, 0x66, 0xB5, 0x8E, 0x1D, 0xBB, 0xE6, 0x23, 0x20, 0x77, 0x39, 0xAE, 0xAE, 0xC7, 0xC0, 0xEB, 0x2A, 0x7E, 0xF1, 0x95, 0xA6, 0xFE, 0xE0, 0x3D, 0x2B, 0x1C, 0x46, 0x61, 0xF5, 0x7B, 0xAB, 0x9E, 0xA6, 0x0B, 0x21, 0x58, 0xB4, 0xA5, 0x28, 0x9E, 0x6B, 0xE1, 0xAF, 0x85, 0xB6, 0x7A, 0x82, 0xB1, 0x61, 0xCA, 0x9E, 0xE7, 0xAD, 0x6E, 0xCD, 0xE0, 0x38, 0x21, 0x55, 0x55, 0x50, 0x36, 0x2E, 0x2B, 0x5A, 0x0D, 0x3D, 0xB4, 0x0D, 0x46, 0x51, 0x2B, 0x7C, 0xAA, 0x7B, 0x77, 0xA9, 0x6C, 0x2E, 0xE6, 0xD4, 0xEF, 0xE4, 0x21, 0x3F, 0x72, 0x3A, 0x13, 0x5E, 0x2E, 0x2B, 0x11, 0x5A, 0x73, 0x73, 0x52, 0xD0, 0xFA, 0x4C, 0x2E, 0x5D, 0x42, 0x94, 0x14, 0x14, 0x75, 0xBE, 0xA7, 0xF3, 0xF7, 0xBB, 0x3F, 0xFE, 0xAA, 0xE8, 0x3E, 0x13, 0x44, 0xB7, 0x3F, 0x15, 0x7C, 0x31, 0x1B, 0x7D, 0xD6, 0xD5, 0xED, 0x41, 0x1F, 0xF6, 0xD5, 0x6B, 0x9F, 0xA9, 0xB4, 0xDD, 0x46, 0x6D, 0x1F, 0x52, 0xB7, 0xBB, 0xB6, 0x90, 0xC3, 0x71, 0x6B, 0x22, 0xCD, 0x13, 0xAF, 0x54, 0x75, 0x39, 0x07, 0xF0, 0x22, 0xBF, 0x48, 0x94, 0x6F, 0x16, 0x91, 0xFC, 0xF7, 0x4A, 0x5C, 0xB3, 0x52, 0x7D, 0x1A, 0x67, 0xF4, 0x95, 0xF1, 0x06, 0xD9, 0xEE, 0x3E, 0x1B, 0xDF, 0x43, 0x12, 0x34, 0x92, 0x35, 0xAE, 0xD5, 0x55, 0x19, 0x24, 0xE3, 0xD2, 0xBC, 0x01, 0x3C, 0x23, 0xAA, 0x8F, 0xF9, 0x86, 0xDE, 0x7E, 0x31, 0x1A, 0xFC, 0xAA, 0x1F, 0xF0, 0x53, 0xDF, 0x8E, 0x81, 0x42, 0xFF, 0x00, 0xC2, 0xC0, 0xD5, 0xB6, 0x81, 0x81, 0xF7, 0x3F, 0xC2, 0x9A, 0xBF, 0xF0, 0x53, 0xCF, 0x8E, 0x9F, 0xF4, 0x50, 0x35, 0x5F, 0xC9, 0x7F, 0xC2, 0xBE, 0x47, 0x01, 0x91, 0xE2, 0xF0, 0xD1, 0x71, 0x8B, 0x8B, 0xBF, 0xA9, 0xFA, 0x76, 0x71, 0xC6, 0x19, 0x6E, 0x61, 0x38, 0xD4, 0x9C, 0x67, 0x1B, 0x2B, 0x69, 0xCB, 0xFE, 0x67, 0xEA, 0xD4, 0x7E, 0x16, 0xD5, 0x50, 0xF1, 0xA7, 0x5E, 0xEE, 0xF6, 0x88, 0xD0, 0xFE, 0x0C, 0xD5, 0xA7, 0x1F, 0xF2, 0x0E, 0xBD, 0x07, 0xDE, 0x33, 0x5F, 0x94, 0xCB, 0xFF, 0x00, 0x05, 0x3A, 0xF8, 0xE8, 0x4F, 0xFC, 0x94, 0x2D, 0x5B, 0xF2, 0x5F, 0xF0, 0xA5, 0x3F, 0xF0, 0x53, 0x8F, 0x8E, 0x99, 0xFF, 0x00, 0x92, 0x85, 0xAB, 0x7E, 0x4B, 0xFE, 0x15, 0xD7, 0xFD, 0x9F, 0x8D, 0xBD, 0xFD, 0xDF, 0xBD, 0x9E, 0x4F, 0xF6, 0xD6, 0x52, 0xD5, 0x9F, 0xB4, 0xFB, 0xA3, 0xFE, 0x67, 0xEB, 0x87, 0x87, 0xE3, 0xF1, 0x17, 0x85, 0x82, 0x2C, 0x36, 0xB7, 0xCD, 0x0A, 0x9C, 0xF9, 0x66, 0x33, 0x8A, 0xCF, 0xF1, 0x8D, 0x96, 0xB1, 0xE2, 0x4B, 0xA5, 0x90, 0xE9, 0x37, 0x71, 0xB7, 0x4C, 0x88, 0x4F, 0x35, 0xF9, 0x3E, 0x7F, 0xE0, 0xA6, 0xDF, 0x1C, 0x88, 0xFF, 0x00, 0x92, 0x81, 0xAB, 0x7E, 0x4B, 0xFE, 0x14, 0x9F, 0xF0, 0xF3, 0x2F, 0x8E, 0x5F, 0xF4, 0x50, 0x75, 0x6F, 0xFC, 0x77, 0xFC, 0x2A, 0x23, 0x94, 0xE2, 0xB9, 0xF9, 0xED, 0x1B, 0xFC, 0xCD, 0x17, 0x10, 0x65, 0xAA, 0x1E, 0xCD, 0x7B, 0x4B, 0x76, 0xB4, 0x7F, 0xCC, 0xFD, 0x2F, 0xD5, 0x7C, 0x0D, 0xAE, 0x79, 0xCC, 0x83, 0x49, 0xBF, 0x6E, 0x71, 0x91, 0x09, 0x35, 0x9E, 0xDF, 0x0E, 0x35, 0xD7, 0x6F, 0xF9, 0x03, 0xEA, 0x3F, 0x84, 0x26, 0xBF, 0x37, 0xCF, 0xFC, 0x14, 0xC7, 0xE3, 0x96, 0x7F, 0xE4, 0xA1, 0x6A, 0xDF, 0xF8, 0xEF, 0xF8, 0x53, 0x4F, 0xFC, 0x14, 0xC7, 0xE3, 0x98, 0x1F, 0x2F, 0xC4, 0x4D, 0x65, 0x7E, 0x9B, 0x7F, 0xC2, 0xB7, 0x8E, 0x07, 0x1B, 0xB7, 0xBB, 0xF7, 0xB3, 0x3F, 0xED, 0xAC, 0xA6, 0xF7, 0xFD, 0xE7, 0xDD, 0x1F, 0xF3, 0x3F, 0x49, 0xAE, 0x34, 0xAF, 0x18, 0x78, 0x73, 0x49, 0x68, 0x2C, 0x34, 0x1D, 0x62, 0x49, 0x24, 0xE0, 0x32, 0x59, 0x48, 0xFB, 0x3F, 0x21, 0x59, 0xDA, 0x57, 0xC3, 0xBF, 0x1A, 0xEA, 0xF3, 0xAC, 0xBA, 0x86, 0x8B, 0xE2, 0x19, 0x00, 0xE4, 0x06, 0xD3, 0xE6, 0xFF, 0x00, 0xE2, 0x6B, 0xF3, 0xA9, 0xBF, 0xE0, 0xA7, 0x7F, 0x1F, 0x13, 0x84, 0xF8, 0xA1, 0xE2, 0x28, 0xFF, 0x00, 0xDD, 0x68, 0xFF, 0x00, 0xF8, 0x8A, 0x0F, 0xFC, 0x14, 0xFF, 0x00, 0xF6, 0x82, 0xED, 0xF1, 0x6B, 0xC5, 0x8B, 0xF4, 0x92, 0x2F, 0xFE, 0x22, 0xA3, 0xFB, 0x3B, 0x17, 0xBD, 0xA1, 0xF8, 0xFF, 0x00, 0x91, 0xB4, 0x78, 0x83, 0x2C, 0x49, 0x2F, 0xDE, 0x5B, 0xD2, 0x3F, 0xE6, 0x7E, 0x99, 0x47, 0xF0, 0xDF, 0xC4, 0x5C, 0x05, 0xF0, 0xF6, 0xBB, 0xB5, 0x7A, 0x0F, 0xEC, 0xE9, 0xB8, 0xFF, 0x00, 0xC7, 0x6A, 0x61, 0xF0, 0xDB, 0xC4, 0x80, 0x8F, 0xF8, 0xA7, 0x75, 0xEE, 0x0E, 0x73, 0xFD, 0x9F, 0x2F, 0xFF, 0x00, 0x13, 0x5F, 0x98, 0xFF, 0x00, 0xF0, 0xF4, 0x1F, 0xDA, 0x0F, 0x3F, 0xF2, 0x56, 0xBC, 0x5D, 0xFF, 0x00, 0x7F, 0x62, 0xFF, 0x00, 0xE2, 0x2A, 0x4B, 0xCF, 0xF8, 0x29, 0xAF, 0xED, 0x0D, 0x69, 0x30, 0x49, 0x3E, 0x2D, 0xF8, 0xB7, 0x7E, 0xD0, 0xC4, 0x79, 0xD1, 0x71, 0x91, 0x91, 0x9F, 0x93, 0xD0, 0x8A, 0x9F, 0xEC, 0xFC, 0x77, 0xF7, 0x7E, 0xF7, 0xFE, 0x46, 0xB1, 0xE2, 0x6C, 0xA9, 0x7D, 0x9A, 0x9F, 0x74, 0x7F, 0xCC, 0xFD, 0x35, 0xD4, 0x7E, 0x16, 0x78, 0x83, 0x5B, 0x8A, 0xE2, 0x1B, 0x8F, 0x0E, 0xEB, 0x8B, 0x15, 0xE0, 0x64, 0x93, 0xCB, 0xB0, 0x96, 0x3C, 0x06, 0xCE, 0x76, 0xE1, 0x46, 0xDE, 0xBC, 0x63, 0xA7, 0x6A, 0xF4, 0x9F, 0xD9, 0x0F, 0xC0, 0xD0, 0xFE, 0xCB, 0x57, 0xAB, 0x36, 0x95, 0xE0, 0x65, 0x85, 0x5F, 0x6A, 0x19, 0x9F, 0x4F, 0x66, 0xBA, 0x89, 0x41, 0x19, 0xDB, 0x23, 0x02, 0xE3, 0x23, 0x3C, 0x02, 0x05, 0x7E, 0x3E, 0x1F, 0xF8, 0x29, 0xEF, 0xED, 0x06, 0x3F, 0xE6, 0xAE, 0x78, 0xBB, 0xFE, 0xFF, 0x00, 0x47, 0xFF, 0x00, 0xC4, 0x52, 0x7F, 0xC3, 0xCF, 0xBF, 0x68, 0x2F, 0xFA, 0x2B, 0x9E, 0x2E, 0xFF, 0x00, 0xBF, 0xD1, 0xFF, 0x00, 0xF1, 0x15, 0x12, 0xCA, 0xF1, 0x93, 0x83, 0x84, 0xB9, 0x6C, 0xFC, 0xD8, 0xBF, 0xD6, 0x5C, 0xA5, 0x54, 0x55, 0x52, 0xA8, 0x9A, 0xDB, 0x48, 0x7F, 0x99, 0xFD, 0x10, 0x2F, 0xED, 0x37, 0x15, 0xD4, 0xD7, 0x07, 0xFB, 0x07, 0x5B, 0xB7, 0x87, 0x07, 0xC9, 0x2D, 0x6E, 0xCC, 0xCC, 0x7D, 0xF0, 0x3F, 0x5A, 0xF2, 0x2F, 0x8F, 0x9F, 0x1B, 0x2F, 0x3C, 0x4D, 0xF0, 0x6B, 0xC5, 0x8B, 0x7F, 0x1D, 0xC6, 0x93, 0x71, 0x26, 0x9E, 0x34, 0xD8, 0x23, 0x91, 0x4A, 0x9B, 0xB1, 0x73, 0x2A, 0xB6, 0xD0, 0x08, 0xFE, 0x15, 0xB6, 0x72, 0x4F, 0x60, 0xDE, 0xA4, 0x57, 0xE1, 0xD4, 0xBF, 0xF0, 0x54, 0x1F, 0xDA, 0x02, 0x04, 0x66, 0x6F, 0x8B, 0xBE, 0x30, 0x55, 0x50, 0x49, 0x3E, 0x7C, 0x7C, 0x7F, 0xE3, 0x95, 0xFA, 0x99, 0xE1, 0xBB, 0xAF, 0x15, 0x7F, 0xC3, 0x30, 0x78, 0x1F, 0xC3, 0xFE, 0x32, 0xD5, 0xAF, 0xF5, 0xEF, 0x16, 0x69, 0x5E, 0x1A, 0x4D, 0x77, 0xC4, 0x7A, 0x85, 0xE3, 0xEE, 0x99, 0xEF, 0xEF, 0x9E, 0x39, 0xCD, 0xBB, 0xF0, 0x06, 0x6D, 0x61, 0x9A, 0xDE, 0xDF, 0x80, 0x30, 0xCA, 0xE3, 0xAE, 0x6B, 0xE7, 0x33, 0x1C, 0x9D, 0xE1, 0x5D, 0x38, 0xCD, 0x47, 0xDE, 0x92, 0xD9, 0xBD, 0x93, 0x4F, 0xAF, 0x9D, 0x97, 0xCC, 0xFA, 0x0C, 0x0F, 0x11, 0xE1, 0xF1, 0xF7, 0xA5, 0x4B, 0x9F, 0x45, 0xD5, 0x46, 0xDE, 0x5B, 0x36, 0xFA, 0x1E, 0x3D, 0xE1, 0xCF, 0x86, 0x73, 0x78, 0x87, 0xC4, 0x2B, 0x25, 0xF5, 0xE4, 0x76, 0xBA, 0x4E, 0x9E, 0x16, 0xE6, 0xED, 0x51, 0x4B, 0x49, 0x22, 0x0C, 0x91, 0x18, 0x24, 0x8D, 0xBB, 0x88, 0x23, 0x20, 0x1E, 0x03, 0x01, 0x82, 0x55, 0x86, 0xFF, 0x00, 0x8E, 0xF5, 0x8B, 0xAF, 0x12, 0xF8, 0x3E, 0x4D, 0x0E, 0xC9, 0xBC, 0xAB, 0xEF, 0x17, 0x6A, 0x89, 0x6C, 0x36, 0x0F, 0x96, 0xDE, 0xDA, 0x35, 0x07, 0xA7, 0x4D, 0xA9, 0xB5, 0x89, 0xF5, 0x58, 0xD8, 0x77, 0x15, 0x15, 0x9F, 0x99, 0x04, 0x0C, 0x15, 0x59, 0x57, 0x54, 0x61, 0x24, 0x8D, 0xFD, 0xF3, 0x19, 0x61, 0xB7, 0xE8, 0x32, 0xA7, 0x1E, 0xA4, 0x57, 0x39, 0xF1, 0x47, 0xE2, 0x42, 0xFC, 0x1B, 0xFD, 0x9B, 0x3C, 0x73, 0xF1, 0x12, 0x36, 0xDB, 0x71, 0x6F, 0x69, 0x2E, 0x95, 0xA0, 0xB3, 0x72, 0x0D, 0xC4, 0xCE, 0x22, 0xF3, 0x40, 0xF4, 0xF3, 0x58, 0x1E, 0xE0, 0xAC, 0x79, 0xEE, 0x6B, 0xAE, 0xA4, 0x25, 0x1A, 0xA9, 0xAD, 0xEE, 0x94, 0x57, 0x9F, 0x4F, 0xC7, 0x5F, 0x91, 0xF3, 0xF8, 0xDC, 0x44, 0xB1, 0x0D, 0xC2, 0x6E, 0xD1, 0xB3, 0xBF, 0x92, 0xEB, 0xF8, 0x7E, 0x67, 0xD5, 0x9A, 0xB7, 0xEC, 0xCB, 0x34, 0x3F, 0xB3, 0xBE, 0x93, 0xE1, 0xBB, 0x68, 0x48, 0x68, 0x6D, 0x0D, 0xC6, 0x9C, 0x0C, 0x85, 0x90, 0x06, 0xDE, 0x04, 0x4E, 0xC3, 0x3B, 0x70, 0xAD, 0xB4, 0x9C, 0x70, 0xEA, 0x1C, 0x86, 0x23, 0x07, 0xE5, 0xDD, 0x2E, 0xFB, 0x58, 0xF0, 0x06, 0xBC, 0x7F, 0xE3, 0xEB, 0x49, 0xD6, 0x74, 0xE9, 0x55, 0x5F, 0x72, 0xED, 0x96, 0xDE, 0x48, 0xE4, 0x49, 0x06, 0x41, 0xCF, 0x21, 0xE3, 0x53, 0xDF, 0xEE, 0x91, 0xC8, 0x35, 0xF1, 0x17, 0x86, 0x3F, 0xE0, 0xA2, 0xDF, 0xB4, 0x97, 0x8D, 0x7C, 0x45, 0xA5, 0xE8, 0x3A, 0x5F, 0xC5, 0x8F, 0x18, 0x5C, 0x6A, 0x5A, 0xC5, 0xE4, 0x3A, 0x7D, 0x94, 0x46, 0xE5, 0x14, 0x4B, 0x3C, 0xAE, 0xB1, 0xC6, 0x09, 0xD9, 0xDD, 0x98, 0x0C, 0xD7, 0xE8, 0x2F, 0xC4, 0x4D, 0x27, 0x7D, 0xFC, 0xD6, 0x33, 0x6A, 0x97, 0x5A, 0xF6, 0xAD, 0xA0, 0x59, 0xC1, 0x0D, 0xDE, 0xAB, 0x77, 0x21, 0x7B, 0x9D, 0x69, 0x91, 0x15, 0x27, 0x9E, 0x43, 0xD3, 0x71, 0x6C, 0x30, 0x55, 0xC0, 0x55, 0xDC, 0x00, 0x00, 0x0A, 0xED, 0x58, 0x4A, 0xB8, 0x69, 0xAA, 0x58, 0x86, 0xA4, 0xA4, 0xBA, 0x5F, 0xA3, 0x5A, 0xBF, 0x53, 0xA9, 0x66, 0x58, 0x3C, 0x65, 0x2B, 0xE1, 0x23, 0x28, 0xF2, 0xD9, 0x7B, 0xD6, 0xB5, 0xAD, 0xB2, 0xB3, 0xE8, 0x2F, 0xC6, 0x1F, 0xDB, 0xE7, 0xC1, 0x7A, 0xF7, 0xC6, 0x1D, 0x2E, 0xFF, 0x00, 0xC5, 0x9A, 0x7E, 0x83, 0xA1, 0xFC, 0x40, 0x8F, 0x48, 0x75, 0xB4, 0xD5, 0x35, 0x0B, 0x61, 0xF6, 0x4B, 0x98, 0xC9, 0x02, 0x71, 0x0D, 0xC9, 0x04, 0xDB, 0x48, 0xCB, 0x14, 0x6C, 0xCA, 0xC4, 0x0C, 0xAA, 0xB6, 0xE6, 0xCB, 0x05, 0xF2, 0x89, 0xFF, 0x00, 0x6B, 0x5F, 0x0E, 0xE8, 0x7F, 0xB5, 0xFE, 0x81, 0xAE, 0x5A, 0xDD, 0xE3, 0x4D, 0xD7, 0xAC, 0x8E, 0x8D, 0xAC, 0x08, 0xA4, 0x59, 0x23, 0x78, 0x88, 0x64, 0x90, 0xE5, 0x49, 0x0D, 0xFB, 0xB6, 0x59, 0x14, 0x8C, 0xA9, 0x36, 0xCB, 0xC9, 0xDC, 0x2B, 0xCF, 0xBF, 0x6B, 0x2F, 0x84, 0x8B, 0xF1, 0x3A, 0xD3, 0x4B, 0xF2, 0xDD, 0x2D, 0xEE, 0xAD, 0xE6, 0x0D, 0x04, 0xEC, 0x01, 0x10, 0xCC, 0x03, 0x08, 0x89, 0xFF, 0x00, 0x63, 0x73, 0x9D, 0xD9, 0xEA, 0xA4, 0x8F, 0x71, 0xF2, 0x97, 0x87, 0xF4, 0x0B, 0x9F, 0x86, 0x3F, 0x14, 0x34, 0x5D, 0x4A, 0x3F, 0xB5, 0x59, 0xDB, 0xE8, 0xFA, 0xB4, 0x2B, 0x79, 0x6A, 0xCC, 0x59, 0xF4, 0xC7, 0x2F, 0xB5, 0xE2, 0x6C, 0xF6, 0x2A, 0x5F, 0x63, 0x9E, 0x1D, 0x7B, 0xEF, 0x0E, 0xAA, 0x61, 0xF2, 0x4C, 0x34, 0x1B, 0x74, 0xDB, 0x56, 0x4D, 0x5B, 0xA5, 0x9F, 0x6F, 0x4F, 0xF2, 0x31, 0xAF, 0x9F, 0x55, 0x85, 0x3F, 0xAA, 0xD5, 0x82, 0x71, 0x6D, 0x35, 0x2D, 0x9A, 0x7A, 0x7D, 0xFA, 0x1F, 0x66, 0x7C, 0x59, 0xBB, 0x5D, 0x1F, 0xC1, 0x3A, 0xA4, 0xDE, 0x64, 0x7B, 0x5A, 0x1F, 0x2D, 0x24, 0x42, 0x19, 0x77, 0xBB, 0x08, 0xC6, 0x0F, 0x7F, 0x99, 0x80, 0xF7, 0xAF, 0x8F, 0xFF, 0x00, 0x6A, 0xAF, 0x88, 0x56, 0x3E, 0x1F, 0xD2, 0x6F, 0x7C, 0x25, 0x6B, 0xE6, 0x4B, 0xAF, 0x6E, 0x8A, 0xD6, 0xEC, 0xA8, 0xDA, 0x96, 0x50, 0x2E, 0x59, 0x91, 0x98, 0xFF, 0x00, 0x1B, 0x62, 0x31, 0xB4, 0x67, 0x0B, 0xBB, 0x38, 0xC8, 0xAF, 0xA7, 0xBF, 0x69, 0xAF, 0x8B, 0x90, 0xFC, 0x1D, 0xF0, 0xA2, 0x43, 0x13, 0x5A, 0xDD, 0x6B, 0x9A, 0x93, 0x06, 0xD2, 0xAD, 0xB6, 0xEE, 0x2C, 0xFB, 0xB3, 0xE7, 0xB2, 0x7F, 0x75, 0x58, 0xE7, 0x1F, 0xC6, 0xF8, 0x03, 0xB9, 0x1F, 0x0B, 0xB7, 0xC2, 0xEB, 0x86, 0xF1, 0x4C, 0x9F, 0xDB, 0x31, 0xDE, 0x6A, 0x5A, 0xB5, 0xCC, 0xCD, 0x34, 0x9A, 0x72, 0xB9, 0x37, 0x53, 0xBB, 0x39, 0x25, 0xAE, 0x5F, 0xFE, 0x58, 0x06, 0x39, 0x24, 0x37, 0xEF, 0x1B, 0x38, 0x0A, 0xBB, 0xB7, 0x8F, 0x5B, 0x09, 0x4E, 0x49, 0x36, 0xF6, 0x3C, 0x7C, 0xDB, 0x11, 0x07, 0xCB, 0x05, 0xAC, 0x95, 0xFE, 0x57, 0x56, 0xFC, 0x8C, 0x5F, 0x07, 0x68, 0x37, 0x96, 0x9A, 0x8D, 0x8D, 0xE3, 0x5B, 0x35, 0xE4, 0xAF, 0xFE, 0x93, 0x65, 0x61, 0xB7, 0x7B, 0x5E, 0x6C, 0x3F, 0x2B, 0x38, 0xE8, 0x96, 0xE1, 0xC7, 0xCC, 0xED, 0x80, 0xC0, 0x32, 0xAE, 0x79, 0x2B, 0xFA, 0x07, 0xF0, 0x39, 0xA5, 0xF8, 0x29, 0xE1, 0x0D, 0x37, 0x4F, 0xD3, 0xAF, 0x26, 0x8E, 0xF2, 0x35, 0x13, 0x5D, 0xDD, 0xA3, 0x15, 0x92, 0xF2, 0xE1, 0x8F, 0x99, 0x24, 0xAF, 0xFD, 0xE2, 0x5F, 0x2D, 0xCF, 0x4E, 0x3D, 0x05, 0x78, 0x66, 0x8D, 0xF0, 0xC9, 0xBE, 0x0A, 0xFC, 0x30, 0xB8, 0xBC, 0xBC, 0xFB, 0x3C, 0xDE, 0x20, 0xD7, 0xEE, 0xAD, 0xA3, 0xBC, 0x9D, 0x88, 0x8D, 0x57, 0x7C, 0x88, 0x89, 0x04, 0x60, 0xE3, 0x08, 0xAA, 0x76, 0x85, 0x18, 0xFA, 0x01, 0xC0, 0xF6, 0x7B, 0x38, 0x1A, 0xD2, 0x38, 0xD1, 0xE4, 0x69, 0xA4, 0xDC, 0x4B, 0xBB, 0x70, 0x58, 0x93, 0x9F, 0xCB, 0xB0, 0xF4, 0x00, 0x57, 0xA1, 0x8A, 0xA0, 0xAC, 0xA9, 0xC9, 0x79, 0xDB, 0xFC, 0xCE, 0x5C, 0xAE, 0xA7, 0x24, 0x9C, 0xE3, 0xBD, 0xCF, 0xBF, 0xFF, 0x00, 0x64, 0x8F, 0x89, 0x5A, 0xB7, 0xC6, 0x6F, 0x83, 0x3E, 0x2C, 0xD1, 0xF5, 0x88, 0xE7, 0xD4, 0x3C, 0x3F, 0xE2, 0x4B, 0x63, 0x67, 0x74, 0xC5, 0x77, 0x2D, 0x96, 0xAB, 0x6A, 0x56, 0x6B, 0x59, 0xC7, 0x04, 0x28, 0x2D, 0xE5, 0x07, 0xE9, 0xF2, 0x4A, 0x09, 0xCE, 0xCC, 0x1E, 0x1F, 0xC7, 0xFF, 0x00, 0x08, 0x1F, 0x49, 0xF8, 0xBD, 0xE2, 0xD8, 0x64, 0xB4, 0x69, 0x74, 0x7D, 0x2E, 0x5D, 0x67, 0x44, 0x9B, 0x1F, 0xF2, 0xCD, 0x62, 0x2E, 0x8D, 0x20, 0x1E, 0x91, 0x6E, 0x89, 0x9B, 0xFB, 0xA1, 0xB7, 0x74, 0x53, 0x5F, 0x03, 0xFE, 0xD1, 0x3F, 0xB4, 0xEF, 0xC4, 0x2F, 0xD9, 0xDF, 0xC3, 0xFA, 0x6F, 0xFC, 0x20, 0xFE, 0x33, 0xD7, 0xBC, 0x2F, 0x6F, 0xAA, 0xBD, 0xC9, 0xBE, 0x82, 0xC6, 0xE7, 0xCB, 0x8E, 0xE8, 0xA2, 0xC5, 0xB5, 0x99, 0x70, 0x79, 0x00, 0xB0, 0xC8, 0xEC, 0x7D, 0x85, 0x7E, 0xB8, 0x7E, 0xD5, 0x5A, 0x75, 0x86, 0x83, 0xF1, 0x44, 0xE8, 0x97, 0x57, 0xC7, 0x4C, 0xD5, 0x7C, 0x45, 0x75, 0xAE, 0x6B, 0x21, 0x20, 0xB9, 0xFB, 0x3D, 0xDF, 0x9D, 0x35, 0xCF, 0x98, 0xCF, 0x03, 0x03, 0xBB, 0x29, 0x69, 0x2D, 0xA6, 0x48, 0xE9, 0x96, 0xCF, 0x19, 0xCF, 0xC3, 0xE6, 0x12, 0xA9, 0x85, 0xC5, 0x73, 0x46, 0xD6, 0xAC, 0x9A, 0xB2, 0xFE, 0xEE, 0xEF, 0xD6, 0xD6, 0xD8, 0xFA, 0x08, 0xE1, 0x70, 0xF5, 0xAA, 0x46, 0x1E, 0xF5, 0xE9, 0x7B, 0xD2, 0x6E, 0xCF, 0xE2, 0xB5, 0x92, 0xF2, 0xF2, 0x67, 0xE7, 0xD4, 0xBE, 0x01, 0xB8, 0xD2, 0x74, 0x6D, 0x46, 0xC6, 0x68, 0xCC, 0x9F, 0xE9, 0x2C, 0xD0, 0x37, 0x4F, 0x33, 0xE4, 0x4C, 0x60, 0xFB, 0xF5, 0xFA, 0xFD, 0x2B, 0xD4, 0xFF, 0x00, 0x65, 0xBF, 0xDA, 0x46, 0xF2, 0xCC, 0x5B, 0x78, 0x4F, 0xC4, 0x37, 0x92, 0x5C, 0x5A, 0xC6, 0x04, 0x3A, 0x75, 0xCC, 0xCD, 0xCD, 0xBA, 0x1E, 0x04, 0x0F, 0x93, 0xC2, 0x8E, 0x8A, 0x4F, 0xDD, 0x07, 0x1F, 0x77, 0x1B, 0x77, 0xBF, 0x67, 0x4F, 0x86, 0x07, 0xE2, 0x97, 0xC0, 0x5D, 0x57, 0xC3, 0xF7, 0x97, 0xDF, 0x6E, 0xF1, 0x3F, 0x87, 0x67, 0x57, 0xB4, 0xBB, 0x74, 0x0B, 0x35, 0xE5, 0xB9, 0x8C, 0x04, 0x77, 0xC0, 0x0B, 0xBC, 0x95, 0x2A, 0xD8, 0xC0, 0xDC, 0xBB, 0x80, 0x51, 0x20, 0x5A, 0xF0, 0x9F, 0x18, 0x69, 0x52, 0xF8, 0x3B, 0xC6, 0xCD, 0x6F, 0x79, 0x04, 0x96, 0xF7, 0x0A, 0xE4, 0xB2, 0x30, 0xDB, 0xCF, 0xF1, 0x27, 0xBE, 0x73, 0xB8, 0x76, 0x21, 0x81, 0x15, 0xF5, 0x58, 0x3C, 0x45, 0x3C, 0x6C, 0x65, 0x46, 0x7F, 0x14, 0x77, 0xFD, 0x1A, 0xF5, 0x3E, 0x3B, 0x17, 0x85, 0xC4, 0x65, 0x55, 0x63, 0x88, 0xA3, 0xF0, 0x54, 0xD5, 0x76, 0xDF, 0x58, 0xBF, 0x35, 0xFF, 0x00, 0x04, 0xFB, 0x73, 0x50, 0xF8, 0x75, 0xAC, 0x5E, 0xBB, 0x6D, 0xD1, 0xEF, 0x95, 0xA1, 0x60, 0x77, 0x3C, 0x45, 0x73, 0xF4, 0xAB, 0x96, 0x1F, 0x08, 0x75, 0x2B, 0xF9, 0x64, 0x5B, 0x8B, 0x79, 0x2D, 0xD4, 0x60, 0x82, 0xC3, 0xEF, 0x57, 0xC0, 0xFF, 0x00, 0xB4, 0x2F, 0x8D, 0xBE, 0x3C, 0x68, 0x9A, 0x3D, 0xAE, 0xAD, 0xF0, 0xF7, 0xE2, 0x97, 0x8C, 0xA1, 0xD2, 0xC5, 0xBA, 0x22, 0x69, 0x71, 0x6A, 0x24, 0x45, 0xB5, 0x40, 0x00, 0x43, 0xBB, 0x3B, 0x58, 0x01, 0x82, 0x8C, 0x70, 0x71, 0xF2, 0x9F, 0xE1, 0xAF, 0x99, 0x6E, 0x7F, 0xE0, 0xA4, 0x1F, 0xB4, 0x0C, 0x13, 0xC9, 0x14, 0xDF, 0x16, 0xBC, 0x79, 0x14, 0xD0, 0xB9, 0x8E, 0x48, 0xDE, 0xF8, 0xAB, 0xC6, 0xC0, 0xE0, 0xA9, 0x04, 0x64, 0x10, 0x46, 0x08, 0x3C, 0x83, 0x5C, 0xEF, 0x03, 0x98, 0x35, 0x68, 0xCA, 0x16, 0xF9, 0x9F, 0x47, 0x47, 0x3A, 0xC9, 0x1F, 0xBD, 0x28, 0x54, 0xBF, 0x55, 0xEE, 0x9F, 0xB5, 0x8B, 0xF0, 0xAE, 0xE2, 0xD6, 0xCB, 0xCB, 0x09, 0x23, 0x67, 0x83, 0x81, 0x4C, 0xD3, 0xBE, 0x19, 0x49, 0x6E, 0x1B, 0xCC, 0xB3, 0x93, 0x76, 0x78, 0x38, 0xEA, 0x2B, 0xF1, 0x50, 0xFF, 0x00, 0xC1, 0x49, 0x3E, 0x3E, 0xBA, 0xFF, 0x00, 0xC9, 0x5E, 0xF1, 0xCF, 0xFE, 0x0C, 0x4F, 0xF8, 0x53, 0x0F, 0xFC, 0x14, 0x7B, 0xE3, 0xE7, 0xFD, 0x15, 0xEF, 0x1D, 0x7F, 0xE0, 0xC4, 0xFF, 0x00, 0x85, 0x72, 0xAC, 0x9F, 0x30, 0xD5, 0xA9, 0xC7, 0x5F, 0x53, 0xD5, 0x8F, 0x16, 0x64, 0xF1, 0x6B, 0xF7, 0x55, 0x1D, 0xBF, 0xC2, 0x7E, 0xDF, 0xC7, 0xE0, 0x7B, 0x81, 0x3F, 0x9A, 0xB0, 0xB4, 0x6C, 0xBD, 0x39, 0xE9, 0x56, 0x2D, 0x74, 0x3B, 0x8D, 0x29, 0xCC, 0x8B, 0x6F, 0x34, 0xD2, 0xE7, 0xEF, 0x1E, 0x95, 0xF8, 0x6E, 0xFF, 0x00, 0xF0, 0x51, 0xBF, 0x8F, 0x0C, 0xBF, 0x37, 0xC5, 0x8F, 0x1A, 0x48, 0x3D, 0x1A, 0xF8, 0x9F, 0xE9, 0x50, 0xFF, 0x00, 0xC3, 0xC4, 0x7E, 0x36, 0xB7, 0xDE, 0xF8, 0x95, 0xE2, 0x79, 0x3F, 0xDF, 0xB9, 0xCF, 0xF4, 0xAC, 0x6A, 0x70, 0xFE, 0x36, 0x7F, 0x14, 0xE3, 0xF8, 0x9E, 0x9D, 0x1E, 0x3E, 0xCB, 0x29, 0xD9, 0xC2, 0x8C, 0xFE, 0xF8, 0xFF, 0x00, 0x99, 0xFB, 0x8B, 0x7F, 0xE1, 0x5B, 0xAD, 0x52, 0xE1, 0x9A, 0x48, 0x58, 0x6E, 0x3C, 0xD5, 0xDB, 0x4F, 0x09, 0x35, 0x94, 0x1E, 0x5C, 0x71, 0xF6, 0xC9, 0x38, 0xAF, 0xC2, 0xBF, 0xF8, 0x78, 0x5F, 0xC6, 0x8F, 0xFA, 0x28, 0x9E, 0x20, 0xFF, 0x00, 0xBF, 0xD4, 0xD6, 0xFF, 0x00, 0x82, 0x85, 0x7C, 0x68, 0xCF, 0x3F, 0x10, 0xBC, 0x41, 0xFF, 0x00, 0x7F, 0xBF, 0xFA, 0xD5, 0x8D, 0x4E, 0x19, 0xC5, 0xC9, 0x72, 0xF3, 0xAB, 0x7C, 0xCE, 0x9A, 0x7E, 0x23, 0x65, 0xD0, 0x97, 0x37, 0xB1, 0x9B, 0x7E, 0xB1, 0x3C, 0x8C, 0x8C, 0xCB, 0xB5, 0x59, 0x4F, 0x38, 0x07, 0xA6, 0x69, 0x1B, 0xE5, 0x38, 0xCF, 0x43, 0x8E, 0x29, 0x37, 0xFF, 0x00, 0x9C, 0x51, 0xBB, 0x3F, 0xFE, 0xAA, 0xFB, 0xAB, 0x1F, 0x8A, 0x68, 0x19, 0xFF, 0x00, 0x6B, 0xF4, 0xA3, 0x3E, 0xFF, 0x00, 0xA5, 0x19, 0xE7, 0xF8, 0x68, 0x27, 0x1F, 0xFE, 0xAA, 0x03, 0x61, 0xD1, 0xB7, 0xCD, 0xD7, 0xE9, 0x4E, 0xDD, 0xFE, 0xD7, 0xE9, 0x4D, 0x46, 0x1B, 0x7E, 0xB4, 0xED, 0xDF, 0xE7, 0x14, 0x06, 0x81, 0xBB, 0xFD, 0xAF, 0xD2, 0x8D, 0xDF, 0xED, 0x7E, 0x94, 0xE8, 0x62, 0x6B, 0x89, 0x55, 0x11, 0x77, 0x33, 0x70, 0x07, 0xAD, 0x35, 0xBE, 0x43, 0x86, 0xE0, 0xF7, 0x18, 0xE9, 0x40, 0x68, 0x1B, 0xBF, 0xDA, 0xFD, 0x28, 0xDD, 0xFE, 0xD7, 0xE9, 0x46, 0x73, 0xE9, 0xF9, 0x51, 0x83, 0xE8, 0x28, 0x0B, 0x0D, 0x73, 0xF3, 0x75, 0xA6, 0xEE, 0xFF, 0x00, 0x6B, 0xF4, 0xA1, 0x9B, 0x2D, 0xFF, 0x00, 0xD6, 0xA3, 0x3F, 0xE7, 0x14, 0x06, 0x81, 0xBB, 0xFD, 0xAF, 0xD2, 0x81, 0xC7, 0x4F, 0xE5, 0x46, 0xEF, 0xF3, 0x8A, 0x37, 0x7F, 0x9C, 0x50, 0x1A, 0x0E, 0x91, 0x3C, 0xBD, 0xBF, 0x32, 0x9D, 0xC0, 0x37, 0xCB, 0xCE, 0x33, 0xD8, 0xFB, 0xD3, 0x73, 0xFE, 0xD7, 0xE9, 0x52, 0x3B, 0xC2, 0xB6, 0x43, 0xFD, 0x60, 0x9F, 0x79, 0x25, 0x89, 0x1B, 0x36, 0x63, 0x8E, 0x31, 0x9C, 0xE7, 0x3C, 0xE7, 0x18, 0xC5, 0x7D, 0xF5, 0xFF, 0x00, 0x04, 0xB6, 0xFF, 0x00, 0x82, 0x29, 0xEA, 0x1F, 0xB5, 0x3F, 0x86, 0x3F, 0xE1, 0x6A, 0x7C, 0x66, 0xBA, 0xBD, 0xF8, 0x79, 0xF0, 0x33, 0x49, 0x51, 0x7C, 0x92, 0x3A, 0x0B, 0x7D, 0x57, 0xC5, 0xAA, 0x71, 0x84, 0xB5, 0xC8, 0xDF, 0x1D, 0xB3, 0x60, 0x0F, 0x3C, 0x82, 0x5C, 0xB6, 0xD8, 0x41, 0x2C, 0xD2, 0x47, 0xC3, 0x98, 0x66, 0x18, 0x7C, 0x15, 0x2F, 0x6D, 0x88, 0x95, 0x97, 0x4E, 0xED, 0xF4, 0x49, 0x75, 0x6C, 0xE8, 0xC3, 0x61, 0x6A, 0x57, 0x9F, 0x25, 0x35, 0xAF, 0xF5, 0xB9, 0xF3, 0x8F, 0xEC, 0x47, 0xFB, 0x26, 0x6A, 0x9F, 0xB4, 0x57, 0xC4, 0x3B, 0x0D, 0x4E, 0xF7, 0x4D, 0xBB, 0x5F, 0x87, 0xDA, 0x2E, 0xA0, 0xBF, 0xDB, 0x9A, 0x93, 0x28, 0x5B, 0x79, 0xB6, 0x01, 0x2F, 0xD8, 0xA3, 0x2C, 0x31, 0x24, 0xD2, 0x61, 0x14, 0xA8, 0xCE, 0xC5, 0x90, 0x33, 0x60, 0x60, 0x9F, 0xD6, 0x4F, 0x87, 0x57, 0x32, 0x78, 0xF6, 0x2F, 0x88, 0x57, 0x37, 0x00, 0x2B, 0xFF, 0x00, 0x62, 0x2B, 0xAC, 0x6A, 0xC5, 0x84, 0x63, 0xED, 0xD6, 0xFC, 0x64, 0xE4, 0x92, 0x4B, 0x16, 0x2C, 0x49, 0x2C, 0xC5, 0x98, 0x92, 0x58, 0x9A, 0xE7, 0xFE, 0x22, 0xF8, 0xBF, 0x49, 0xD4, 0xBE, 0xC5, 0xA4, 0xF8, 0x5F, 0x42, 0xB0, 0xF0, 0x8F, 0x81, 0xBC, 0x39, 0x0F, 0xD8, 0x7C, 0x3B, 0xE1, 0xEB, 0x14, 0x11, 0xDB, 0x69, 0x76, 0xC0, 0x93, 0xD0, 0x7D, 0xE9, 0xA4, 0x24, 0xC9, 0x24, 0x8C, 0x4B, 0xBB, 0xB3, 0x12, 0xC6, 0xA3, 0xFD, 0x95, 0xBE, 0x21, 0x47, 0xAB, 0x7C, 0x6B, 0xF1, 0xE7, 0x82, 0xE1, 0xDB, 0x23, 0x27, 0x80, 0x6E, 0x35, 0x5B, 0xB7, 0x3D, 0x51, 0xD3, 0x51, 0xD3, 0x4C, 0x48, 0xBE, 0xFB, 0x0C, 0xAC, 0xC3, 0xB0, 0x28, 0x7B, 0xD7, 0xC6, 0xE6, 0xF5, 0xAA, 0x56, 0xA2, 0xF1, 0x35, 0x57, 0x2B, 0x56, 0xB2, 0xEC, 0xB9, 0x93, 0xD7, 0xCF, 0xBF, 0x4E, 0x9D, 0x0F, 0xBB, 0xC8, 0x68, 0xC2, 0x8E, 0x22, 0x95, 0x08, 0x77, 0xF7, 0x9F, 0x77, 0x6B, 0x7D, 0xCB, 0xA7, 0xCD, 0xF5, 0x3E, 0x77, 0xF8, 0xE9, 0xF1, 0x03, 0xC4, 0x1E, 0x07, 0xF0, 0x76, 0x83, 0x79, 0xA3, 0xC5, 0x15, 0xE4, 0x1F, 0xDA, 0xD3, 0x69, 0x17, 0x96, 0x8E, 0x0F, 0xEF, 0x9A, 0xEE, 0x35, 0x5B, 0x76, 0xDC, 0x3E, 0x65, 0x08, 0xF0, 0xB9, 0x25, 0x48, 0xF9, 0x59, 0xBA, 0x90, 0xB5, 0xE7, 0xBF, 0xF0, 0x57, 0xDF, 0x8A, 0x96, 0x7E, 0x1C, 0xF0, 0xF7, 0x82, 0x3E, 0x14, 0x69, 0x32, 0x62, 0x1D, 0x3E, 0x25, 0xD6, 0x75, 0x00, 0xA4, 0x02, 0xAA, 0x03, 0xC5, 0x6A, 0xAD, 0x8F, 0xE2, 0x7C, 0xCF, 0x2B, 0x03, 0xD8, 0xC2, 0xDD, 0xC5, 0x7A, 0xA6, 0xBA, 0x93, 0x6A, 0xBE, 0x36, 0x93, 0x49, 0x85, 0xEC, 0x77, 0x69, 0xF3, 0x36, 0xA6, 0x23, 0xBC, 0xB8, 0x30, 0x5A, 0xCF, 0x34, 0x4E, 0x1A, 0x28, 0x64, 0x91, 0x55, 0xCC, 0x7B, 0xC2, 0xCA, 0xBB, 0x82, 0x31, 0x5D, 0xC5, 0x82, 0xB6, 0x30, 0x7C, 0xB7, 0xE0, 0x4F, 0xEC, 0x59, 0x37, 0xC5, 0x2F, 0x17, 0x6A, 0x5F, 0x1B, 0xBF, 0x69, 0x0D, 0x42, 0x38, 0x6C, 0xA6, 0xD6, 0x59, 0xA5, 0xF0, 0x85, 0xBC, 0x66, 0x4D, 0x43, 0x59, 0x9C, 0x20, 0x31, 0x43, 0x26, 0xD7, 0x11, 0xDB, 0x59, 0x2A, 0x85, 0x44, 0x51, 0x23, 0x33, 0xC7, 0x01, 0x8D, 0x76, 0x85, 0xC9, 0xF4, 0xA8, 0xD1, 0x8F, 0xD6, 0x21, 0x56, 0x6B, 0x6D, 0x52, 0xEB, 0x26, 0xF4, 0x49, 0x2F, 0x2D, 0x5D, 0xFD, 0x08, 0xCC, 0xE9, 0x4D, 0x50, 0x6A, 0x97, 0xDA, 0xD2, 0x4F, 0xF9, 0x52, 0xD5, 0xDF, 0xD7, 0x44, 0x97, 0x5D, 0x48, 0x7F, 0xE0, 0x9F, 0x1F, 0xB1, 0x6E, 0x9F, 0xE0, 0xFF, 0x00, 0x86, 0x56, 0xBF, 0x1C, 0x3E, 0x22, 0x35, 0xC5, 0xAC, 0x77, 0xB7, 0x11, 0xDB, 0xF8, 0x27, 0x49, 0x8D, 0xC2, 0x4F, 0x78, 0xCC, 0xE1, 0x64, 0xD4, 0xDF, 0x20, 0xB2, 0x24, 0x68, 0x5C, 0xC2, 0x46, 0x1B, 0x72, 0x89, 0x01, 0x1F, 0xBA, 0x2D, 0xEC, 0xBA, 0x87, 0x8E, 0x3E, 0xC1, 0x76, 0x2E, 0x16, 0xF6, 0x2D, 0x4A, 0x48, 0x6F, 0x92, 0xD9, 0xA7, 0x56, 0x1B, 0x6E, 0xC3, 0x32, 0xFC, 0xDC, 0x71, 0x89, 0x21, 0x62, 0x48, 0x1D, 0x37, 0x91, 0xDA, 0xB1, 0x7F, 0x6C, 0xDF, 0xDA, 0xE3, 0x5A, 0xF1, 0xF7, 0xC3, 0xCD, 0x5B, 0x50, 0x8E, 0x3D, 0x3F, 0x4D, 0xD2, 0x74, 0x7B, 0x1F, 0xF8, 0x97, 0xD8, 0xC3, 0x67, 0x14, 0x4F, 0x68, 0x09, 0x09, 0x12, 0x16, 0x51, 0x9D, 0xB8, 0x23, 0xE4, 0x07, 0x68, 0xC7, 0x1D, 0xAB, 0xC7, 0xBF, 0xE0, 0x99, 0xBA, 0x6E, 0xA9, 0xF1, 0x63, 0xC5, 0x7A, 0x8C, 0x37, 0x11, 0xC9, 0x7D, 0xA1, 0xF8, 0x46, 0x58, 0xBC, 0x49, 0x75, 0x11, 0x3F, 0x29, 0x30, 0xAB, 0x08, 0x60, 0x1E, 0xA2, 0x7B, 0x87, 0x82, 0x22, 0xA3, 0x9D, 0xB2, 0x39, 0xE8, 0xA6, 0xBB, 0xB1, 0x18, 0x5A, 0x91, 0xA9, 0xF5, 0x8A, 0xDB, 0xB4, 0xAE, 0xBE, 0x7A, 0x25, 0xFD, 0x6A, 0xD9, 0xCD, 0x81, 0xC6, 0x51, 0x8E, 0x1F, 0xEA, 0x74, 0xD6, 0xA9, 0xB6, 0xA5, 0xF2, 0xD6, 0xFE, 0xB6, 0xBA, 0xED, 0x6B, 0x75, 0x3D, 0xC3, 0xE2, 0x5F, 0x87, 0xE3, 0xD4, 0xB4, 0x7B, 0x8B, 0x5D, 0xCD, 0xE5, 0xB8, 0xC4, 0x72, 0x11, 0x93, 0xB5, 0x80, 0x28, 0xF8, 0xF5, 0xFB, 0xAD, 0x8F, 0xC2, 0xBE, 0x4C, 0xF8, 0xAF, 0xAA, 0x4D, 0xE3, 0x8F, 0x0D, 0x5F, 0x5D, 0x6B, 0x5A, 0x55, 0xE6, 0x8F, 0xAE, 0xE8, 0xD7, 0xD3, 0xE8, 0x37, 0x9A, 0xA5, 0x9E, 0x66, 0x72, 0x88, 0x81, 0x80, 0x97, 0xE5, 0xD9, 0x22, 0xCB, 0x19, 0x89, 0x82, 0x48, 0xA0, 0x38, 0x91, 0x48, 0x6D, 0xC0, 0x6D, 0xFB, 0x17, 0xC4, 0x57, 0xF1, 0xEA, 0x1A, 0xCE, 0xA3, 0xA7, 0xB5, 0xD4, 0x77, 0x57, 0xD0, 0x03, 0x33, 0xB0, 0x61, 0xBA, 0x45, 0x77, 0x93, 0x12, 0x63, 0xD0, 0xB2, 0xBE, 0x3B, 0x60, 0x01, 0xDA, 0xBC, 0x07, 0xE2, 0x27, 0x80, 0x9F, 0xC7, 0x92, 0x78, 0xAB, 0x4F, 0x87, 0x50, 0x92, 0xC5, 0xB5, 0x2B, 0xBB, 0x74, 0xF2, 0x84, 0x62, 0x48, 0xEE, 0xE4, 0x8A, 0xDE, 0x40, 0xC9, 0x20, 0xCE, 0x30, 0x40, 0x84, 0xE4, 0x83, 0x82, 0x89, 0xED, 0x8E, 0x7A, 0xD8, 0x59, 0x4E, 0x7C, 0xA9, 0xBE, 0x65, 0xAA, 0xB3, 0xB6, 0xBF, 0xE4, 0xFB, 0x1D, 0xB4, 0xEA, 0x51, 0x7C, 0x95, 0x6B, 0x2B, 0xC2, 0xFE, 0xF2, 0xF2, 0xEB, 0xB7, 0x55, 0xD3, 0xFC, 0x8F, 0x2D, 0xF8, 0x7F, 0xA0, 0x37, 0x89, 0x22, 0x97, 0x57, 0xD4, 0x75, 0x8B, 0xC6, 0x9E, 0xEC, 0x95, 0x91, 0xAC, 0x61, 0x9C, 0x5D, 0x5D, 0xAE, 0xD0, 0x43, 0xBD, 0xD3, 0x79, 0xB2, 0xAA, 0xB0, 0x6C, 0x6C, 0x49, 0x90, 0x70, 0xC3, 0x68, 0x02, 0xBD, 0x0B, 0xC0, 0xFF, 0x00, 0x0F, 0x2C, 0x3C, 0x38, 0xA9, 0x24, 0x1A, 0x5D, 0xBE, 0x9B, 0x1A, 0xE0, 0xDB, 0xDB, 0xA2, 0xFC, 0xE3, 0x3D, 0x24, 0x90, 0xF5, 0x2E, 0xDD, 0x71, 0x9E, 0x3E, 0xBD, 0x3D, 0x1B, 0xE1, 0x1F, 0x87, 0x2D, 0xFC, 0x07, 0xF0, 0x02, 0xD6, 0xD6, 0xDD, 0xA4, 0xDD, 0x33, 0x33, 0x79, 0x32, 0x22, 0xAC, 0x96, 0xAC, 0xD8, 0x06, 0x2F, 0x97, 0x3C, 0x8C, 0x64, 0x72, 0x78, 0x20, 0xE4, 0x8C, 0x1A, 0xE0, 0x35, 0x5F, 0x12, 0x14, 0xD5, 0x2F, 0x20, 0xF9, 0x9A, 0x6D, 0xD2, 0x02, 0x51, 0xB1, 0xE5, 0x2A, 0x8C, 0x12, 0x79, 0xE0, 0x96, 0xDF, 0x80, 0x39, 0xEB, 0xD8, 0x57, 0xB7, 0x96, 0xE5, 0xAE, 0x32, 0x55, 0xEB, 0xCD, 0xC9, 0xDB, 0x44, 0xF6, 0x5E, 0x8B, 0xBF, 0x9B, 0x3C, 0x2C, 0xD2, 0xA5, 0x2E, 0x79, 0x2C, 0x3C, 0x6D, 0x16, 0xF4, 0x7D, 0x5A, 0xF3, 0x39, 0xBF, 0xDA, 0x05, 0x23, 0xD7, 0x3E, 0x10, 0xEB, 0xD2, 0x4C, 0xB1, 0x49, 0x14, 0x70, 0xEF, 0xB7, 0xCE, 0x18, 0x29, 0x0C, 0x00, 0x7F, 0xF7, 0x8E, 0x4E, 0x08, 0xE8, 0x0E, 0x3D, 0x73, 0x07, 0xEC, 0xE1, 0xF1, 0x3A, 0x6F, 0x1B, 0x78, 0x09, 0x6D, 0xEF, 0x25, 0x69, 0xB5, 0x3D, 0x2D, 0xFE, 0xCC, 0xCE, 0xC7, 0x2D, 0x32, 0x00, 0x36, 0x39, 0xF7, 0xC1, 0x00, 0x9E, 0xE4, 0x67, 0xBD, 0x51, 0xF8, 0xDB, 0x32, 0xE9, 0x7F, 0x05, 0x35, 0x2B, 0x45, 0xF9, 0x63, 0x86, 0xCE, 0xDA, 0x05, 0x50, 0x30, 0x39, 0x9A, 0x21, 0x80, 0x3F, 0xDD, 0x1F, 0x85, 0x79, 0x0F, 0xC1, 0x9F, 0x8B, 0xB6, 0x9F, 0x08, 0xF5, 0x1D, 0x4A, 0xE2, 0xE9, 0x5A, 0xE2, 0x59, 0x92, 0x34, 0xB5, 0xB6, 0x53, 0xB4, 0xCF, 0x21, 0xF3, 0x38, 0x27, 0xB2, 0x8F, 0x94, 0x93, 0xD8, 0x0E, 0x39, 0x20, 0x1E, 0x9C, 0xCA, 0xF7, 0xF7, 0x77, 0xB1, 0xC5, 0x81, 0xA8, 0xA3, 0x51, 0x73, 0xBD, 0x3A, 0x9E, 0x91, 0xFB, 0x51, 0xC2, 0xBE, 0x3D, 0xF8, 0x9F, 0xE0, 0x9F, 0x08, 0xC5, 0x20, 0x33, 0x4F, 0x2C, 0x70, 0xC9, 0x83, 0xF7, 0x5A, 0xEE, 0x78, 0xE2, 0x5C, 0xFB, 0xE1, 0x01, 0xFA, 0x30, 0xAF, 0xAB, 0x3F, 0xE0, 0xE2, 0xFF, 0x00, 0x8F, 0x57, 0x5A, 0xE7, 0xED, 0x85, 0xE0, 0x99, 0xB4, 0x5D, 0x42, 0xEB, 0x4F, 0xB9, 0xD1, 0x6D, 0xAF, 0x75, 0xBB, 0x1B, 0x9B, 0x59, 0x0C, 0x52, 0xC1, 0xE7, 0xDC, 0xAC, 0x31, 0x3A, 0xB0, 0xE4, 0x1F, 0x2E, 0xCD, 0x47, 0xD3, 0x8E, 0x46, 0x6B, 0xE6, 0x7F, 0xF8, 0x27, 0x57, 0x82, 0xAF, 0x3F, 0x68, 0x4F, 0xDB, 0x9F, 0x42, 0xD5, 0xB5, 0x6F, 0xF4, 0xA5, 0xD0, 0xE5, 0x7F, 0x12, 0x5E, 0x38, 0x1B, 0x51, 0x5E, 0xDF, 0x6F, 0xD9, 0xC0, 0xF4, 0x0B, 0x31, 0x83, 0x0B, 0xFD, 0xD4, 0xC7, 0xAD, 0x1F, 0xF0, 0x55, 0x9F, 0x88, 0x4B, 0xE3, 0xDF, 0xDB, 0x4B, 0x5D, 0x85, 0x24, 0xF3, 0xA1, 0xF0, 0xCD, 0x95, 0xAE, 0x8A, 0x87, 0x39, 0x00, 0xA2, 0x99, 0xA4, 0x03, 0xE9, 0x24, 0xEE, 0xA7, 0xDD, 0x4D, 0x7C, 0xEB, 0xC2, 0xA9, 0xE6, 0x74, 0x53, 0xD7, 0xD9, 0xC2, 0x4D, 0xFA, 0xCA, 0xC8, 0xF4, 0xAB, 0x63, 0x2F, 0x81, 0xAD, 0x5D, 0x69, 0xED, 0x25, 0x18, 0xAF, 0x48, 0xD9, 0xFE, 0x68, 0xF7, 0x7F, 0xF8, 0x27, 0x27, 0xFC, 0x14, 0xDF, 0xC3, 0x7E, 0x17, 0xF1, 0xEC, 0x36, 0x9F, 0x13, 0xAE, 0xE3, 0xF0, 0xF7, 0xDA, 0x21, 0x16, 0xB2, 0x6B, 0x4B, 0x11, 0x36, 0x92, 0x73, 0x81, 0x24, 0x81, 0x41, 0xF2, 0x99, 0x72, 0x58, 0xF1, 0xB1, 0x80, 0x65, 0x06, 0x3D, 0xD8, 0x1F, 0x5F, 0xFE, 0xDD, 0x1F, 0xB3, 0x82, 0xFC, 0x40, 0xD0, 0x2E, 0x35, 0x4B, 0x18, 0xD6, 0x3D, 0x67, 0x49, 0xF9, 0xA6, 0x10, 0x90, 0xFE, 0x6A, 0x0E, 0x8E, 0xA4, 0x70, 0xC0, 0x67, 0x21, 0x86, 0x43, 0x2B, 0x64, 0x64, 0x10, 0x6B, 0xF0, 0xF1, 0xB0, 0xC3, 0x1D, 0x8F, 0x5E, 0x3A, 0xD7, 0xEC, 0xA7, 0xFC, 0x12, 0xC7, 0xF6, 0x80, 0x9F, 0xF6, 0x9C, 0xFD, 0x86, 0x6D, 0xE4, 0x92, 0xE1, 0xAE, 0xBC, 0x67, 0xF0, 0x40, 0xC1, 0xE1, 0xDD, 0x72, 0x17, 0x3B, 0x9B, 0x50, 0xD1, 0x64, 0x0D, 0xFD, 0x9B, 0x78, 0x47, 0x73, 0x12, 0x2C, 0x96, 0x8D, 0xD4, 0x94, 0xB6, 0x8D, 0x89, 0x18, 0xE7, 0x9B, 0x37, 0xC1, 0xCB, 0x07, 0x88, 0x86, 0x61, 0x87, 0xD3, 0x54, 0xA4, 0xBA, 0x6B, 0xB7, 0xC9, 0xED, 0xEA, 0xD1, 0xD1, 0x93, 0xE6, 0x31, 0xC6, 0xE1, 0x65, 0x95, 0x62, 0xF5, 0x4F, 0x58, 0xBE, 0xA9, 0xFF, 0x00, 0x9F, 0x5F, 0xBD, 0x1E, 0x21, 0xF0, 0x2F, 0xC7, 0x5E, 0x6B, 0x5C, 0x78, 0x77, 0x58, 0x54, 0xFD, 0xE1, 0x21, 0x04, 0xAB, 0x95, 0x76, 0x1F, 0x79, 0x08, 0x3D, 0x09, 0x03, 0x38, 0x3D, 0xC1, 0xAC, 0x0F, 0xDA, 0x57, 0xF6, 0x22, 0xD0, 0x7E, 0x34, 0xEC, 0xBA, 0xD3, 0x66, 0x87, 0x40, 0xF1, 0x33, 0x7C, 0x90, 0x5F, 0x3A, 0x93, 0x05, 0xE1, 0x03, 0xE5, 0x86, 0xE7, 0x1C, 0xFA, 0x05, 0x94, 0x02, 0xC0, 0x00, 0xA4, 0x38, 0x0A, 0xB5, 0xDA, 0xFE, 0xD9, 0x3F, 0x0C, 0xA3, 0xF0, 0x17, 0xC4, 0x28, 0x7C, 0x4D, 0xA2, 0xA3, 0x47, 0xA6, 0xEA, 0xAC, 0x1D, 0x93, 0x6F, 0x16, 0xB3, 0x8E, 0xAB, 0xEE, 0x0E, 0x32, 0x0F, 0xD6, 0x8F, 0x0B, 0xF8, 0xEA, 0x4D, 0x67, 0x47, 0x8F, 0xCC, 0x55, 0xBA, 0xB7, 0x9D, 0x30, 0xC8, 0xDF, 0x79, 0x08, 0xEB, 0x83, 0xDF, 0x1D, 0xBF, 0x0E, 0x0D, 0x7D, 0x6D, 0x15, 0xED, 0xA9, 0xAA, 0xD4, 0xFE, 0xD1, 0xF1, 0x35, 0xA9, 0xCB, 0x0D, 0x5D, 0xD0, 0xA9, 0xD1, 0xDB, 0xD7, 0xCF, 0xE6, 0x7E, 0x71, 0xFC, 0x4A, 0xF8, 0x67, 0xAF, 0x7C, 0x1E, 0xF1, 0x95, 0xD6, 0x81, 0xE2, 0x4D, 0x36, 0xE3, 0x4B, 0xD5, 0x2D, 0x7E, 0x63, 0x1C, 0x9C, 0xAC, 0xA8, 0x4E, 0x04, 0x91, 0xB8, 0xF9, 0x5D, 0x0E, 0x0E, 0x19, 0x49, 0x1C, 0x11, 0xC1, 0x04, 0x0C, 0x1D, 0xDE, 0xF5, 0xFA, 0x8D, 0xF1, 0x2B, 0xE1, 0x7F, 0x86, 0x3F, 0x6A, 0x1F, 0x06, 0x47, 0xE1, 0xAF, 0x15, 0x47, 0xB6, 0xEA, 0x30, 0xCD, 0xA4, 0x6A, 0xB1, 0x63, 0xED, 0x56, 0x72, 0x63, 0x04, 0x23, 0x1E, 0xA7, 0x81, 0x94, 0x6E, 0x24, 0x03, 0x9C, 0x32, 0x86, 0x1F, 0x9E, 0x7F, 0xB4, 0x07, 0xEC, 0xF1, 0xE2, 0x4F, 0xD9, 0xBB, 0xC6, 0x8D, 0xA4, 0x78, 0x82, 0xDD, 0x5A, 0x19, 0xB7, 0x3D, 0x8E, 0xA1, 0x0A, 0x93, 0x6B, 0xA8, 0x46, 0x0F, 0xDE, 0x43, 0xD9, 0x86, 0x46, 0xE4, 0x3F, 0x32, 0x93, 0xDC, 0x10, 0x48, 0xAE, 0x9F, 0x2C, 0xB7, 0x3A, 0xAA, 0xD2, 0xB2, 0x52, 0x8E, 0xC7, 0x08, 0xEC, 0x31, 0xD4, 0xFA, 0xD2, 0x0A, 0x56, 0x39, 0x4A, 0x4A, 0x0C, 0xA2, 0x04, 0xE2, 0xA3, 0x3F, 0x78, 0xD4, 0x86, 0xA3, 0x61, 0x86, 0xFA, 0xD0, 0x32, 0x6A, 0xB9, 0xE1, 0xAD, 0x3A, 0x3D, 0x5F, 0xC4, 0xBA, 0x6D, 0x9C, 0xBB, 0xBC, 0xAB, 0xAB, 0xB8, 0xA1, 0x7D, 0xBC, 0x1D, 0xAC, 0xE1, 0x4F, 0xF3, 0xAA, 0x7B, 0xBD, 0xEB, 0x53, 0xC0, 0xC7, 0xFE, 0x2B, 0x9D, 0x13, 0xFE, 0xC2, 0x16, 0xFF, 0x00, 0xFA, 0x31, 0x68, 0x9B, 0x6A, 0x2C, 0x29, 0x2B, 0xCD, 0x27, 0xDD, 0x1F, 0xAF, 0x07, 0xFE, 0x08, 0x67, 0xF0, 0x72, 0x6F, 0x0F, 0xF9, 0xCA, 0xFE, 0x21, 0x59, 0x9A, 0x10, 0xC0, 0xFD, 0xB3, 0xB9, 0x19, 0xF4, 0xAC, 0x38, 0xBF, 0xE0, 0x87, 0x5F, 0x0A, 0x4B, 0xF3, 0x79, 0xE2, 0x4C, 0x7F, 0xD7, 0xC8, 0xFF, 0x00, 0x0A, 0xFB, 0xB7, 0x4E, 0x8F, 0x7F, 0x87, 0x61, 0x5F, 0xFA, 0x60, 0xA3, 0xFF, 0x00, 0x1D, 0xA8, 0xA1, 0xD1, 0x77, 0x2F, 0xDD, 0xFA, 0x71, 0x5F, 0x99, 0x61, 0xF3, 0xAC, 0x52, 0x4F, 0x9E, 0xA3, 0x3F, 0x7F, 0xCD, 0x38, 0x47, 0x2F, 0x94, 0xA0, 0xE9, 0x51, 0x4B, 0x4E, 0x88, 0xF8, 0x79, 0x7F, 0xE0, 0x86, 0xDF, 0x09, 0x4A, 0xFF, 0x00, 0xC7, 0xEF, 0x89, 0x37, 0x1E, 0xDF, 0x6A, 0x1F, 0xE1, 0x52, 0x27, 0xFC, 0x10, 0xB3, 0xE1, 0x3B, 0x9F, 0xF8, 0xFE, 0xF1, 0x28, 0xFF, 0x00, 0xB7, 0xAF, 0xFE, 0xB5, 0x7D, 0xD1, 0x6F, 0xA1, 0x6D, 0x1F, 0x77, 0x35, 0x65, 0x74, 0x42, 0x38, 0xC1, 0xAD, 0x5E, 0x79, 0x5F, 0xF9, 0xD9, 0xC9, 0x1E, 0x0C, 0xC2, 0x3D, 0xE9, 0x2F, 0xB8, 0xF8, 0x42, 0xD3, 0xFE, 0x08, 0x59, 0xF0, 0xA4, 0xEA, 0x0A, 0xAB, 0x7D, 0xE2, 0x61, 0x86, 0xF9, 0x58, 0x5C, 0x8E, 0xBF, 0x95, 0x47, 0xE3, 0x8F, 0xF8, 0x22, 0x8F, 0xC2, 0xBD, 0x1F, 0x5D, 0x59, 0xB5, 0x09, 0x3C, 0x49, 0x05, 0xAD, 0xC6, 0x11, 0x66, 0x8A, 0x70, 0x17, 0x77, 0xFB, 0x5C, 0x75, 0x35, 0xF7, 0xDD, 0xB6, 0x8E, 0x63, 0x94, 0x36, 0x39, 0x5E, 0x47, 0x15, 0x4F, 0xE2, 0x45, 0xE0, 0x3E, 0x10, 0xBB, 0x8E, 0xF2, 0x35, 0x9A, 0x16, 0x42, 0x30, 0xDD, 0x8F, 0xA8, 0xF7, 0xA2, 0x9E, 0x7D, 0x88, 0xF6, 0x89, 0x39, 0x36, 0xBF, 0x13, 0x58, 0xF0, 0x5E, 0x0D, 0x41, 0xF3, 0x53, 0x5F, 0x71, 0xF9, 0x8F, 0xF1, 0x17, 0xFE, 0x09, 0x27, 0xF0, 0xC7, 0x41, 0xD4, 0xFC, 0x8B, 0x1B, 0xAF, 0x11, 0x60, 0x0C, 0x93, 0x24, 0xE0, 0xE7, 0xF4, 0xAE, 0x6C, 0xFF, 0x00, 0xC1, 0x2B, 0x3C, 0x00, 0xC3, 0xE6, 0xBE, 0xF1, 0x02, 0xFF, 0x00, 0xBB, 0x70, 0x83, 0xF9, 0xA9, 0xAF, 0xAB, 0x3C, 0x75, 0x7B, 0xAE, 0x4A, 0x19, 0x21, 0xF2, 0xEF, 0x23, 0x84, 0x91, 0x13, 0x38, 0xFD, 0xE2, 0xAF, 0xA6, 0x7B, 0xD7, 0x2F, 0x69, 0xAD, 0xEA, 0x41, 0x42, 0xCD, 0x67, 0x97, 0xEF, 0xC7, 0x5A, 0xFA, 0xCC, 0x3F, 0xD6, 0x2A, 0x42, 0xF4, 0xA6, 0xA5, 0xF3, 0x57, 0xFB, 0x8F, 0x94, 0xC6, 0x65, 0x38, 0x1A, 0x15, 0x39, 0x65, 0x4A, 0xDF, 0x27, 0x6F, 0xBC, 0xF9, 0xDD, 0xBF, 0xE0, 0x95, 0x1F, 0x0E, 0x58, 0xFC, 0xDA, 0x9F, 0x8C, 0x17, 0xFD, 0xCB, 0xC8, 0x07, 0xF3, 0x80, 0xD1, 0x1F, 0xFC, 0x12, 0x73, 0xE1, 0xCD, 0xDC, 0x8B, 0x1C, 0x5A, 0xAF, 0x8E, 0x99, 0xDB, 0xA2, 0xA5, 0xE5, 0xB1, 0x27, 0x1F, 0xF6, 0xED, 0x5F, 0x49, 0x45, 0x73, 0x75, 0x3C, 0xAB, 0xBA, 0xD9, 0x62, 0xDD, 0xC0, 0x25, 0xCF, 0xF2, 0x0A, 0x6B, 0x59, 0xF4, 0x58, 0x6D, 0xED, 0xD5, 0xAE, 0x35, 0x4B, 0x1B, 0x77, 0x61, 0x92, 0xBC, 0xC8, 0x47, 0xE5, 0xFE, 0x35, 0x53, 0xFA, 0xD4, 0x7E, 0x2B, 0x9C, 0xB4, 0xF0, 0x39, 0x74, 0xF6, 0x82, 0x3E, 0x78, 0xF0, 0x3F, 0xFC, 0x11, 0x8F, 0xE1, 0xBF, 0x8B, 0x67, 0xC4, 0x9A, 0xE7, 0x8F, 0x63, 0x8F, 0x8F, 0x9A, 0x3B, 0xEB, 0x3F, 0xE6, 0x6D, 0x4D, 0x7A, 0x5F, 0x85, 0x3F, 0xE0, 0xDE, 0x7F, 0x87, 0x3E, 0x38, 0xB9, 0x5B, 0x7D, 0x23, 0x54, 0xF8, 0xB3, 0xA8, 0xDC, 0x67, 0x0C, 0x2D, 0xEF, 0x2C, 0x59, 0x53, 0xFD, 0xE6, 0x36, 0x7B, 0x57, 0xF1, 0x22, 0xBD, 0xCB, 0xE1, 0xDF, 0xC7, 0x8D, 0x2B, 0xC1, 0xC9, 0x69, 0xA7, 0xE8, 0xFE, 0x1F, 0xB2, 0xF1, 0x26, 0xA9, 0x3B, 0xAC, 0x71, 0x2C, 0xEB, 0x35, 0xC7, 0x9E, 0xE7, 0x80, 0x11, 0x22, 0x75, 0x19, 0x3E, 0x8C, 0x48, 0xAF, 0xA9, 0x6F, 0x3E, 0x33, 0xF8, 0xF7, 0xE0, 0xC7, 0xC3, 0x58, 0x3C, 0x45, 0xF1, 0x33, 0xC4, 0x7A, 0x4F, 0xC3, 0xAD, 0x02, 0x34, 0x2D, 0x6D, 0xA0, 0xE8, 0xFA, 0x7C, 0x0D, 0xAA, 0xDE, 0x9E, 0xA2, 0x35, 0x07, 0x72, 0x46, 0xC7, 0xA6, 0x46, 0x71, 0x9E, 0x76, 0xF5, 0xAF, 0x9C, 0xCC, 0x33, 0x0C, 0xC6, 0x9C, 0xAD, 0x09, 0x59, 0xBD, 0x12, 0xBE, 0xAF, 0xD1, 0x2B, 0xB6, 0x7B, 0x50, 0xCB, 0xF2, 0x98, 0x53, 0xB4, 0x68, 0x46, 0x4F, 0xBB, 0xBA, 0x5F, 0xF0, 0x7F, 0x03, 0xC1, 0x3F, 0x65, 0x5F, 0xF8, 0x37, 0x1F, 0xE0, 0x2F, 0xEC, 0xB7, 0xE2, 0xA8, 0x7C, 0x75, 0xF1, 0x16, 0x6D, 0x63, 0xC6, 0x97, 0x1A, 0x5A, 0x1B, 0xAB, 0x5D, 0x0B, 0xC4, 0x17, 0xB6, 0xF7, 0x1A, 0x5D, 0xA3, 0x27, 0xCD, 0xE7, 0x4C, 0x91, 0x41, 0x10, 0xB8, 0x65, 0xC7, 0xDC, 0x72, 0xD0, 0x8E, 0x49, 0x0E, 0x76, 0x95, 0xE7, 0xBF, 0x6C, 0x0F, 0xDB, 0x2B, 0xFE, 0x17, 0x47, 0x8D, 0x1A, 0xC2, 0x33, 0x25, 0xC6, 0x83, 0xA6, 0xCA, 0x46, 0x95, 0xA1, 0xD8, 0xB9, 0x48, 0x9C, 0xAF, 0xCB, 0xF6, 0x9B, 0x99, 0x3B, 0xB9, 0xC7, 0x0B, 0xC9, 0x45, 0xC0, 0xC2, 0x92, 0xD5, 0xC3, 0x7E, 0xD3, 0x1F, 0xF0, 0x50, 0xAF, 0x17, 0x7E, 0xD1, 0xB6, 0x17, 0x9A, 0x0E, 0x96, 0xAD, 0xE1, 0x7F, 0x08, 0xDD, 0x3E, 0xEB, 0x9B, 0x58, 0x6E, 0x5E, 0x5B, 0xBD, 0x54, 0x0C, 0x00, 0x6E, 0xEE, 0x58, 0xEE, 0x74, 0xFF, 0x00, 0xA6, 0x63, 0x6C, 0x60, 0x1C, 0x10, 0xD8, 0x06, 0xBC, 0xD7, 0xE1, 0xFF, 0x00, 0x80, 0xF5, 0x7D, 0x5B, 0x4D, 0xB3, 0xBB, 0xD3, 0x66, 0xF0, 0xC5, 0x86, 0x9D, 0xA9, 0x17, 0x8A, 0xDA, 0xFF, 0x00, 0x57, 0xBB, 0x92, 0x18, 0xEF, 0x99, 0x01, 0x2C, 0x96, 0x70, 0x43, 0x1B, 0xCF, 0x77, 0x8D, 0x8E, 0x0B, 0xA0, 0x48, 0x8B, 0x0D, 0xAB, 0x23, 0x3E, 0x54, 0x3A, 0x79, 0x7D, 0x4A, 0x2D, 0x63, 0xB3, 0x9A, 0x97, 0x92, 0xF8, 0x57, 0x6B, 0xFE, 0xBE, 0x87, 0xCF, 0xE1, 0x29, 0xD5, 0xC6, 0xD5, 0x78, 0x3C, 0xA2, 0x8B, 0x95, 0xDE, 0xAD, 0x2D, 0x3E, 0x4B, 0xF3, 0xBB, 0x1D, 0xE3, 0x5F, 0x1F, 0x5B, 0xF8, 0x4F, 0x41, 0xB8, 0xD5, 0xF5, 0xA9, 0xAD, 0x6D, 0xE3, 0x8D, 0x4F, 0x95, 0x6D, 0x6E, 0x02, 0xF9, 0xD2, 0x63, 0x22, 0x18, 0x97, 0xAB, 0xB9, 0xE9, 0x9E, 0x80, 0x72, 0x70, 0x01, 0x35, 0xE7, 0xDF, 0xF0, 0x4F, 0x0F, 0x8A, 0xDF, 0xD9, 0x9F, 0xB5, 0x5F, 0x8A, 0x75, 0xDD, 0x6A, 0xE2, 0x38, 0xDB, 0x56, 0xF0, 0x67, 0x88, 0x64, 0xB8, 0xF9, 0xB0, 0xB2, 0x18, 0xAC, 0xCD, 0xD7, 0x96, 0xB9, 0xEC, 0xAB, 0x6B, 0xC7, 0xA0, 0x41, 0xE9, 0x5E, 0xF7, 0x6F, 0xFF, 0x00, 0x04, 0xC5, 0xD4, 0xBC, 0x59, 0xE2, 0x05, 0xD4, 0x3C, 0x4F, 0xE2, 0x6D, 0x5A, 0xF2, 0x69, 0x34, 0xE1, 0x74, 0x16, 0xDF, 0x4C, 0x86, 0xD5, 0x11, 0x9B, 0x05, 0x6C, 0xD5, 0xA4, 0x9D, 0x9A, 0x16, 0xE7, 0x24, 0xFD, 0x9C, 0xA8, 0xC1, 0x24, 0xB3, 0x75, 0xBD, 0x6F, 0xFF, 0x00, 0x04, 0xCD, 0xF0, 0x1F, 0xC3, 0xDD, 0x3A, 0xC7, 0x5A, 0xB8, 0xB3, 0x6B, 0x9B, 0xFB, 0x10, 0x6E, 0xE6, 0x4D, 0x46, 0xED, 0xB5, 0x06, 0x49, 0xC1, 0x62, 0x9E, 0x5C, 0x8A, 0x21, 0x85, 0x42, 0x70, 0xC1, 0xFE, 0xCF, 0xBC, 0x32, 0x8C, 0x32, 0x81, 0xCF, 0x16, 0x33, 0x32, 0xA1, 0x89, 0x4E, 0x82, 0xBD, 0xA5, 0x65, 0xB7, 0xFC, 0x31, 0xF6, 0xD9, 0x7F, 0x06, 0xE2, 0xF0, 0xD0, 0xF6, 0xF3, 0x6B, 0x99, 0x5D, 0xBB, 0xBE, 0xCA, 0xF6, 0x56, 0xBE, 0xFF, 0x00, 0x24, 0x7C, 0xE9, 0xE2, 0x4D, 0x26, 0x65, 0x93, 0x58, 0xD5, 0x2E, 0xED, 0xD8, 0xCD, 0x70, 0xED, 0x77, 0x24, 0x81, 0xF1, 0xE5, 0xCC, 0xEB, 0x34, 0x3E, 0x52, 0x81, 0x91, 0xFB, 0x94, 0x62, 0x08, 0x3D, 0x1D, 0xDB, 0xD2, 0xA7, 0x7F, 0x8A, 0x37, 0x90, 0xFC, 0x3C, 0x9A, 0xC2, 0x49, 0x96, 0x48, 0x5A, 0xE8, 0x5E, 0xDA, 0x89, 0x46, 0xE2, 0xFB, 0x89, 0x32, 0x42, 0x7F, 0xD9, 0x69, 0x0B, 0xB7, 0x3D, 0x19, 0x57, 0x1D, 0x6B, 0xA4, 0xF1, 0x36, 0x9C, 0xAD, 0x71, 0x2E, 0x9D, 0x63, 0x67, 0x8D, 0x2E, 0xD2, 0x36, 0x82, 0x35, 0xC9, 0x0A, 0xFD, 0x46, 0x72, 0x79, 0x6E, 0xA4, 0x96, 0x3C, 0xB1, 0xE7, 0x27, 0x92, 0x7C, 0x3F, 0x5C, 0xD3, 0xEF, 0x1A, 0x58, 0x74, 0xC5, 0x9D, 0xA6, 0x11, 0xA3, 0x40, 0x25, 0xC6, 0xDC, 0xB1, 0x2F, 0xCF, 0xB7, 0xDD, 0x5C, 0x57, 0xE8, 0xB8, 0x5A, 0x10, 0xE4, 0x8E, 0x9B, 0x6A, 0x7E, 0x63, 0x8E, 0xAF, 0x51, 0x55, 0x9F, 0x9D, 0xD7, 0xF5, 0xF9, 0x9E, 0x6D, 0xFB, 0x5B, 0x78, 0xCC, 0xCD, 0xF0, 0x9B, 0x54, 0x8E, 0x1C, 0xC6, 0xBA, 0x95, 0xC4, 0x31, 0xAA, 0x8E, 0xCA, 0x1D, 0x49, 0x1F, 0x90, 0x3F, 0x95, 0x7A, 0xEF, 0xFC, 0x13, 0x95, 0x2E, 0x3E, 0x05, 0xFE, 0xCE, 0xF3, 0x78, 0x92, 0x66, 0xFD, 0xFF, 0x00, 0x89, 0x6F, 0x17, 0x51, 0x10, 0x81, 0x8D, 0xE9, 0x6E, 0x4A, 0x5A, 0x86, 0xF6, 0xF3, 0x41, 0x93, 0x8E, 0xA2, 0x41, 0xED, 0x5F, 0x38, 0xFE, 0xD4, 0xDA, 0x87, 0xF6, 0xA7, 0x88, 0x34, 0xBD, 0x16, 0x36, 0xDD, 0x1D, 0xBE, 0xEB, 0xC9, 0xBF, 0x1C, 0xAA, 0x7E, 0x7F, 0xBC, 0x6C, 0x7F, 0xB4, 0x2B, 0xD6, 0xB5, 0xCF, 0x89, 0xEF, 0xE1, 0xDF, 0xD9, 0xE3, 0xC1, 0x1A, 0x3A, 0x37, 0x97, 0x7D, 0xFD, 0x92, 0xD6, 0x53, 0x44, 0x4E, 0xD6, 0x81, 0xA3, 0x99, 0x11, 0x5F, 0x1D, 0x41, 0x06, 0x16, 0x03, 0x3D, 0x58, 0x9C, 0x67, 0x0D, 0x4B, 0x19, 0x52, 0x97, 0x3B, 0xF6, 0x9B, 0x25, 0xFD, 0x7E, 0x64, 0xE5, 0xF8, 0x5A, 0xAD, 0x7B, 0x48, 0xAF, 0x2F, 0xBF, 0xFA, 0x66, 0x7F, 0x87, 0xBE, 0x34, 0xFD, 0x8B, 0xF6, 0x9A, 0xFE, 0xDC, 0x92, 0x56, 0x8F, 0x45, 0xBB, 0x90, 0x68, 0xCE, 0x5C, 0xE5, 0x52, 0xDB, 0xE5, 0x44, 0x7F, 0x40, 0x04, 0xA1, 0x64, 0x27, 0xB2, 0xB3, 0xD7, 0x7D, 0xE0, 0xDB, 0xCB, 0x7F, 0x12, 0x6A, 0xD7, 0x52, 0x08, 0x14, 0xCD, 0x78, 0x6E, 0x75, 0x38, 0xE6, 0xDC, 0x71, 0x02, 0xCC, 0xDE, 0x44, 0x78, 0x1D, 0x18, 0x48, 0x91, 0x33, 0x83, 0xD8, 0x0E, 0x3A, 0xE6, 0xAE, 0xFC, 0x07, 0xFF, 0x00, 0x82, 0x78, 0x5F, 0x78, 0xA2, 0xDA, 0xC3, 0x52, 0xF8, 0x95, 0x6F, 0xA8, 0x78, 0x7F, 0x45, 0xD4, 0xB7, 0x0B, 0x1D, 0x0C, 0x42, 0xEB, 0xA9, 0x6B, 0x28, 0x14, 0x16, 0x2E, 0xA3, 0xE6, 0xB6, 0xB7, 0x00, 0xA8, 0x67, 0x7D, 0xAE, 0x43, 0x00, 0x36, 0x6E, 0x57, 0xAE, 0xFF, 0x00, 0x56, 0xF8, 0x69, 0x27, 0x82, 0x6D, 0xE3, 0xB3, 0x93, 0xEC, 0xA8, 0xD1, 0x97, 0x74, 0x82, 0xD5, 0x71, 0x05, 0x9C, 0x09, 0x85, 0x8E, 0x14, 0xE0, 0x12, 0xA8, 0x0A, 0x0C, 0x91, 0x92, 0x73, 0xDB, 0x02, 0xBC, 0x6C, 0xB7, 0x1D, 0x4E, 0xAE, 0x25, 0xEB, 0xAF, 0xE0, 0x7D, 0x26, 0x67, 0x91, 0xE2, 0x70, 0xF8, 0x38, 0xD6, 0x9C, 0x6D, 0x17, 0xB2, 0x77, 0x4D, 0xF4, 0xBD, 0xAD, 0xB6, 0xFD, 0x8F, 0x1D, 0xF8, 0x8D, 0x6D, 0x79, 0x07, 0x87, 0x63, 0x9A, 0x0B, 0xEB, 0xAD, 0x36, 0xE6, 0xCA, 0xF7, 0xCB, 0x73, 0x6C, 0xE3, 0xE7, 0x56, 0x66, 0x51, 0x90, 0xC0, 0x86, 0x08, 0xB2, 0x87, 0x5E, 0xD9, 0x4C, 0x10, 0x54, 0x95, 0x3C, 0x75, 0xA4, 0x90, 0xDB, 0xDA, 0x6D, 0x81, 0x0A, 0xFD, 0xA2, 0xE1, 0xB7, 0x16, 0x62, 0xCD, 0x21, 0xDE, 0x14, 0xB1, 0x27, 0x92, 0x48, 0x57, 0x39, 0x3E, 0xB5, 0xD4, 0xFC, 0x4B, 0xBA, 0x6B, 0xBD, 0x66, 0x3B, 0x5D, 0xDF, 0xBB, 0xBC, 0x94, 0x2B, 0xFB, 0x32, 0x38, 0xE9, 0xEF, 0xB7, 0x27, 0xF2, 0xAE, 0x0A, 0xCD, 0x7E, 0xC0, 0x24, 0x8B, 0xFE, 0x7D, 0x9E, 0xE1, 0x99, 0x8F, 0x71, 0x1A, 0x38, 0x07, 0xF2, 0xDB, 0xF9, 0x57, 0xD7, 0x53, 0x8D, 0x9D, 0xD1, 0xF0, 0x75, 0xA4, 0xED, 0xCA, 0xCC, 0x8F, 0xDA, 0x4E, 0xE0, 0xD8, 0xFC, 0x1E, 0x86, 0x59, 0x99, 0x5A, 0x6D, 0x4B, 0x54, 0x81, 0x15, 0x07, 0x07, 0x62, 0xC7, 0x23, 0x9F, 0xCB, 0x6A, 0xFF, 0x00, 0xDF, 0x55, 0xE6, 0x5F, 0xB2, 0x87, 0xC1, 0x5B, 0x3F, 0xDA, 0x53, 0xF6, 0xAE, 0xF0, 0x1F, 0x82, 0x75, 0x1B, 0x9B, 0xCB, 0x4B, 0x2F, 0x13, 0x6A, 0x26, 0xD6, 0x7B, 0x8B, 0x4D, 0xBE, 0x7C, 0x31, 0xEC, 0x2E, 0xEC, 0x9B, 0x81, 0x5D, 0xC1, 0x54, 0x91, 0x90, 0x47, 0xB5, 0x74, 0x3F, 0xB5, 0x06, 0xAD, 0x71, 0xAD, 0xEB, 0x9E, 0x1F, 0xD0, 0xE1, 0x86, 0xE1, 0xA1, 0xB4, 0x83, 0xED, 0x32, 0x3C, 0x70, 0xB4, 0x80, 0x34, 0xAC, 0x23, 0x1C, 0x01, 0xFC, 0x22, 0x3C, 0xE3, 0xFD, 0xBA, 0xEB, 0xBF, 0x61, 0x2F, 0x0A, 0x6A, 0x7A, 0x4F, 0xED, 0x7B, 0xE0, 0x7D, 0x7B, 0x4B, 0xB2, 0xD5, 0xFC, 0xAD, 0x2E, 0x3B, 0xE5, 0x9F, 0x50, 0x16, 0x4F, 0x14, 0x36, 0x79, 0xD3, 0xAE, 0xAD, 0xA3, 0x77, 0xC0, 0xFD, 0xD4, 0xC5, 0xC2, 0xB0, 0x0C, 0xDC, 0xB3, 0xA1, 0xC6, 0x73, 0x9F, 0x17, 0x36, 0xC4, 0xF2, 0x29, 0x5B, 0x7B, 0x3B, 0x7A, 0xA5, 0xA1, 0xE8, 0xE5, 0xB8, 0x1F, 0x6A, 0xBD, 0xAC, 0xAD, 0xCB, 0x17, 0x1B, 0xAE, 0xAD, 0x37, 0xAD, 0xBF, 0xAE, 0xBB, 0x9F, 0x7A, 0xFE, 0xCB, 0x7F, 0xB2, 0x37, 0x83, 0xFF, 0x00, 0x64, 0x2F, 0x1A, 0x78, 0xC2, 0x1F, 0x08, 0xDF, 0x6B, 0x1E, 0x20, 0x5B, 0x83, 0x15, 0xB1, 0xBC, 0xD4, 0xDA, 0x23, 0x35, 0xC4, 0x88, 0x76, 0x2C, 0x49, 0xE5, 0xA2, 0xA8, 0x4F, 0x31, 0xDC, 0x0E, 0x32, 0xD9, 0xCE, 0x48, 0xDB, 0x8A, 0x3E, 0x38, 0xFF, 0x00, 0x82, 0x17, 0xF8, 0x27, 0xE2, 0x57, 0x8E, 0x35, 0x8D, 0x7B, 0x51, 0xF1, 0xD7, 0x8F, 0x24, 0xD4, 0xF5, 0xEB, 0xE9, 0xB5, 0x0B, 0xB6, 0x8F, 0xEC, 0x62, 0x31, 0x2C, 0xAE, 0xD2, 0x3E, 0xD0, 0x61, 0x24, 0x28, 0x2C, 0x40, 0x04, 0x9C, 0x00, 0x3A, 0xD7, 0xB0, 0xFE, 0xCE, 0x5A, 0x2C, 0x73, 0xF8, 0x9B, 0xED, 0x33, 0x44, 0xCD, 0x63, 0xA4, 0xED, 0x98, 0x22, 0xF4, 0x92, 0x6C, 0x15, 0x89, 0x7E, 0x8B, 0x96, 0x6F, 0xA8, 0x5A, 0xF7, 0xE8, 0x35, 0xB9, 0x6F, 0x7E, 0x54, 0x89, 0x61, 0x8F, 0xB6, 0x3A, 0xD7, 0xC2, 0xCF, 0x1B, 0x89, 0x85, 0x67, 0x52, 0x12, 0xD5, 0xEE, 0xF4, 0xE8, 0x7D, 0xFE, 0x55, 0x93, 0x61, 0x31, 0x38, 0x75, 0xED, 0xE0, 0xAD, 0x76, 0xD4, 0x75, 0xD3, 0xFA, 0xD8, 0xF8, 0x58, 0xFF, 0x00, 0xC1, 0xBD, 0xDF, 0x0D, 0x76, 0xE4, 0xF8, 0xFF, 0x00, 0xE2, 0x02, 0x9F, 0x40, 0x2C, 0x88, 0xFF, 0x00, 0xD1, 0x35, 0xEE, 0x3F, 0xF0, 0x4F, 0x8F, 0xF8, 0x26, 0xE7, 0x86, 0x7F, 0xE0, 0x9F, 0xDF, 0x1D, 0xA5, 0xF1, 0x5E, 0x87, 0xE3, 0x0F, 0x15, 0x6B, 0x5A, 0x7E, 0xBF, 0xA7, 0x49, 0xE1, 0xDD, 0x6F, 0x4C, 0xD5, 0x56, 0xDB, 0xEC, 0x77, 0x56, 0x77, 0x0E, 0x9F, 0x3B, 0xF9, 0x71, 0xA9, 0x06, 0x29, 0x15, 0x24, 0xCE, 0x7E, 0xE8, 0x90, 0x7F, 0x11, 0x35, 0xF4, 0x44, 0x16, 0xCC, 0x3E, 0xF1, 0x27, 0x9E, 0xF5, 0x62, 0x5B, 0x05, 0xBC, 0xB6, 0x92, 0x17, 0x8F, 0x74, 0x72, 0xA9, 0x47, 0x1F, 0xDE, 0x07, 0x83, 0x5C, 0xB8, 0xAC, 0xD3, 0x11, 0x5A, 0x94, 0xA8, 0xD5, 0x9B, 0x71, 0x92, 0xB3, 0xDB, 0xFC, 0x8F, 0xA2, 0xC2, 0xF0, 0xAE, 0x5D, 0x19, 0x29, 0xC2, 0x92, 0x8C, 0x96, 0xCF, 0x5D, 0x1F, 0xDE, 0x7C, 0xC3, 0xFB, 0x57, 0xFC, 0x0D, 0xD3, 0xBC, 0x6F, 0xA4, 0x78, 0x8F, 0xC1, 0xF7, 0x17, 0x5A, 0x85, 0xAD, 0x93, 0xBE, 0x60, 0xBA, 0xB5, 0x70, 0xB7, 0x96, 0x9B, 0x5C, 0x30, 0x2A, 0x4E, 0x40, 0x96, 0x36, 0x52, 0x84, 0x1C, 0x82, 0xC8, 0xC0, 0xE4, 0x12, 0x2B, 0x9D, 0x1F, 0xF0, 0x4C, 0xFB, 0xFF, 0x00, 0x04, 0x78, 0x42, 0x23, 0xE1, 0x4F, 0x17, 0xCD, 0xE2, 0x87, 0x20, 0x4C, 0x13, 0x56, 0x86, 0x3B, 0x69, 0x2E, 0x14, 0x80, 0x41, 0x49, 0x22, 0x01, 0x32, 0x46, 0x38, 0x64, 0x50, 0x49, 0xC9, 0x61, 0x5E, 0xB5, 0xF1, 0xC3, 0x4F, 0xB8, 0xB4, 0xF8, 0x96, 0xB7, 0x52, 0xB3, 0x3B, 0x6A, 0xD6, 0x71, 0xDD, 0x4A, 0x4F, 0xF1, 0xBF, 0x31, 0xC8, 0xDF, 0x8C, 0xD1, 0x4A, 0xDF, 0xF6, 0xD0, 0x9E, 0xB5, 0xE9, 0x5F, 0x04, 0x35, 0x35, 0xD4, 0x7C, 0x07, 0x69, 0x1B, 0x36, 0x64, 0xD3, 0xC9, 0xB4, 0x61, 0xE8, 0xAB, 0xCA, 0x7F, 0xE4, 0x36, 0x51, 0xF8, 0x57, 0xA9, 0xFD, 0xA5, 0x8B, 0xC2, 0xE1, 0xA9, 0xD6, 0xA3, 0x3F, 0x5D, 0x2E, 0x9E, 0x9D, 0x4F, 0x13, 0x0B, 0xC3, 0xD9, 0x7E, 0x3F, 0x1B, 0x5B, 0x0B, 0x8C, 0xA7, 0x77, 0xAD, 0x9D, 0xDA, 0x6A, 0xCF, 0xA7, 0xDF, 0xD6, 0xE7, 0xC1, 0x9E, 0x2A, 0xF0, 0x2E, 0xA9, 0xE1, 0x7B, 0xD6, 0xD2, 0xB5, 0xFD, 0x3F, 0x50, 0xD0, 0xF5, 0x21, 0xF3, 0x27, 0x9C, 0x85, 0x1D, 0xB6, 0xF4, 0x74, 0x60, 0x76, 0xC8, 0x01, 0xFE, 0x24, 0x62, 0x3D, 0x0D, 0x5A, 0xF1, 0x77, 0x80, 0x34, 0x9F, 0xDA, 0x8F, 0xE0, 0xB5, 0xCE, 0x83, 0xE2, 0x68, 0x55, 0xA6, 0x57, 0xF2, 0x65, 0x9A, 0x3C, 0x79, 0x96, 0x97, 0x4A, 0x0E, 0xCB, 0x88, 0x8F, 0x62, 0xC3, 0xE6, 0xF4, 0x39, 0x75, 0xE9, 0x5F, 0x74, 0x7C, 0x69, 0xD0, 0x6D, 0x7C, 0x51, 0xE1, 0xD6, 0xB0, 0xBB, 0xB7, 0x86, 0xEA, 0xD2, 0x40, 0x49, 0x8E, 0x45, 0xDC, 0x37, 0x0E, 0x84, 0x7A, 0x30, 0xEC, 0x46, 0x08, 0xF5, 0xAF, 0x0A, 0xD5, 0xBF, 0x62, 0x4F, 0x14, 0x7C, 0x31, 0xD4, 0x22, 0xF1, 0x15, 0x8A, 0x9B, 0xCF, 0x0B, 0xEB, 0x16, 0xFE, 0x5D, 0xEA, 0x07, 0xDD, 0x73, 0x62, 0x39, 0x31, 0x4C, 0x54, 0x7D, 0xF5, 0x56, 0xE0, 0x91, 0xF3, 0x05, 0x63, 0xC1, 0xC1, 0x35, 0xF4, 0x18, 0x1C, 0xFE, 0x96, 0x26, 0x92, 0x95, 0x7B, 0x46, 0x7F, 0x83, 0xF4, 0xFF, 0x00, 0x23, 0xE7, 0xF3, 0x2E, 0x0F, 0xAB, 0x82, 0xAE, 0xE8, 0xE1, 0xDB, 0xA9, 0x0B, 0x76, 0xD5, 0x7A, 0xF7, 0xF5, 0x5F, 0x71, 0xF1, 0xEF, 0xC3, 0x4F, 0xF8, 0x22, 0x8F, 0x85, 0x7E, 0x23, 0xDF, 0x47, 0x6F, 0x0F, 0x8F, 0xBC, 0x4D, 0x0C, 0xCC, 0xDB, 0x24, 0x43, 0x61, 0x6E, 0xCD, 0x13, 0x77, 0x1D, 0x79, 0xF6, 0x3D, 0xC5, 0x7B, 0x04, 0x9F, 0xF0, 0x6D, 0x57, 0x86, 0xED, 0x6D, 0x84, 0x92, 0x7C, 0x48, 0xF1, 0x11, 0x56, 0x50, 0x7E, 0x6D, 0x3A, 0x25, 0xE4, 0xFD, 0x1A, 0xBD, 0x5B, 0xE1, 0xA7, 0x8C, 0x6E, 0xBE, 0x0B, 0x7C, 0x4A, 0x83, 0x54, 0xB8, 0xB7, 0x2E, 0xB6, 0xEF, 0xE5, 0x5E, 0x44, 0x06, 0x77, 0xA7, 0xF7, 0x87, 0xBF, 0x70, 0x7D, 0xB1, 0x5F, 0x5C, 0x5C, 0x7C, 0x69, 0xD3, 0x6F, 0x74, 0xBB, 0x7B, 0x99, 0x2F, 0x02, 0xDB, 0xDD, 0x44, 0xB3, 0xC5, 0x9E, 0x37, 0x29, 0x00, 0x8A, 0xF2, 0xB8, 0x83, 0x15, 0x8F, 0xA1, 0x52, 0x3F, 0x56, 0x93, 0xE5, 0x6B, 0x4B, 0x6B, 0xA9, 0xEC, 0xF0, 0xAE, 0x4D, 0x93, 0xE2, 0x28, 0xC9, 0x63, 0x29, 0xC7, 0x9E, 0x2F, 0x5B, 0xB6, 0xB4, 0xFB, 0xD1, 0xF9, 0xCA, 0x7F, 0xE0, 0xDC, 0x1F, 0x0E, 0xAC, 0x7F, 0xF2, 0x50, 0xF5, 0x82, 0x73, 0xFF, 0x00, 0x3E, 0x71, 0x8F, 0xEB, 0x4D, 0x3F, 0xF0, 0x6D, 0xDE, 0x85, 0x27, 0x4F, 0x88, 0x3A, 0xB2, 0xFF, 0x00, 0xDB, 0xA2, 0x73, 0xFA, 0xD7, 0xE8, 0x37, 0x84, 0x7E, 0x28, 0x47, 0xE3, 0x4F, 0x11, 0xF9, 0x76, 0xCA, 0x45, 0xA2, 0x9C, 0x06, 0xFE, 0xF5, 0x7A, 0x14, 0xBE, 0x50, 0x8B, 0xEF, 0x76, 0xE2, 0xBC, 0x29, 0x66, 0xD9, 0x95, 0x27, 0x6A, 0x93, 0x77, 0xF9, 0x1F, 0x41, 0x2E, 0x19, 0xC8, 0xAB, 0x2B, 0xD0, 0xA4, 0x9A, 0xEF, 0x77, 0xFE, 0x67, 0xF2, 0xAE, 0x4F, 0xAD, 0x6A, 0x78, 0x17, 0x9F, 0x1B, 0xE8, 0x9F, 0xF6, 0x10, 0xB7, 0xFF, 0x00, 0xD1, 0xAB, 0x59, 0x78, 0xC5, 0x6A, 0x78, 0x10, 0x67, 0xC7, 0x3A, 0x27, 0xFD, 0x84, 0x20, 0xFF, 0x00, 0xD1, 0x8B, 0x5F, 0xA5, 0xD4, 0xF8, 0x1F, 0xA1, 0xF8, 0x25, 0x1F, 0xE2, 0x46, 0xDD, 0xD1, 0xFD, 0x27, 0x68, 0x09, 0xBB, 0x48, 0xB4, 0xFF, 0x00, 0x6A, 0x34, 0xCF, 0xFD, 0xF2, 0x2B, 0xA0, 0x82, 0xD2, 0x32, 0xE1, 0x42, 0xEE, 0xAC, 0x1F, 0x0D, 0x21, 0x93, 0x4E, 0xB0, 0x55, 0xFE, 0x28, 0xD0, 0x7E, 0x82, 0xBB, 0x88, 0x7C, 0x27, 0x71, 0x00, 0x8D, 0xBE, 0xF1, 0x6E, 0x70, 0x3B, 0x57, 0xE1, 0xF5, 0xAF, 0x7D, 0x0F, 0xEB, 0xDA, 0x5E, 0xCF, 0x95, 0x39, 0xB2, 0x8A, 0x58, 0x20, 0x1D, 0x3F, 0x4A, 0x99, 0x2C, 0x55, 0x57, 0xEE, 0xD6, 0xCD, 0xE6, 0x83, 0x25, 0x85, 0xBA, 0xC8, 0xCB, 0x85, 0xC7, 0x5A, 0xCF, 0x9F, 0x6A, 0x0E, 0x31, 0x5C, 0x9C, 0xEE, 0xF6, 0x36, 0xA7, 0x52, 0x33, 0xD6, 0x05, 0x67, 0x54, 0x8C, 0x74, 0x02, 0xBC, 0xDF, 0xE3, 0x0E, 0xA9, 0x37, 0x88, 0x0C, 0x7A, 0x3E, 0x97, 0x0C, 0xD7, 0x77, 0x37, 0x04, 0x02, 0xB1, 0x02, 0xCD, 0xF4, 0xC0, 0xAF, 0x40, 0xBC, 0x6B, 0x78, 0xA0, 0x92, 0xE2, 0xFA, 0xF2, 0x0D, 0x3E, 0xCD, 0x07, 0xCD, 0x2C, 0xCE, 0x14, 0x0A, 0xF3, 0x9D, 0x6B, 0xF6, 0xD9, 0xF0, 0x5F, 0xC2, 0x1D, 0x59, 0x2D, 0xFC, 0x23, 0x63, 0x2F, 0x89, 0x35, 0xE9, 0x1F, 0x68, 0x96, 0x35, 0xC8, 0x2D, 0xF5, 0xFF, 0x00, 0x0A, 0xF7, 0xB2, 0xBC, 0xA7, 0x13, 0x5D, 0xFB, 0x48, 0xC5, 0xD9, 0x1E, 0x5E, 0x71, 0x9C, 0x61, 0xF0, 0xB4, 0xFD, 0x9C, 0x9A, 0x73, 0x7D, 0x0E, 0x8F, 0xE1, 0x7F, 0xFC, 0x13, 0xBF, 0xC4, 0x1E, 0x29, 0xB0, 0xFB, 0x7E, 0xBF, 0x20, 0xD2, 0xAD, 0x36, 0xEF, 0xF2, 0x40, 0xDD, 0x2B, 0xFF, 0x00, 0x85, 0x6F, 0x5E, 0xFE, 0xCD, 0x1F, 0x0E, 0xBC, 0x20, 0xA2, 0x1D, 0x42, 0x38, 0x3C, 0xE5, 0x1C, 0xBD, 0xCC, 0xA0, 0x30, 0xF7, 0xF6, 0xAE, 0x6B, 0x5B, 0xFD, 0xA9, 0xBE, 0x2C, 0x78, 0xC2, 0xD6, 0x26, 0xBC, 0xB8, 0x8F, 0x45, 0x8E, 0xE1, 0x32, 0x2D, 0xED, 0x93, 0xE6, 0x41, 0xEE, 0xDE, 0xB5, 0xC5, 0xDA, 0x78, 0x2E, 0x7F, 0x14, 0x5F, 0xB6, 0xA5, 0xE2, 0x9D, 0x61, 0xAC, 0xED, 0x09, 0xCB, 0x4D, 0x3B, 0x96, 0x92, 0x5F, 0x64, 0x5E, 0xA4, 0xFD, 0x2B, 0xB2, 0x9D, 0x4A, 0xCA, 0xA3, 0x8A, 0x77, 0x7E, 0x47, 0x83, 0x87, 0xC1, 0xE3, 0x27, 0x07, 0x5F, 0x30, 0x6A, 0x11, 0x7B, 0x2E, 0xC7, 0x7D, 0xA3, 0x7E, 0xCF, 0x1F, 0x01, 0x25, 0xD5, 0xB6, 0x47, 0x63, 0x1E, 0xB5, 0xA8, 0x4C, 0x73, 0xE4, 0xDB, 0x34, 0xD7, 0x4E, 0x7D, 0x7E, 0x54, 0xCF, 0xEB, 0x81, 0x5E, 0x85, 0xA4, 0x7E, 0xCC, 0x1E, 0x01, 0x88, 0x47, 0x1D, 0x87, 0xC3, 0x3D, 0x0E, 0x3C, 0x61, 0xB7, 0xEA, 0x31, 0xC6, 0x0A, 0x7A, 0x31, 0x0A, 0x1C, 0xFE, 0x04, 0xA9, 0x3F, 0xA8, 0xC5, 0xD0, 0xBC, 0x79, 0xE0, 0xDF, 0x81, 0x3E, 0x0D, 0x8E, 0x6B, 0x7B, 0x7B, 0x8D, 0x25, 0x6F, 0x00, 0x11, 0x6E, 0x84, 0x36, 0xA5, 0xA9, 0x1E, 0x30, 0x52, 0x3E, 0xAA, 0xA4, 0xF4, 0x2F, 0x81, 0xED, 0xDE, 0xBC, 0x8F, 0xF6, 0x84, 0xFF, 0x00, 0x82, 0x88, 0x6A, 0x1E, 0x0C, 0xD1, 0xA4, 0xD3, 0xB4, 0x1B, 0x68, 0x34, 0xFD, 0x52, 0xE8, 0x10, 0x8B, 0xBF, 0xCF, 0x7B, 0x50, 0x78, 0x2C, 0xEF, 0xFC, 0x52, 0x0E, 0xE7, 0xEE, 0x83, 0xF2, 0x8D, 0xE4, 0x16, 0x5F, 0x42, 0x9E, 0x0F, 0x1F, 0x8A, 0x92, 0x8C, 0x5B, 0xF9, 0xB7, 0x6F, 0xE9, 0x1E, 0x0E, 0x2A, 0x58, 0x6A, 0x17, 0x9C, 0x1A, 0x49, 0x7F, 0x5B, 0x2B, 0x7E, 0x2C, 0xF5, 0x0F, 0xDA, 0x0B, 0xE3, 0xB7, 0xC3, 0xBF, 0xD8, 0x6F, 0x4E, 0x66, 0xD1, 0xB4, 0x2F, 0x0F, 0xDF, 0x7C, 0x43, 0xBC, 0x80, 0x8B, 0x48, 0x20, 0xB4, 0x8E, 0x1F, 0xB2, 0x21, 0x07, 0xF7, 0xB3, 0x32, 0x8D, 0xD1, 0xC5, 0xE8, 0xB9, 0xDF, 0x27, 0x4C, 0xE3, 0x2E, 0xBF, 0x97, 0x3F, 0xB4, 0x4F, 0xED, 0x59, 0xE2, 0x4F, 0x8F, 0xDE, 0x33, 0xB8, 0xBD, 0xBD, 0xD4, 0x67, 0xD7, 0x2F, 0x1D, 0xB1, 0x2D, 0xEC, 0xE7, 0x65, 0xA4, 0x23, 0x9C, 0x24, 0x48, 0xB8, 0xCA, 0x8E, 0xC1, 0x76, 0xAF, 0xFB, 0x47, 0x9A, 0xBB, 0xE3, 0xFF, 0x00, 0x1B, 0xDD, 0xEA, 0x53, 0xDD, 0xDF, 0x5E, 0x5D, 0x4D, 0x7D, 0xA9, 0x6A, 0x32, 0x34, 0x93, 0xCF, 0x3B, 0x99, 0x24, 0x99, 0xCF, 0x56, 0x62, 0x79, 0x35, 0xD7, 0xFE, 0xC0, 0xBF, 0xB1, 0xFC, 0x7F, 0x16, 0x35, 0x6D, 0x2B, 0x59, 0xF1, 0x56, 0x9F, 0x7D, 0x37, 0x84, 0xE3, 0x9E, 0x48, 0xEC, 0x6C, 0xE3, 0x4C, 0x2E, 0xAC, 0xB0, 0xB1, 0x53, 0x34, 0xAF, 0x90, 0x16, 0xD8, 0x10, 0x14, 0xE0, 0xEE, 0x95, 0xF2, 0xAA, 0x36, 0xAB, 0x1A, 0xF5, 0xB1, 0x98, 0x35, 0x92, 0xE1, 0xE3, 0x5D, 0x6B, 0x39, 0x68, 0xE4, 0xF5, 0x7E, 0x91, 0xEC, 0x8F, 0x07, 0x2B, 0x8C, 0x33, 0x8C, 0x54, 0xF0, 0xB3, 0x6E, 0xD1, 0x49, 0xB5, 0xDD, 0x5F, 0xAB, 0xEC, 0xBB, 0x0B, 0xFB, 0x21, 0x7E, 0xC6, 0x5A, 0x97, 0xC6, 0x5B, 0xFD, 0x27, 0xC4, 0xDE, 0x2E, 0xD3, 0x35, 0x2D, 0x47, 0xC2, 0x92, 0x5C, 0xA8, 0xB2, 0xB1, 0xC1, 0x86, 0x3D, 0x5D, 0x81, 0xF9, 0xA4, 0x6E, 0x82, 0x3B, 0x54, 0x19, 0x2C, 0xFF, 0x00, 0x7E, 0x52, 0x02, 0x26, 0xE2, 0x49, 0x5E, 0xF6, 0xF7, 0xE1, 0x53, 0x78, 0xC7, 0xE3, 0x1F, 0x87, 0x63, 0xD7, 0x84, 0x30, 0xEB, 0x5A, 0x68, 0x96, 0x0B, 0xFB, 0x7B, 0x59, 0x12, 0x58, 0xF4, 0xA5, 0x8E, 0x09, 0x24, 0xF2, 0xA2, 0x65, 0xF9, 0x33, 0x17, 0xCA, 0x7C, 0xB4, 0xC2, 0x46, 0x82, 0xD9, 0x0A, 0xFC, 0xED, 0x9F, 0xB2, 0xA1, 0xF8, 0x55, 0x60, 0xDE, 0x15, 0x97, 0x49, 0xB8, 0xB8, 0xD5, 0x26, 0x8E, 0xE2, 0x61, 0x3C, 0xD2, 0xA5, 0xEC, 0xB6, 0xD2, 0x3B, 0x28, 0x55, 0x00, 0x18, 0x59, 0x36, 0x46, 0x15, 0x55, 0x44, 0x69, 0xB5, 0x36, 0xA8, 0x18, 0xEB, 0x9E, 0x1F, 0x48, 0xFD, 0x9C, 0xED, 0xFC, 0x20, 0xDA, 0x9D, 0xFA, 0xC8, 0xF7, 0xDA, 0x8D, 0xE4, 0x52, 0x69, 0xD6, 0x51, 0xAA, 0xAC, 0x56, 0xFA, 0x4D, 0x94, 0xB2, 0xA9, 0x68, 0xE2, 0x8D, 0x40, 0x50, 0x48, 0x0A, 0xCE, 0xF8, 0xDE, 0xE5, 0x72, 0x49, 0xAF, 0x81, 0xC6, 0xE2, 0x2A, 0x62, 0xAA, 0xF3, 0xD5, 0x6D, 0x9F, 0xB8, 0x70, 0xCD, 0x6C, 0x26, 0x53, 0x42, 0xA5, 0x3C, 0x32, 0x4A, 0x4D, 0x59, 0x59, 0x59, 0xEB, 0x75, 0xA3, 0xE8, 0xB5, 0xD6, 0xF6, 0x7A, 0x27, 0x7E, 0x85, 0x8F, 0x85, 0xFE, 0x04, 0x7F, 0x85, 0xFE, 0x04, 0xB7, 0xD1, 0x24, 0xD5, 0x2F, 0x35, 0x6F, 0xB2, 0x3C, 0xBE, 0x5D, 0xCD, 0xDF, 0xFA, 0xD2, 0x8C, 0xEC, 0xCA, 0x84, 0xF4, 0xC2, 0xEE, 0xDA, 0xB8, 0x03, 0x0A, 0x14, 0x76, 0xC9, 0x87, 0xC7, 0x16, 0xBF, 0xDA, 0xDA, 0x4C, 0xD1, 0xB2, 0xFC, 0xB8, 0x24, 0x03, 0xEA, 0x2B, 0xB8, 0xD5, 0xF4, 0xD8, 0x54, 0x0F, 0x99, 0x63, 0x19, 0xEA, 0x4E, 0x2B, 0x87, 0xF8, 0x8F, 0x71, 0x25, 0xA6, 0x95, 0x22, 0xC3, 0x89, 0x25, 0xFB, 0xAA, 0x07, 0x20, 0x7F, 0x9F, 0x4F, 0xE5, 0xD6, 0x95, 0x3D, 0x24, 0xAC, 0x44, 0x71, 0x0B, 0x11, 0x29, 0x4A, 0x7A, 0xB7, 0x7B, 0xF9, 0x9F, 0x20, 0xFC, 0x59, 0xD1, 0x9B, 0x4B, 0xF1, 0x04, 0xC5, 0xD8, 0x2C, 0x67, 0x39, 0x62, 0x7A, 0x57, 0x95, 0xDB, 0xFC, 0x30, 0x93, 0x50, 0xBF, 0x53, 0xE5, 0xB0, 0xFB, 0x43, 0x95, 0x87, 0x2A, 0x73, 0x21, 0x91, 0xB3, 0xBB, 0xF0, 0xC2, 0x81, 0xEB, 0x93, 0xE8, 0x6B, 0xEB, 0x0F, 0x15, 0x7C, 0x30, 0xB6, 0xBC, 0xB2, 0xFB, 0x55, 0xC2, 0xAD, 0xE5, 0xE4, 0x84, 0xED, 0x4C, 0xEE, 0x4D, 0xDE, 0xDD, 0xB8, 0xEA, 0x4F, 0x41, 0xF8, 0x66, 0xB8, 0x9B, 0x4B, 0x4D, 0x33, 0xC2, 0x56, 0xDA, 0xA7, 0x88, 0x75, 0x7B, 0xD8, 0x6C, 0xF4, 0x8D, 0x06, 0x16, 0x9A, 0x4B, 0xC9, 0x14, 0xB2, 0x2B, 0x0C, 0x80, 0x40, 0xEA, 0xD8, 0xCF, 0xCA, 0x8B, 0xCB, 0x1C, 0x00, 0x32, 0xC2, 0xBF, 0x40, 0xA3, 0x9F, 0xC6, 0x18, 0x7B, 0x47, 0x57, 0x13, 0xF2, 0x8C, 0x4F, 0x05, 0x54, 0xA9, 0x8E, 0xE7, 0xAB, 0x65, 0x09, 0x3B, 0xFA, 0x2F, 0x3F, 0x91, 0xE1, 0xBF, 0x11, 0x7F, 0xE0, 0x97, 0xDE, 0x0D, 0x5F, 0x87, 0x97, 0x9F, 0x11, 0x35, 0xFF, 0x00, 0x18, 0x6B, 0x16, 0x7A, 0xD6, 0xA5, 0x34, 0xCF, 0xA7, 0x69, 0x51, 0x47, 0x6C, 0x6D, 0x6E, 0x52, 0xDD, 0x42, 0x60, 0xF9, 0x89, 0xB9, 0x22, 0x1B, 0x19, 0xA4, 0x90, 0xEE, 0x01, 0x0A, 0x90, 0x8E, 0xCC, 0x88, 0xFD, 0xD7, 0xEC, 0x09, 0xFB, 0x3B, 0x78, 0x23, 0x48, 0xF1, 0x63, 0xB6, 0x9B, 0x6F, 0x79, 0xAE, 0xEB, 0x3A, 0x76, 0x9B, 0xF6, 0x89, 0xBC, 0x53, 0x7F, 0xA7, 0xBC, 0x6D, 0x15, 0xCC, 0xB8, 0x2A, 0x6C, 0x51, 0xC3, 0x45, 0x6F, 0xB5, 0x5F, 0x70, 0x2F, 0xBE, 0x56, 0xCF, 0xF0, 0xAA, 0xB2, 0x9B, 0x50, 0x78, 0x57, 0xC4, 0xFF, 0x00, 0x1D, 0x7E, 0x05, 0x41, 0xE2, 0xED, 0x69, 0x5A, 0x08, 0xF5, 0xCB, 0x48, 0xE6, 0x22, 0xE9, 0x48, 0x16, 0xFA, 0x34, 0x12, 0x34, 0x56, 0x7A, 0x55, 0xAA, 0x46, 0xBB, 0x1A, 0x7B, 0x89, 0x55, 0xA6, 0x60, 0x31, 0xB8, 0xBD, 0xBE, 0x4F, 0xCA, 0x82, 0xBD, 0xFB, 0xF6, 0x2F, 0xB1, 0xBA, 0xD1, 0xBE, 0x02, 0xD9, 0xE8, 0xF7, 0xAC, 0xC6, 0xE7, 0xC3, 0xD7, 0x77, 0x5A, 0x79, 0x05, 0xB7, 0x00, 0xA9, 0x3C, 0x80, 0x00, 0x7B, 0x81, 0x82, 0x3F, 0x0A, 0xF8, 0xAC, 0x46, 0x61, 0x88, 0xAD, 0x36, 0xAA, 0x49, 0xFA, 0x7E, 0x6B, 0xFA, 0xEA, 0x7E, 0xA5, 0x96, 0xF0, 0xF6, 0x03, 0x0B, 0x80, 0xFA, 0xD5, 0x38, 0xA9, 0x36, 0xD2, 0x5D, 0x97, 0x69, 0x59, 0xAD, 0x5B, 0xB6, 0xDA, 0x59, 0x34, 0xCD, 0xCD, 0x6B, 0xC3, 0x11, 0xF8, 0x5F, 0xC1, 0xA9, 0xA6, 0x5A, 0xC9, 0x79, 0x3C, 0x69, 0xBD, 0x9A, 0x4B, 0x99, 0xDA, 0xE2, 0x79, 0x37, 0x31, 0x77, 0x67, 0x76, 0x24, 0xB3, 0x33, 0x12, 0x7D, 0x39, 0xC0, 0x00, 0x60, 0x57, 0xC8, 0x9F, 0x11, 0xF5, 0xC5, 0xD6, 0xAF, 0xF5, 0x3B, 0xD8, 0xF6, 0xAD, 0xBE, 0xF1, 0x69, 0x6D, 0x83, 0x90, 0xC8, 0x99, 0x2C, 0xC0, 0xF7, 0x0C, 0xCD, 0x90, 0x7D, 0x30, 0x3B, 0x57, 0xD4, 0x5F, 0xB4, 0xFF, 0x00, 0x8B, 0x4F, 0x86, 0x3C, 0x07, 0x71, 0x1C, 0x6C, 0x52, 0x7B, 0xE0, 0x62, 0x56, 0x1D, 0x55, 0x4F, 0xDE, 0x3F, 0x5C, 0x67, 0x1E, 0x87, 0x07, 0xD6, 0xBE, 0x4E, 0xF1, 0x6E, 0xDB, 0x28, 0xE3, 0xB5, 0x5D, 0xAA, 0x90, 0xAF, 0x38, 0xE0, 0x64, 0xF2, 0xC7, 0xF3, 0x26, 0xBE, 0xA3, 0x86, 0xE8, 0xBB, 0x73, 0x74, 0x3E, 0x07, 0x8E, 0xB1, 0x49, 0xB5, 0x4E, 0xF7, 0x7D, 0x7D, 0x59, 0xE0, 0x3E, 0x2A, 0xD0, 0x24, 0xD6, 0x35, 0x39, 0xE6, 0x5C, 0x1F, 0xEC, 0xFD, 0x41, 0xE5, 0x61, 0x9C, 0x31, 0x06, 0x16, 0x0A, 0x17, 0xDC, 0xB9, 0x5F, 0xC3, 0x3F, 0x8F, 0x17, 0x26, 0x9E, 0xCD, 0x04, 0xD2, 0xB2, 0xFC, 0xD7, 0x50, 0xDC, 0x90, 0x3D, 0x77, 0xA8, 0xC7, 0xF3, 0xAF, 0x46, 0x92, 0x59, 0x16, 0xEF, 0x54, 0xBB, 0x2D, 0xB6, 0x19, 0xAE, 0xB0, 0x83, 0xFB, 0xED, 0x92, 0x17, 0x1F, 0x4C, 0xE7, 0xF2, 0xAC, 0x6D, 0x73, 0x46, 0x10, 0xDD, 0xDB, 0xAC, 0x6A, 0xBB, 0x20, 0xB5, 0x10, 0xB0, 0x1D, 0x98, 0xE3, 0x35, 0xFA, 0x15, 0x39, 0x3B, 0x9F, 0x8A, 0xD6, 0xA2, 0x9E, 0xA8, 0xB1, 0xA5, 0xFC, 0x27, 0xB5, 0xF1, 0x45, 0xC5, 0x8D, 0xB7, 0xDA, 0xEF, 0x2D, 0xEF, 0x2E, 0x27, 0x0D, 0x98, 0xA4, 0x55, 0xE1, 0x63, 0x39, 0xC6, 0x41, 0xC7, 0xF0, 0xF3, 0xD4, 0x67, 0x23, 0x9C, 0x57, 0xB6, 0x7E, 0xCC, 0x7E, 0x1D, 0x9F, 0x44, 0xF8, 0x7B, 0x67, 0x6B, 0xF6, 0x75, 0x7D, 0x46, 0xEA, 0xEA, 0x65, 0x58, 0x20, 0xCB, 0x19, 0x1D, 0xEE, 0x1C, 0x47, 0x1A, 0xE4, 0x02, 0x4E, 0xD2, 0x8B, 0xC8, 0x07, 0x8E, 0x71, 0xD2, 0xBC, 0x8F, 0xC0, 0xFA, 0xB4, 0x3A, 0x87, 0xC6, 0x0D, 0x27, 0x4C, 0x66, 0x39, 0x5B, 0x69, 0x65, 0x9B, 0x07, 0xFD, 0x54, 0x4C, 0x54, 0x3B, 0x13, 0xDB, 0x08, 0xAD, 0x8F, 0x76, 0x1E, 0x95, 0xF7, 0x16, 0x89, 0xA6, 0x68, 0xFF, 0x00, 0xB1, 0x8D, 0xB3, 0xB6, 0xAC, 0xD6, 0x7E, 0x24, 0xF8, 0x91, 0x75, 0x19, 0x95, 0x2C, 0xA0, 0x6D, 0xB6, 0x7A, 0x1C, 0x6F, 0xD4, 0xBB, 0x63, 0x21, 0x98, 0x13, 0xD0, 0x06, 0x61, 0xF2, 0xA8, 0x54, 0x2D, 0x23, 0x7C, 0x87, 0x17, 0x63, 0xA9, 0xE1, 0xA9, 0xC5, 0xCF, 0x77, 0x7B, 0x2E, 0xE7, 0xD8, 0x70, 0x9E, 0x45, 0x5F, 0x34, 0xA8, 0xF0, 0xF4, 0x74, 0x82, 0x6B, 0x99, 0xF6, 0xD1, 0xFE, 0x7D, 0x3A, 0x75, 0x3D, 0x7F, 0xE1, 0xBF, 0xC2, 0x94, 0xF0, 0x17, 0x84, 0x20, 0xB5, 0x90, 0xC6, 0x64, 0x8D, 0x7C, 0xEB, 0xC9, 0xFA, 0x2B, 0xC8, 0x47, 0xCC, 0xD9, 0x3F, 0xC2, 0x30, 0x14, 0x67, 0xF8, 0x54, 0x66, 0xB6, 0xBC, 0x35, 0xE2, 0x5F, 0x0F, 0x6A, 0xFA, 0xD7, 0xF6, 0x65, 0x8E, 0xB5, 0xA4, 0xDF, 0x6A, 0x0B, 0x19, 0x94, 0xDB, 0x5B, 0x5D, 0xC7, 0x2C, 0x9B, 0x01, 0x00, 0xB6, 0x14, 0x93, 0xC1, 0x65, 0xCF, 0xD4, 0x57, 0x82, 0xE9, 0x7F, 0x0B, 0x7E, 0x28, 0x7E, 0xD4, 0xCE, 0x9A, 0x86, 0xA5, 0x70, 0x6D, 0xF4, 0x59, 0x88, 0x92, 0x27, 0xBD, 0x63, 0x6D, 0x62, 0xAB, 0xD8, 0xC1, 0x6E, 0xA0, 0x97, 0xF6, 0x66, 0x1C, 0xFF, 0x00, 0xCF, 0x4A, 0xF3, 0x7F, 0xDB, 0x4B, 0xC0, 0x7E, 0x35, 0xFD, 0x88, 0x23, 0xF0, 0xAF, 0x8A, 0x3C, 0x2F, 0xAD, 0x5A, 0xEA, 0x0C, 0xAD, 0x3C, 0x97, 0x13, 0xB6, 0x99, 0xB7, 0xEC, 0x92, 0xC5, 0xB0, 0xAF, 0xCB, 0xE6, 0x92, 0x63, 0x91, 0x5D, 0xD1, 0x81, 0x3D, 0x32, 0x0F, 0x0D, 0x5F, 0x9B, 0xC7, 0x1F, 0x56, 0xAC, 0xAC, 0x96, 0xFD, 0xD9, 0xFB, 0xC6, 0x17, 0x86, 0xF0, 0xF0, 0xB5, 0x0A, 0x6F, 0x5E, 0x9D, 0xB4, 0x3E, 0xEC, 0x87, 0x4E, 0x51, 0xD6, 0xA6, 0x58, 0x00, 0x1D, 0x06, 0x3A, 0x55, 0x88, 0x6F, 0x22, 0xBF, 0xB3, 0x8A, 0xE2, 0x1F, 0xF5, 0x37, 0x08, 0xB2, 0xC7, 0xFE, 0xEB, 0x0C, 0x8F, 0xE6, 0x29, 0x93, 0x30, 0x89, 0x0B, 0x33, 0x6D, 0x55, 0xEE, 0x7B, 0x55, 0xF3, 0x36, 0x67, 0x1A, 0x31, 0x89, 0xE4, 0xDF, 0xB5, 0x05, 0xA2, 0xAB, 0x78, 0x76, 0xF0, 0x2E, 0x0C, 0x66, 0x7B, 0x46, 0x3E, 0xAA, 0x76, 0xC8, 0x83, 0xF0, 0x26, 0x53, 0xF8, 0xD4, 0x5F, 0xB3, 0x45, 0xF7, 0xDB, 0x3C, 0x71, 0x36, 0x8F, 0xBB, 0x0B, 0xA9, 0x41, 0xE6, 0x2F, 0xFB, 0xF1, 0x9E, 0x83, 0xDC, 0xAB, 0x31, 0xFA, 0x25, 0x6B, 0xFE, 0xD2, 0x11, 0x2D, 0xE7, 0x80, 0x6D, 0xE7, 0x46, 0x56, 0xFB, 0x3D, 0xFC, 0x4C, 0x48, 0x3D, 0x32, 0x19, 0x3F, 0xF6, 0x61, 0x5E, 0x77, 0xF0, 0x8F, 0xC4, 0x2D, 0xE1, 0x6F, 0x8A, 0xFE, 0x19, 0xBE, 0xDD, 0xB5, 0x62, 0xD4, 0x60, 0x89, 0xDB, 0x3F, 0x76, 0x39, 0x4F, 0x93, 0x21, 0xFC, 0x12, 0x46, 0x35, 0xF6, 0x18, 0x1A, 0x1F, 0x58, 0xCA, 0xE5, 0x4D, 0xEE, 0xAF, 0xF7, 0xAD, 0x4F, 0xCF, 0x33, 0x2A, 0x9F, 0x53, 0xCE, 0x95, 0x68, 0x7D, 0xAE, 0x57, 0xF7, 0xE8, 0xFF, 0x00, 0xCC, 0xFA, 0xCB, 0x53, 0xF8, 0x57, 0x63, 0x71, 0x69, 0xB5, 0xD5, 0x99, 0xBA, 0xF2, 0x69, 0xDB, 0xA7, 0xB0, 0xD3, 0xA2, 0xB1, 0x69, 0x98, 0xC1, 0x1A, 0x04, 0x50, 0x7B, 0x0F, 0x43, 0x5D, 0x45, 0xED, 0x95, 0xC3, 0xC3, 0x22, 0xC7, 0xB7, 0xCC, 0x3D, 0x37, 0x1E, 0x2B, 0x36, 0xEF, 0xC3, 0xBE, 0x5E, 0x9A, 0xCD, 0x73, 0xB5, 0xA4, 0x04, 0xE5, 0x81, 0xCE, 0x00, 0x27, 0x18, 0xE9, 0xDB, 0xAD, 0x7C, 0x9C, 0xB5, 0x56, 0xB9, 0xF5, 0xF4, 0x71, 0x11, 0xE6, 0xE6, 0x9A, 0xD4, 0xF9, 0x0B, 0xE3, 0xAF, 0x86, 0x2D, 0x74, 0x9F, 0x17, 0x5D, 0xC2, 0x60, 0x8D, 0xB9, 0xCA, 0x60, 0x63, 0x7C, 0x2F, 0xCA, 0x8F, 0xC3, 0xA7, 0xD5, 0x6B, 0x4F, 0xE0, 0x5D, 0x8E, 0x9D, 0xF1, 0x4F, 0xE1, 0xEE, 0xA1, 0xE0, 0xBD, 0x52, 0x65, 0x87, 0x58, 0xD0, 0xD9, 0xA5, 0xD2, 0xAE, 0x18, 0xFC, 0xCF, 0x13, 0xF2, 0x17, 0xDC, 0x06, 0xCF, 0x1E, 0xF5, 0x7B, 0xF6, 0xAF, 0xD1, 0xDE, 0xC2, 0xE7, 0x42, 0xD4, 0x1A, 0x36, 0x8F, 0xED, 0x31, 0xCB, 0x06, 0x4F, 0xF1, 0x05, 0x21, 0x87, 0xFE, 0x86, 0x7F, 0x3A, 0xF1, 0x11, 0xE2, 0x19, 0x3C, 0x25, 0xE2, 0x0B, 0x5D, 0x42, 0x37, 0x6D, 0xCA, 0xC6, 0x30, 0xCA, 0xD8, 0x60, 0xAD, 0xDB, 0x3E, 0xC7, 0x9A, 0xFD, 0x17, 0x01, 0x09, 0x62, 0x32, 0xF8, 0xB4, 0xF5, 0xDD, 0x3F, 0x34, 0xED, 0xF8, 0x9F, 0x9E, 0xE6, 0x2E, 0x9D, 0x0C, 0xC2, 0x77, 0x8F, 0xBB, 0xB3, 0x5D, 0xD3, 0x4B, 0xF2, 0xFD, 0x0E, 0x9F, 0xFE, 0x12, 0x9D, 0x7B, 0xE0, 0xFE, 0xBD, 0x35, 0x94, 0xC2, 0x4B, 0x79, 0xA1, 0x25, 0x4A, 0x1F, 0xBA, 0x7D, 0xC7, 0xB1, 0xAF, 0x4F, 0xF0, 0x27, 0xC7, 0x4D, 0x57, 0xC5, 0x22, 0x1B, 0x65, 0x42, 0xD8, 0x40, 0x0B, 0x67, 0xA9, 0xAF, 0x37, 0xF1, 0x17, 0xC4, 0x2B, 0x7F, 0x88, 0x3A, 0x57, 0xD9, 0x75, 0xC0, 0xBF, 0xDA, 0x16, 0xE3, 0xFD, 0x1E, 0xEB, 0x1C, 0xC8, 0xBF, 0xDD, 0x6F, 0xF1, 0xAE, 0x9B, 0xE0, 0x66, 0xAD, 0xA7, 0xD9, 0xDE, 0x2A, 0xCB, 0x2C, 0x71, 0xC9, 0x18, 0x18, 0xFF, 0x00, 0x6C, 0x56, 0x59, 0x85, 0x18, 0xBA, 0x2E, 0x73, 0x87, 0xBC, 0xBF, 0xAB, 0x9C, 0x78, 0x09, 0x4A, 0x18, 0x8B, 0x61, 0xEA, 0xFE, 0xE9, 0xF4, 0x7B, 0xAF, 0x26, 0x7F, 0x3F, 0x39, 0xCF, 0xFF, 0x00, 0xAA, 0xB5, 0x7C, 0x0D, 0xFF, 0x00, 0x23, 0xCE, 0x8B, 0xFF, 0x00, 0x61, 0x08, 0x3F, 0xF4, 0x62, 0xD6, 0x40, 0x6C, 0xAF, 0x35, 0xAD, 0xE0, 0x5F, 0xF9, 0x1E, 0x34, 0x4F, 0xFB, 0x08, 0x5B, 0xFF, 0x00, 0xE8, 0xC5, 0xAF, 0xA5, 0xA9, 0xF0, 0xB3, 0xF2, 0x7A, 0x5F, 0xC4, 0x5E, 0xA8, 0xFE, 0x94, 0xFC, 0x1A, 0xF9, 0x83, 0x4D, 0xCF, 0x65, 0x8F, 0x3F, 0x90, 0xAF, 0x6D, 0xD2, 0x75, 0x5B, 0x3B, 0x6D, 0xB1, 0xC9, 0x22, 0x79, 0x8C, 0x38, 0x19, 0xE6, 0xBC, 0x1F, 0x4A, 0x66, 0x8F, 0xC3, 0xF0, 0xED, 0xE1, 0x85, 0xB8, 0x20, 0xFB, 0xED, 0x15, 0x05, 0xEF, 0xC4, 0x05, 0xF0, 0x3E, 0x89, 0x2E, 0xAD, 0xAA, 0xDD, 0xF9, 0x69, 0x08, 0xC2, 0x96, 0x3C, 0xB9, 0xEC, 0x07, 0xAD, 0x7E, 0x2F, 0x1C, 0x3B, 0xAB, 0xB6, 0xF7, 0x3F, 0xAC, 0x6B, 0x53, 0x8D, 0x48, 0xA5, 0x37, 0x65, 0x6B, 0xB7, 0xD1, 0x7A, 0x9E, 0xDB, 0xE3, 0x8F, 0x16, 0x58, 0x69, 0xBE, 0x19, 0xB9, 0x9A, 0xF2, 0x68, 0xA0, 0x8E, 0x20, 0x5B, 0xCC, 0x66, 0xC0, 0xC5, 0x7C, 0xAB, 0xF1, 0x0F, 0xF6, 0xCB, 0x55, 0xBA, 0x6B, 0x6F, 0x0D, 0xDA, 0x8B, 0xC6, 0x56, 0xC1, 0x9E, 0x41, 0xFB, 0xB0, 0x47, 0xF3, 0xAF, 0x3C, 0xF8, 0xA7, 0xF1, 0x77, 0x58, 0xF8, 0xC3, 0x7F, 0xFE, 0x91, 0x71, 0x35, 0xB6, 0x91, 0x1F, 0xFA, 0xAB, 0x65, 0x6C, 0x6F, 0xF7, 0x6F, 0x5A, 0xEB, 0x7F, 0x67, 0xDF, 0x80, 0xD1, 0xF8, 0xA0, 0x7F, 0x6B, 0x6A, 0x48, 0x2D, 0xF4, 0x9B, 0x63, 0x95, 0x0C, 0x36, 0xF9, 0xE4, 0x7F, 0x4A, 0xFB, 0x1C, 0x27, 0x0E, 0xE1, 0xB2, 0xFA, 0x1F, 0x5C, 0xCD, 0x35, 0x7D, 0x22, 0xBB, 0xF6, 0xF3, 0x67, 0xC6, 0xBC, 0xF2, 0xBD, 0x7A, 0xAF, 0x05, 0x95, 0xEC, 0xDE, 0xB2, 0x7F, 0x9A, 0xEC, 0x8C, 0x6B, 0xCD, 0x03, 0x5D, 0xF8, 0xAD, 0x67, 0x7D, 0xE2, 0x4F, 0x16, 0xDF, 0x5C, 0x43, 0xA5, 0xDB, 0xC4, 0xD3, 0x47, 0x6A, 0x84, 0xAC, 0x67, 0x03, 0x80, 0x07, 0xA6, 0x6B, 0x6F, 0xF6, 0x52, 0xF0, 0xD7, 0x84, 0x3C, 0x03, 0xE1, 0xE9, 0xBC, 0x51, 0xAD, 0xB4, 0x4D, 0x7D, 0x75, 0xB8, 0xDB, 0xAB, 0xF3, 0xE4, 0xAE, 0x4E, 0x30, 0x3D, 0x4D, 0x75, 0x1F, 0xB4, 0x46, 0xB1, 0x69, 0x71, 0xF0, 0x4B, 0x58, 0x93, 0x4F, 0x64, 0xFB, 0x39, 0xB9, 0x8E, 0xC2, 0x2F, 0x2F, 0xEE, 0xF1, 0xCB, 0x01, 0xF9, 0x57, 0x81, 0x78, 0x5A, 0xC7, 0x53, 0xD5, 0xFC, 0x3D, 0x6D, 0xF6, 0x3B, 0x5B, 0x8B, 0xB6, 0x8D, 0x08, 0x18, 0xCE, 0xC4, 0xEB, 0xD4, 0xF4, 0x02, 0xBD, 0x7A, 0x14, 0xEB, 0x63, 0xB0, 0x4D, 0xD7, 0x97, 0xB1, 0x8C, 0xA5, 0xF0, 0xED, 0x68, 0xAD, 0x97, 0xAB, 0x7B, 0x98, 0x62, 0xE5, 0x87, 0xC1, 0x63, 0x14, 0x28, 0xC3, 0xDB, 0x4D, 0x46, 0xFC, 0xDB, 0xFB, 0xCD, 0xEA, 0xFD, 0x12, 0x56, 0x48, 0xF6, 0x3F, 0x89, 0x7F, 0xB4, 0xFC, 0x9A, 0xB5, 0xCA, 0xDB, 0xE8, 0xF6, 0xEB, 0x6E, 0xB9, 0xDA, 0xB2, 0x3F, 0xDF, 0x7F, 0xA0, 0xED, 0x59, 0x36, 0x9F, 0x13, 0xDB, 0xC3, 0x1F, 0xE9, 0x0A, 0xCB, 0xAA, 0x6B, 0xAD, 0xC8, 0xBA, 0x9F, 0xE7, 0x8E, 0xD3, 0xDA, 0x35, 0x3C, 0x64, 0x7A, 0xD7, 0x96, 0xE8, 0xDA, 0x45, 0xC4, 0x17, 0x72, 0xDC, 0x5E, 0x36, 0xEB, 0x82, 0xD8, 0x18, 0x3F, 0x2A, 0x8F, 0x6A, 0xD2, 0x92, 0x71, 0x02, 0x6E, 0x73, 0xB5, 0x57, 0x9C, 0xD7, 0xB7, 0x84, 0xC9, 0x70, 0xB8, 0x78, 0x72, 0x51, 0x8E, 0x9F, 0x8B, 0xF5, 0x67, 0x85, 0x8C, 0xCE, 0xF1, 0x58, 0x89, 0x5E, 0xB4, 0x9B, 0x7F, 0x82, 0xF4, 0x5F, 0xA9, 0x73, 0xC6, 0xFF, 0x00, 0x11, 0x6E, 0x2C, 0x84, 0xDA, 0xD6, 0xA1, 0x77, 0x71, 0x75, 0x7C, 0xC7, 0xE5, 0x76, 0x72, 0x64, 0x91, 0xCF, 0xDD, 0x50, 0x7B, 0x7E, 0x1D, 0x2B, 0xC5, 0xF5, 0x91, 0x75, 0x7B, 0x2D, 0xC6, 0xA3, 0xA8, 0x48, 0xAB, 0x24, 0x98, 0x67, 0x18, 0xFB, 0xBF, 0xDD, 0x40, 0x3F, 0x40, 0x3B, 0x0E, 0x49, 0xAE, 0x8F, 0x5C, 0xD5, 0x5B, 0xC4, 0x3A, 0xA7, 0xDA, 0x25, 0xCF, 0x93, 0x6E, 0x71, 0x0A, 0x1E, 0xDF, 0xED, 0x11, 0xEA, 0x6B, 0x2F, 0xE2, 0x0F, 0x83, 0xF5, 0x2B, 0x6F, 0xEC, 0xAF, 0xED, 0x18, 0xDB, 0x4F, 0xB1, 0xD4, 0x23, 0x37, 0x91, 0xA4, 0x8D, 0xE5, 0xCD, 0x3D, 0xB8, 0xE3, 0xCD, 0x0B, 0xD5, 0x51, 0xDB, 0x2A, 0xAC, 0xD8, 0xDC, 0x15, 0xCA, 0xE7, 0x19, 0xAF, 0x56, 0x11, 0xA7, 0x49, 0xA8, 0xBB, 0x26, 0xF6, 0x5F, 0xA2, 0xF9, 0x1F, 0x3D, 0x88, 0xA9, 0x3A, 0x91, 0x72, 0xD5, 0xA5, 0xFD, 0x6A, 0x70, 0x11, 0xE9, 0x87, 0x58, 0xD4, 0x9A, 0xF2, 0xE5, 0x5B, 0xEC, 0xEB, 0xC4, 0x4A, 0x7E, 0xEB, 0xF5, 0xFD, 0x3F, 0x9D, 0x7D, 0xA1, 0xFB, 0x0C, 0xFE, 0xD1, 0x27, 0x45, 0xF0, 0xB6, 0x9B, 0xE1, 0x0F, 0x12, 0x7D, 0xA2, 0xCE, 0x26, 0x05, 0xB4, 0x0B, 0xEB, 0x84, 0xD9, 0x05, 0xCC, 0x05, 0xB0, 0x90, 0x6E, 0x3C, 0x70, 0xDB, 0xD6, 0x36, 0xFB, 0xA4, 0x2E, 0xC0, 0x43, 0x28, 0x0F, 0x97, 0xFB, 0x3F, 0x7E, 0xC8, 0x1A, 0x3E, 0x9B, 0xE0, 0x8D, 0x43, 0xE2, 0x6F, 0xC5, 0x28, 0xD2, 0xCF, 0xC2, 0x9E, 0x1F, 0xB6, 0x17, 0x16, 0x9A, 0x2B, 0x80, 0xB2, 0x6A, 0x52, 0x11, 0xFB, 0x88, 0xDD, 0x0F, 0xFC, 0xF4, 0x3B, 0x42, 0xC6, 0x70, 0x30, 0x77, 0x49, 0x84, 0xF9, 0x5B, 0x73, 0xF6, 0x3A, 0xD1, 0x6E, 0x7F, 0x69, 0x6F, 0x89, 0x5E, 0x22, 0xF8, 0xA1, 0xAE, 0x5B, 0xC4, 0xDA, 0x75, 0xBD, 0xC3, 0x69, 0x7A, 0x2D, 0x98, 0x4C, 0xDB, 0x0D, 0xA8, 0x03, 0xB2, 0x03, 0xD5, 0x23, 0x42, 0x88, 0xB9, 0x18, 0x24, 0xB3, 0x1F, 0x9D, 0x49, 0xAF, 0x8C, 0xE2, 0x8C, 0xD3, 0x0B, 0x8A, 0xC2, 0xD4, 0x56, 0xBC, 0x29, 0xFD, 0xAE, 0xF3, 0xE9, 0x18, 0xF7, 0xFE, 0xF3, 0xDA, 0xDB, 0x6A, 0x7A, 0xBC, 0x2B, 0x81, 0xC4, 0x61, 0x31, 0xF1, 0x71, 0x7E, 0xFD, 0x4D, 0xE3, 0xFD, 0xCD, 0x1B, 0x94, 0xBB, 0x7F, 0x75, 0x6F, 0x76, 0xAF, 0xD9, 0xFD, 0x38, 0xB7, 0x60, 0xE3, 0x3D, 0x7A, 0x1E, 0x6A, 0x3B, 0x89, 0x16, 0x64, 0xC7, 0x3D, 0x3F, 0x84, 0xF3, 0x59, 0x2F, 0xE0, 0x9B, 0x8F, 0x0E, 0x2B, 0x36, 0x97, 0x74, 0xAB, 0x66, 0xBC, 0xFD, 0x92, 0xE9, 0xC9, 0x8E, 0x15, 0xF4, 0x8E, 0x4E, 0x59, 0x00, 0xE4, 0xED, 0x60, 0xEA, 0x00, 0x0A, 0xBB, 0x07, 0x42, 0xD2, 0xE6, 0xED, 0x6D, 0x62, 0x9A, 0xE2, 0xC3, 0x51, 0xB1, 0x5B, 0x84, 0x12, 0x20, 0xB9, 0x80, 0xC7, 0xBD, 0x4F, 0x20, 0x83, 0xD0, 0xF1, 0xCE, 0x01, 0xC8, 0xCE, 0x08, 0x07, 0x8A, 0xFC, 0xB6, 0x9D, 0x68, 0x4F, 0x63, 0xF6, 0x3F, 0x67, 0x18, 0xB5, 0xAE, 0xA4, 0x17, 0xBA, 0x1D, 0xD0, 0x8F, 0xCE, 0x55, 0x95, 0x63, 0x62, 0x54, 0xCC, 0xC7, 0xE6, 0x27, 0x03, 0x80, 0x7A, 0x7E, 0x5C, 0xF4, 0xAC, 0x2D, 0x4B, 0x4C, 0x86, 0xD0, 0x31, 0x68, 0xCC, 0xA7, 0xB0, 0xC6, 0xFC, 0xFD, 0x06, 0x00, 0xFC, 0xC5, 0x75, 0x97, 0x5A, 0xA3, 0x49, 0xA7, 0xAC, 0x2D, 0x33, 0x18, 0x10, 0x97, 0x54, 0x2D, 0xF2, 0xA9, 0x38, 0xC9, 0xFC, 0x70, 0x2B, 0x9D, 0xD5, 0xEF, 0x20, 0x93, 0x72, 0x2C, 0x8A, 0x1B, 0x19, 0xC6, 0x7F, 0x9D, 0x75, 0x26, 0xFA, 0x1A, 0x53, 0x9C, 0xAF, 0x69, 0x3B, 0x1E, 0x53, 0xE3, 0x9D, 0x17, 0x52, 0xF1, 0x56, 0xA1, 0x24, 0x23, 0x16, 0x56, 0xAC, 0xDF, 0xBC, 0x21, 0xB7, 0x4B, 0x22, 0xFF, 0x00, 0x77, 0x8E, 0x00, 0xF6, 0xE6, 0xBE, 0x2F, 0xFD, 0xB4, 0xBE, 0x22, 0xFF, 0x00, 0xC2, 0xD1, 0xF8, 0x87, 0x63, 0xF0, 0xC7, 0xC2, 0xE1, 0x64, 0xD3, 0xF4, 0x9D, 0x42, 0x3B, 0x59, 0x76, 0x9C, 0x8B, 0xED, 0x55, 0x9B, 0xCB, 0x09, 0x9E, 0xEB, 0x0B, 0x3E, 0xDF, 0x43, 0x21, 0x7E, 0x0E, 0xC4, 0x35, 0xF4, 0xA7, 0xED, 0xD3, 0xFB, 0x47, 0xB7, 0xEC, 0xF1, 0xF0, 0x66, 0xE2, 0xEB, 0x4B, 0xB8, 0x11, 0xF8, 0x8B, 0x5E, 0x9C, 0x69, 0x3A, 0x4B, 0x8F, 0xBD, 0x04, 0xAE, 0xAC, 0xCF, 0x38, 0xFF, 0x00, 0xAE, 0x71, 0xA3, 0xB0, 0x3D, 0x37, 0xF9, 0x60, 0xF5, 0xAF, 0x93, 0x3F, 0xE0, 0x9E, 0xFE, 0x0A, 0x8B, 0xC5, 0x3F, 0xB5, 0xB7, 0x81, 0xE0, 0x91, 0x7C, 0xCB, 0x6D, 0x32, 0xE2, 0x5D, 0x52, 0x62, 0x7E, 0x66, 0x1F, 0x67, 0x86, 0x49, 0x11, 0xB9, 0xE4, 0x9F, 0x38, 0x45, 0xEF, 0x93, 0xEB, 0x5E, 0xA5, 0x14, 0xE3, 0x4F, 0xDA, 0x4B, 0x65, 0xB1, 0xC3, 0x8E, 0xC5, 0x46, 0x75, 0x3D, 0x85, 0x3F, 0x2B, 0xBF, 0xC9, 0x7E, 0xA7, 0xE8, 0x57, 0x83, 0xFE, 0x18, 0x2F, 0xF6, 0x3D, 0xD6, 0x93, 0x77, 0x1C, 0xF6, 0xFA, 0x6F, 0x85, 0x6E, 0xA0, 0xD3, 0xFC, 0x3D, 0xE6, 0x45, 0x8F, 0xB3, 0xC1, 0x6F, 0x67, 0x14, 0x02, 0x74, 0x1C, 0x6E, 0x2E, 0x4C, 0xB8, 0x63, 0x9D, 0xBD, 0x57, 0x04, 0x03, 0x5B, 0x3A, 0x07, 0x82, 0x74, 0xFF, 0x00, 0x87, 0xD6, 0xD7, 0x91, 0x69, 0x71, 0xAD, 0xBD, 0x85, 0xCB, 0x89, 0x23, 0x83, 0x73, 0x37, 0x96, 0xC5, 0x9E, 0x49, 0x0E, 0xE6, 0x24, 0x9D, 0xCF, 0x23, 0x1F, 0x6C, 0xE0, 0x60, 0x00, 0x2A, 0x1F, 0x87, 0x7A, 0xD6, 0xA5, 0xAA, 0x7C, 0x36, 0xD2, 0xAF, 0x35, 0x86, 0xB9, 0x8F, 0x50, 0xD4, 0x8C, 0xB7, 0x73, 0x47, 0x34, 0x7E, 0x5B, 0xDB, 0xA3, 0xCA, 0xEE, 0x91, 0x15, 0x20, 0x11, 0xB1, 0x0A, 0x2E, 0x08, 0xCF, 0xCB, 0xCD, 0x51, 0xF8, 0x83, 0xE3, 0x38, 0xF4, 0xDB, 0x59, 0x39, 0xC6, 0x17, 0x00, 0x03, 0xD0, 0x7F, 0xFA, 0xAB, 0xCF, 0xC3, 0xD3, 0x75, 0x1A, 0xB6, 0xEF, 0xF5, 0x3D, 0xAA, 0x95, 0x27, 0x4D, 0xCE, 0x13, 0x69, 0x46, 0x3A, 0x69, 0xB7, 0xBB, 0xA6, 0x9F, 0xE7, 0xE6, 0xFB, 0x9E, 0x25, 0xFB, 0x5D, 0x78, 0x89, 0xBC, 0x43, 0x79, 0x0D, 0x85, 0xAF, 0xCC, 0x2C, 0x93, 0xCC, 0x94, 0x0E, 0xA5, 0x9B, 0x1C, 0x7E, 0x0A, 0x07, 0xFD, 0xF4, 0x6B, 0xE7, 0xAF, 0x19, 0x58, 0xEA, 0x1E, 0x21, 0x1B, 0x61, 0xB7, 0x6B, 0x7F, 0xB4, 0x1F, 0x99, 0xA5, 0x38, 0xDA, 0x80, 0x7C, 0xCC, 0xDE, 0x8A, 0x32, 0x7E, 0xBC, 0x0E, 0xF5, 0xEE, 0x1A, 0x8E, 0x87, 0xA9, 0x6A, 0x53, 0x5C, 0x5F, 0x5E, 0x42, 0xD1, 0xCD, 0x70, 0xC5, 0xD8, 0xCA, 0x76, 0xAC, 0x60, 0x9C, 0x9E, 0x7D, 0x07, 0xB6, 0x78, 0xAF, 0x0F, 0xF8, 0xE1, 0xE3, 0x49, 0x85, 0xAC, 0xDA, 0x5E, 0x89, 0x04, 0xD3, 0x2B, 0x7F, 0xAF, 0xBC, 0x2B, 0xB5, 0x65, 0x23, 0x8F, 0x94, 0xFA, 0x0E, 0x71, 0xD8, 0x73, 0xD4, 0x92, 0x6B, 0xF4, 0x8C, 0xA2, 0x9F, 0xB3, 0xA7, 0x1A, 0x70, 0x3F, 0x1C, 0xE2, 0x6A, 0xD1, 0xAD, 0x5A, 0x75, 0xA7, 0xB7, 0x44, 0x78, 0xCF, 0xC4, 0x6D, 0x62, 0x27, 0xD6, 0x52, 0xCE, 0xC5, 0xA4, 0x92, 0xD7, 0x4D, 0x21, 0x77, 0xFF, 0x00, 0xCF, 0x57, 0xCF, 0x2D, 0xF9, 0xD5, 0x58, 0x6E, 0xDA, 0xE1, 0xA6, 0xB8, 0x99, 0x82, 0xAB, 0xB3, 0x4A, 0xC7, 0xFB, 0xA0, 0x7F, 0xFA, 0xAA, 0x49, 0x3C, 0x3C, 0xD6, 0xD8, 0xF3, 0x1D, 0x7D, 0x58, 0x0E, 0x49, 0xFC, 0x6B, 0xC4, 0xBF, 0x6A, 0xEF, 0xDA, 0x02, 0xDB, 0xC2, 0x51, 0x0F, 0x0D, 0xD8, 0x5E, 0x2C, 0x37, 0xF3, 0xED, 0x92, 0xF6, 0x48, 0xCF, 0xCD, 0x6E, 0x9D, 0x56, 0x31, 0xFE, 0xD3, 0x60, 0x13, 0xE8, 0xBD, 0xBE, 0x70, 0x6B, 0xE9, 0xA5, 0x38, 0xD3, 0x8D, 0xE4, 0x7E, 0x75, 0x37, 0x27, 0x27, 0x26, 0x7A, 0xF7, 0x85, 0xEE, 0x74, 0x5B, 0xBF, 0x13, 0x6A, 0x53, 0x5B, 0xEA, 0x57, 0x36, 0x7A, 0x96, 0xB9, 0x1A, 0x68, 0xEE, 0x61, 0x8F, 0xED, 0x6F, 0x23, 0xBB, 0x05, 0x86, 0xDE, 0x38, 0xB2, 0x18, 0xCC, 0xDB, 0x8F, 0x08, 0xCA, 0x36, 0xA9, 0xC8, 0x3C, 0x63, 0xF5, 0x67, 0xF6, 0x73, 0xFD, 0x8E, 0x47, 0x86, 0x2C, 0xE3, 0xF1, 0x07, 0xC4, 0x2F, 0x2F, 0xC4, 0x1E, 0x32, 0xBE, 0x61, 0x75, 0x72, 0x97, 0x04, 0x4D, 0x0D, 0xAC, 0xC7, 0x19, 0x2C, 0x07, 0xCB, 0x2C, 0xD9, 0xEA, 0xDC, 0xA2, 0x90, 0x02, 0x0C, 0x28, 0x76, 0xFE, 0x7B, 0x7E, 0x0D, 0x7E, 0xD2, 0x97, 0xDF, 0x06, 0xBE, 0x2B, 0x78, 0x77, 0xC5, 0x9A, 0x56, 0xA1, 0xA8, 0x5B, 0xEB, 0x1E, 0x1D, 0xD4, 0x63, 0xBB, 0xB3, 0xBA, 0x55, 0x59, 0x9E, 0x06, 0xCF, 0x3B, 0x56, 0x40, 0x54, 0xE4, 0x13, 0xF2, 0xB0, 0xC3, 0x67, 0x07, 0xAD, 0x7E, 0xDB, 0x7E, 0xCD, 0xDF, 0xF0, 0x57, 0x79, 0x7C, 0x69, 0xF0, 0xCB, 0x4B, 0xD6, 0xBC, 0x75, 0xE0, 0x5D, 0x72, 0xD6, 0xC3, 0x50, 0x8B, 0x7D, 0xB7, 0x89, 0x74, 0x6B, 0x46, 0x6D, 0x1A, 0xFC, 0x0E, 0x18, 0xEE, 0x90, 0x84, 0x8D, 0xD5, 0xB2, 0xAE, 0x9E, 0x6B, 0x6D, 0x60, 0x41, 0xD8, 0x41, 0x51, 0xF9, 0xBF, 0x1C, 0x4E, 0x55, 0xE7, 0x4D, 0xC2, 0x3E, 0xEC, 0x6F, 0xAF, 0x9B, 0xFF, 0x00, 0x86, 0xFC, 0x4F, 0xD7, 0xBC, 0x2B, 0x84, 0xBD, 0x8E, 0x21, 0x42, 0x4B, 0x9E, 0x4E, 0x37, 0x8D, 0xD2, 0x95, 0x95, 0xF5, 0x5D, 0xD5, 0xDB, 0xBD, 0xBB, 0x1F, 0x69, 0x5C, 0x20, 0xFB, 0xC7, 0xAD, 0x7C, 0xD5, 0xFF, 0x00, 0x05, 0x19, 0x82, 0x3B, 0xDF, 0x05, 0x78, 0x7E, 0xDE, 0x50, 0x1A, 0x39, 0xE7, 0xB9, 0x56, 0x1E, 0xA3, 0xCA, 0x00, 0xFF, 0x00, 0x3A, 0xE8, 0x4F, 0xFC, 0x14, 0x3F, 0xC0, 0xB7, 0x76, 0x8B, 0x25, 0xBD, 0x9F, 0x88, 0xAE, 0x16, 0x41, 0x91, 0xB2, 0x08, 0x39, 0xFC, 0x7C, 0xEC, 0x57, 0x88, 0xFE, 0xD6, 0xBF, 0xB4, 0xC6, 0x9B, 0xF1, 0x8E, 0xC3, 0x4D, 0x16, 0x9A, 0x6D, 0xE6, 0x9D, 0x6B, 0xA4, 0xAD, 0xC4, 0x8D, 0x3D, 0xDC, 0x89, 0x97, 0xDE, 0xAB, 0xD5, 0x54, 0x90, 0xA0, 0x6C, 0x3C, 0xEE, 0x3D, 0x7B, 0x57, 0xC0, 0x4A, 0x4B, 0x96, 0xC7, 0xEB, 0x98, 0x7A, 0x55, 0x14, 0xD5, 0xD5, 0x8F, 0xAD, 0xFC, 0x11, 0x1E, 0xCF, 0x00, 0xE8, 0x4B, 0x9D, 0xDB, 0x74, 0xDB, 0x61, 0x93, 0xDF, 0xF7, 0x4B, 0x54, 0x3C, 0x4F, 0xAC, 0xF9, 0x36, 0xD7, 0x56, 0xED, 0x8F, 0x99, 0x08, 0x43, 0x9E, 0x99, 0xAD, 0x8D, 0x12, 0xC5, 0xB4, 0xDF, 0x0D, 0xE9, 0xF6, 0xFB, 0x7F, 0xE3, 0xDE, 0xCE, 0x18, 0xC8, 0xC7, 0xDD, 0xDA, 0x80, 0x7F, 0x4A, 0xE7, 0xAE, 0xE0, 0x87, 0x5D, 0xF1, 0x10, 0xB5, 0x50, 0xF2, 0x93, 0x8F, 0x33, 0x68, 0xCE, 0xD5, 0xF5, 0xAF, 0x67, 0x2F, 0x8F, 0x34, 0xAF, 0x23, 0xC0, 0xCE, 0xAB, 0x7B, 0x3A, 0x4F, 0x95, 0xFF, 0x00, 0x4C, 0xF3, 0x0F, 0x8B, 0x16, 0x57, 0xD6, 0xDF, 0x0E, 0xE3, 0x9C, 0x99, 0x3E, 0xC8, 0xB7, 0x10, 0x96, 0x24, 0xFC, 0xBF, 0x34, 0x81, 0x7F, 0x9E, 0x2B, 0xCE, 0xB5, 0x2D, 0x53, 0xFB, 0x36, 0xD2, 0x4B, 0x85, 0xDD, 0x9B, 0x64, 0xF3, 0x46, 0x0E, 0x3E, 0xE8, 0xCF, 0xF4, 0xAF, 0xA6, 0xFF, 0x00, 0x6B, 0x5F, 0x87, 0x96, 0xFE, 0x1A, 0xF8, 0x0C, 0x66, 0xF3, 0xA4, 0xF3, 0xC4, 0xD6, 0x76, 0xC8, 0x14, 0x61, 0x72, 0x26, 0x49, 0x09, 0x23, 0xE8, 0x8D, 0xFF, 0x00, 0x7D, 0x57, 0xC9, 0x7E, 0x2E, 0xBA, 0xFB, 0x3F, 0x86, 0xAE, 0xB7, 0x37, 0x33, 0x47, 0xE5, 0x7F, 0xDF, 0x5C, 0x7F, 0x2C, 0xD7, 0xE9, 0xDC, 0x3F, 0x6C, 0x45, 0x06, 0xD7, 0xF3, 0x5B, 0xF0, 0x47, 0xE4, 0x59, 0xC4, 0x25, 0x42, 0xAD, 0x9B, 0xBD, 0x92, 0xFD, 0x4F, 0xD3, 0x05, 0xBC, 0x8F, 0x51, 0x4F, 0x3A, 0x09, 0x16, 0x48, 0xA4, 0x3B, 0xD5, 0x94, 0xE4, 0x10, 0x79, 0xA6, 0xC8, 0xD9, 0xFC, 0x0F, 0x39, 0x15, 0xC5, 0xFC, 0x02, 0xF1, 0x58, 0xF1, 0x3F, 0xC0, 0x7F, 0x06, 0xDF, 0x42, 0xC9, 0x73, 0x34, 0xDA, 0x35, 0x87, 0xDA, 0x0A, 0xBE, 0x76, 0x49, 0xE4, 0x47, 0xE6, 0x82, 0x7F, 0xBC, 0xAD, 0xBB, 0x23, 0xAE, 0x47, 0x6C, 0xD7, 0x5F, 0x2B, 0x65, 0x5B, 0x27, 0x8E, 0x4D, 0x7E, 0x6D, 0x5A, 0x9B, 0x85, 0x49, 0x41, 0xF4, 0x6D, 0x1F, 0xA0, 0x61, 0xE5, 0xCF, 0x4E, 0x32, 0x5D, 0x52, 0x3E, 0x7A, 0xFF, 0x00, 0x82, 0x80, 0xAA, 0xAF, 0x85, 0xBC, 0x37, 0x2A, 0x8C, 0x15, 0xBC, 0x96, 0x3F, 0xC0, 0xC7, 0x9F, 0xE9, 0x5F, 0x28, 0xF8, 0x88, 0x24, 0xDA, 0x63, 0x2C, 0x8D, 0xF2, 0xF4, 0x07, 0xD0, 0xF6, 0xAF, 0xA7, 0xBF, 0xE0, 0xA0, 0xDA, 0x94, 0xCB, 0x61, 0xE1, 0xBB, 0x5F, 0x25, 0x5A, 0xD6, 0x49, 0xE5, 0x9B, 0xCE, 0xDF, 0xCA, 0xBA, 0xAE, 0x36, 0xED, 0xC7, 0x70, 0x49, 0xCE, 0x7B, 0x63, 0x15, 0xF2, 0x8F, 0x8D, 0x2E, 0x5B, 0xFB, 0x1C, 0x2A, 0x83, 0xB9, 0x9C, 0x70, 0x3F, 0xCF, 0xB5, 0x7E, 0x9F, 0xC2, 0xF4, 0xDB, 0xCB, 0xA2, 0x9F, 0x77, 0xF9, 0x9F, 0x03, 0xC4, 0xD5, 0x79, 0x31, 0x53, 0x94, 0x7A, 0x25, 0xF9, 0x14, 0xEF, 0xBC, 0x56, 0xB7, 0x7A, 0x75, 0xBE, 0x39, 0x95, 0x06, 0xC7, 0xFA, 0x8E, 0x2A, 0x5F, 0x0F, 0xF8, 0xB6, 0x4B, 0x88, 0x5A, 0xDC, 0xCA, 0xD1, 0x4C, 0xA0, 0x98, 0x58, 0x37, 0x4F, 0x6A, 0xE4, 0x8C, 0xDE, 0x4C, 0xF3, 0x2F, 0x66, 0x6D, 0xDD, 0x78, 0xAA, 0x77, 0x3A, 0x83, 0x5B, 0xCC, 0x19, 0x1B, 0x0C, 0x84, 0x1E, 0xB5, 0xEF, 0x47, 0x0F, 0x0E, 0x5E, 0x53, 0xF3, 0x5A, 0x79, 0xA5, 0x4A, 0x75, 0xBD, 0xAF, 0x47, 0xBA, 0x3F, 0x2A, 0xF3, 0xB6, 0xB5, 0xBC, 0x0D, 0xC7, 0x8E, 0xB4, 0x5F, 0xFB, 0x08, 0x5B, 0xFF, 0x00, 0xE8, 0xC5, 0xAC, 0x82, 0x72, 0x38, 0xEF, 0xED, 0x5F, 0x5B, 0x7E, 0xC0, 0x9F, 0xF0, 0x4A, 0x0F, 0x89, 0x9F, 0xB5, 0x67, 0x89, 0xB4, 0xBD, 0x73, 0xEC, 0x32, 0x78, 0x77, 0xC2, 0x76, 0x97, 0x31, 0xDC, 0xC9, 0xA8, 0xDE, 0xA9, 0x8C, 0x3A, 0xA3, 0x06, 0xF9, 0x14, 0xF2, 0x73, 0x8E, 0xB5, 0xE7, 0xD7, 0xA9, 0x18, 0x41, 0xB9, 0xB3, 0x2C, 0x16, 0x16, 0xAE, 0x22, 0xB2, 0x85, 0x18, 0xB6, 0xEE, 0xB6, 0xF5, 0x3F, 0x6A, 0x74, 0x56, 0x51, 0xA1, 0xDB, 0x96, 0x60, 0x14, 0x42, 0x99, 0x27, 0xB0, 0xDB, 0x5F, 0x31, 0xFC, 0x66, 0xF8, 0x9D, 0x27, 0xC4, 0xAF, 0x1F, 0xBD, 0xB4, 0x72, 0x32, 0x69, 0x1A, 0x53, 0x15, 0x8D, 0x3B, 0x39, 0x07, 0x05, 0x8D, 0x7A, 0xE7, 0xED, 0x2F, 0xF1, 0xDB, 0x42, 0xF8, 0x7B, 0xE0, 0xD9, 0xBC, 0x37, 0xE1, 0xF9, 0x5A, 0xF7, 0x56, 0x99, 0x05, 0xBC, 0xB7, 0x7F, 0xC3, 0x10, 0x03, 0x0D, 0x8F, 0x7A, 0xF1, 0x8F, 0xD9, 0xA3, 0xE1, 0xCC, 0x9F, 0x14, 0x7C, 0x6D, 0xFD, 0x92, 0xB6, 0x8D, 0x70, 0x2E, 0xA2, 0x63, 0x24, 0x9B, 0xB6, 0x8B, 0x73, 0xD9, 0xC9, 0xF6, 0x3D, 0xBB, 0xD7, 0x83, 0xC3, 0x79, 0x37, 0xD5, 0x21, 0x3C, 0xC3, 0x17, 0xA5, 0xB6, 0xF2, 0xF3, 0xFF, 0x00, 0x23, 0xF6, 0xAE, 0x24, 0xCE, 0xDE, 0x25, 0xC3, 0x2F, 0xC2, 0xBD, 0xF7, 0xF3, 0xEC, 0xBD, 0x3B, 0x9B, 0x7E, 0x05, 0xB1, 0xD2, 0xE6, 0x56, 0xBF, 0xD5, 0x66, 0x63, 0x6F, 0x6C, 0xC0, 0x2D, 0xAC, 0x7C, 0xC9, 0x72, 0xDE, 0x9E, 0xC2, 0xBD, 0x03, 0x54, 0xD4, 0xFC, 0x6D, 0xF1, 0x7E, 0xC5, 0x6C, 0x74, 0x9D, 0x3D, 0xB4, 0x3D, 0x06, 0x15, 0x01, 0x51, 0x46, 0xC5, 0x2B, 0xEE, 0x7A, 0x9A, 0xF6, 0x8F, 0x0C, 0xFE, 0xC8, 0x5A, 0x2F, 0xC3, 0x4F, 0x0F, 0xAC, 0xD1, 0x8F, 0xED, 0x0B, 0xD8, 0xC6, 0x5E, 0x59, 0x06, 0xE3, 0x9F, 0x61, 0x5B, 0xF6, 0xD6, 0x0F, 0x1E, 0x96, 0xD1, 0xF9, 0x2C, 0xB8, 0x5E, 0x80, 0x63, 0x02, 0xBC, 0x7C, 0xE3, 0x8C, 0x20, 0xEA, 0x73, 0x61, 0xA0, 0xA4, 0xFA, 0x39, 0x74, 0xF4, 0x5F, 0xE6, 0x7A, 0x39, 0x3F, 0x0C, 0x29, 0xD0, 0x4E, 0xAD, 0x4E, 0x54, 0xFE, 0x25, 0x1D, 0xDF, 0xAB, 0xFF, 0x00, 0x23, 0x96, 0xF8, 0x59, 0xF0, 0x23, 0x4F, 0xD7, 0xBC, 0x15, 0xE1, 0xAF, 0x0C, 0xEB, 0x0A, 0x2E, 0x21, 0x8E, 0x57, 0xBC, 0x9C, 0x03, 0xC4, 0x8F, 0xCE, 0x2B, 0x8C, 0xFD, 0xAC, 0x4E, 0x85, 0xF0, 0x5A, 0xDA, 0x3F, 0x08, 0xF8, 0x64, 0xA2, 0x4D, 0x74, 0x4C, 0xD7, 0x2A, 0x98, 0xFF, 0x00, 0x46, 0x8C, 0xFF, 0x00, 0x0E, 0x7D, 0xCD, 0x76, 0x1F, 0x13, 0x3E, 0x26, 0x8F, 0x83, 0x9E, 0x1E, 0xB7, 0xD6, 0x99, 0xB6, 0xB5, 0xB4, 0x6E, 0x23, 0x5F, 0xEF, 0xB6, 0x38, 0x15, 0xF2, 0x8E, 0xA1, 0xE2, 0x4B, 0xEF, 0x1A, 0xEA, 0xF7, 0x5A, 0xC6, 0xA5, 0x23, 0x4D, 0x7B, 0xA9, 0x48, 0x65, 0x76, 0x63, 0x9C, 0x03, 0xD0, 0x0F, 0x61, 0x5E, 0x8E, 0x53, 0x97, 0xD6, 0xC6, 0xE2, 0xFE, 0xB3, 0x88, 0x6D, 0xD3, 0x8D, 0x9D, 0xBA, 0x39, 0x6E, 0x71, 0xF1, 0x16, 0x22, 0x38, 0x0B, 0x51, 0xC2, 0x3B, 0x36, 0x9A, 0xF3, 0x4B, 0xD7, 0xCC, 0x62, 0x3E, 0x05, 0x60, 0xF8, 0xB3, 0x51, 0x9A, 0xEA, 0x68, 0xAC, 0x6D, 0x55, 0xA6, 0x96, 0x52, 0x17, 0x62, 0x0C, 0xB3, 0x13, 0xD0, 0x01, 0x5B, 0x57, 0x53, 0x18, 0x61, 0x25, 0x57, 0x73, 0x74, 0x50, 0x3A, 0x93, 0xDA, 0xBD, 0xC7, 0xF6, 0x5B, 0xFD, 0x9B, 0x5B, 0xC3, 0xFB, 0x7C, 0x51, 0xE2, 0x08, 0x3F, 0xE2, 0x61, 0x30, 0xDF, 0x6F, 0x1C, 0xA3, 0x8B, 0x75, 0xF5, 0x3E, 0xFF, 0x00, 0xCA, 0xBE, 0xAF, 0x35, 0xCD, 0xA9, 0x60, 0x29, 0x7B, 0x49, 0xEA, 0xFA, 0x2E, 0xEF, 0xFC, 0xBB, 0x9F, 0x2D, 0x94, 0xE5, 0x55, 0xB3, 0x0A, 0xDE, 0xCA, 0x1A, 0x2E, 0xAF, 0xB2, 0x2C, 0xFE, 0xCE, 0x9F, 0xB1, 0x45, 0xBF, 0x82, 0x7C, 0x3E, 0x3C, 0x6D, 0xE3, 0xC8, 0x63, 0x68, 0xED, 0x61, 0x6B, 0xC8, 0xED, 0x24, 0x1B, 0xA1, 0xB4, 0x44, 0x5D, 0xE6, 0x49, 0x47, 0x46, 0x20, 0x0C, 0xE0, 0xF0, 0x3D, 0xCF, 0x4F, 0x0C, 0xD1, 0x7E, 0x23, 0xF8, 0x7F, 0x5B, 0xF1, 0x3E, 0xA9, 0xF1, 0x8B, 0xE2, 0x53, 0x34, 0xF6, 0xFA, 0xC5, 0xE4, 0x92, 0x78, 0x6F, 0xC3, 0xC1, 0x7C, 0xC9, 0x2F, 0x92, 0x13, 0xB1, 0x24, 0x91, 0x49, 0x0A, 0x2D, 0xA1, 0xDA, 0x17, 0x2C, 0x42, 0xC9, 0x28, 0x71, 0xC8, 0x56, 0x0D, 0xEC, 0x7F, 0xB6, 0x9F, 0xED, 0x9B, 0x75, 0x73, 0xF0, 0xDF, 0x52, 0xF8, 0x5F, 0xE1, 0x35, 0x93, 0x58, 0xD6, 0xFC, 0x4C, 0xA3, 0x4B, 0x76, 0xB6, 0x52, 0xDE, 0x42, 0x48, 0x40, 0x74, 0x04, 0x7D, 0xE6, 0x65, 0xCA, 0xE0, 0x74, 0x0C, 0x6B, 0xD0, 0xBF, 0x60, 0xAF, 0xF8, 0x26, 0x76, 0x8D, 0xF0, 0xEA, 0xC3, 0x4F, 0xF1, 0x27, 0x8F, 0x23, 0x8B, 0x5C, 0xF1, 0x34, 0x71, 0xA1, 0xB2, 0xB2, 0x9B, 0x12, 0xDA, 0xE9, 0x58, 0xFB, 0xAC, 0x41, 0xC8, 0x92, 0x61, 0xD4, 0x13, 0xF2, 0xA1, 0xFB, 0xA3, 0x20, 0x30, 0xF8, 0x88, 0xE2, 0xE7, 0x4A, 0x85, 0x4C, 0xC3, 0x36, 0x93, 0x53, 0xAB, 0xEE, 0xC6, 0x2B, 0x49, 0x72, 0x6E, 0xD4, 0x7F, 0x95, 0x49, 0xD9, 0x37, 0x6B, 0xD9, 0x3B, 0x6A, 0xCE, 0x9C, 0xC2, 0x2E, 0x95, 0x78, 0xE0, 0xF0, 0x6A, 0x32, 0x85, 0x37, 0x77, 0x2D, 0xD7, 0x37, 0x47, 0x2F, 0xE6, 0x69, 0x74, 0xBD, 0xAF, 0xB9, 0xE2, 0x3E, 0x21, 0xF0, 0xDF, 0xC4, 0x0F, 0xDA, 0x0F, 0xE1, 0x5E, 0xBD, 0xF1, 0x13, 0xC7, 0xD6, 0x77, 0x3A, 0x47, 0x84, 0xB4, 0x4B, 0x09, 0xEF, 0x3C, 0x35, 0xE1, 0x60, 0x19, 0x5F, 0x57, 0xBD, 0x64, 0x29, 0x6F, 0x24, 0xE0, 0x80, 0xCC, 0x8D, 0x2B, 0x46, 0x37, 0x38, 0x5F, 0x33, 0x38, 0x54, 0x58, 0xCE, 0x1B, 0xEA, 0xDF, 0x81, 0x9F, 0x04, 0x2D, 0xFE, 0x07, 0x7C, 0x1E, 0xF0, 0xEF, 0x84, 0xED, 0x56, 0x3D, 0xBA, 0x1D, 0x92, 0x41, 0x2B, 0x20, 0xF9, 0x66, 0x9C, 0xE5, 0xA6, 0x93, 0xFE, 0x07, 0x2B, 0x3B, 0x7F, 0xC0, 0xAB, 0xD9, 0xFE, 0x20, 0xFC, 0x0B, 0xB2, 0xF1, 0x5F, 0x85, 0x15, 0xA5, 0xBB, 0x49, 0x21, 0x8A, 0xF6, 0xD2, 0xF8, 0xA7, 0x0C, 0x19, 0xA0, 0xB9, 0x8E, 0x75, 0xCF, 0xFC, 0x0E, 0x25, 0xFC, 0xAA, 0xBC, 0xFE, 0x14, 0x68, 0xF4, 0x5F, 0xB7, 0x24, 0x90, 0xCD, 0x08, 0x6D, 0x8D, 0xB4, 0xFC, 0xC8, 0xC4, 0xE3, 0x04, 0x1E, 0xF9, 0xC7, 0xE6, 0x2B, 0xE1, 0xB3, 0xAC, 0xCB, 0x17, 0x89, 0xA5, 0x1A, 0x3C, 0x8A, 0x30, 0xBD, 0xD4, 0x63, 0xB2, 0x56, 0xB2, 0xF5, 0x7A, 0xBB, 0xB7, 0xAB, 0xB9, 0xEB, 0xE5, 0x35, 0xB0, 0xF4, 0x6A, 0xBC, 0x47, 0x3B, 0x94, 0xDE, 0x8E, 0x52, 0xDD, 0xB7, 0xAB, 0xF2, 0x4B, 0x45, 0x64, 0xB4, 0x56, 0x39, 0xBF, 0x0F, 0x7C, 0x3E, 0xFF, 0x00, 0x84, 0x83, 0xCE, 0x69, 0x7F, 0xE3, 0xDE, 0xDF, 0x19, 0x42, 0x71, 0xE7, 0xB1, 0x3C, 0x27, 0xD3, 0xB9, 0xF6, 0x18, 0xEF, 0x49, 0xF1, 0x2B, 0xE2, 0x24, 0x7E, 0x1D, 0xD7, 0xB4, 0xFF, 0x00, 0x08, 0x5B, 0x4C, 0xCF, 0xE2, 0x5F, 0x10, 0x5B, 0xBD, 0xD2, 0xC1, 0x11, 0xDE, 0xFA, 0x7D, 0x92, 0x90, 0xAF, 0x79, 0x27, 0x64, 0x4D, 0xC7, 0xCB, 0x8C, 0x9F, 0xBF, 0x21, 0xE0, 0x30, 0x57, 0xC7, 0x17, 0xF1, 0xFB, 0xE3, 0xB3, 0x7C, 0x1F, 0x4B, 0x1F, 0x0E, 0x78, 0x66, 0xC6, 0x3F, 0x12, 0x7C, 0x46, 0xF1, 0x23, 0x94, 0xD3, 0x74, 0xC5, 0xF9, 0x96, 0x33, 0x8F, 0xF5, 0xD3, 0x74, 0x0B, 0x1A, 0x85, 0x27, 0x92, 0x01, 0x08, 0x49, 0x21, 0x43, 0x30, 0xD9, 0xFD, 0x9C, 0xFF, 0x00, 0x67, 0x1B, 0xCF, 0x85, 0x7A, 0x5E, 0xA9, 0xAA, 0x78, 0x83, 0x54, 0x9F, 0xC4, 0xFE, 0x3A, 0xF1, 0x5C, 0xC9, 0x79, 0xE2, 0x0D, 0x66, 0x63, 0x9F, 0xB4, 0x48, 0xA3, 0x11, 0xC3, 0x10, 0x38, 0xDB, 0x04, 0x4A, 0x4A, 0xA2, 0xE0, 0x75, 0x27, 0x0A, 0x36, 0xA2, 0x70, 0x62, 0x30, 0xF1, 0xC1, 0x61, 0x79, 0xAB, 0xBF, 0x7A, 0x4B, 0xDD, 0x5D, 0x5F, 0x9B, 0xED, 0x15, 0xDF, 0xAB, 0xD1, 0x75, 0x65, 0xE2, 0x31, 0x93, 0xAF, 0x8B, 0x52, 0x93, 0xBC, 0x63, 0xF8, 0x79, 0x7A, 0xBD, 0xFD, 0x0C, 0xBF, 0x11, 0xFC, 0x12, 0xB1, 0xD7, 0x2D, 0x5A, 0x38, 0x6E, 0x35, 0x2D, 0x2E, 0x46, 0x18, 0xF3, 0x2C, 0xE6, 0x1C, 0x7F, 0xC0, 0x24, 0x0F, 0x1F, 0xBE, 0x76, 0xE7, 0xF3, 0x39, 0xE0, 0xD3, 0xF6, 0x57, 0xF1, 0x1D, 0xBB, 0xCC, 0xAB, 0xE3, 0x3B, 0x19, 0x21, 0x90, 0x61, 0x1A, 0x7D, 0x05, 0x9A, 0x61, 0xFE, 0xF3, 0x2D, 0xC8, 0x56, 0x3F, 0x45, 0x5F, 0xA5, 0x7D, 0x30, 0x7C, 0x3A, 0xC5, 0x7E, 0xED, 0x43, 0x3F, 0x87, 0xB3, 0xFC, 0x26, 0xBC, 0x3A, 0x59, 0xA5, 0x7A, 0x6A, 0xD1, 0x96, 0x9F, 0x7F, 0xE6, 0x7B, 0x5F, 0xDA, 0x8A, 0x4E, 0xED, 0x9F, 0x1F, 0xFC, 0x70, 0xFF, 0x00, 0x82, 0x7C, 0xE8, 0x9F, 0x10, 0xFE, 0x01, 0xF8, 0xDA, 0xC7, 0x5C, 0xF3, 0xBC, 0x55, 0xE2, 0x0B, 0x9D, 0x2E, 0xE2, 0x5D, 0x1E, 0xE5, 0xE1, 0x10, 0x9D, 0x2A, 0xEE, 0x38, 0xD9, 0xE0, 0x7B, 0x64, 0x05, 0x8A, 0xC8, 0x64, 0x0A, 0x19, 0x99, 0x98, 0xB2, 0x96, 0x4E, 0x23, 0x77, 0x46, 0xFC, 0xF4, 0xFD, 0x84, 0xE3, 0xD6, 0x3E, 0x08, 0xFC, 0x4C, 0xD6, 0xBC, 0x53, 0xA9, 0x4B, 0xA6, 0x5C, 0x59, 0xB7, 0x82, 0xB5, 0x59, 0xF4, 0xCB, 0x98, 0x2E, 0x63, 0x76, 0x76, 0x8A, 0xE2, 0xD7, 0x79, 0x92, 0x1D, 0xC5, 0xE1, 0x61, 0x88, 0xFE, 0xF8, 0xDA, 0xCB, 0x37, 0xCA, 0xCF, 0x86, 0xDB, 0xFB, 0x7D, 0xAA, 0xAD, 0xB7, 0x85, 0xF4, 0xD9, 0x2F, 0xAF, 0xAE, 0x22, 0xB3, 0xB5, 0xB7, 0xC3, 0x34, 0xD2, 0x1C, 0x2A, 0xFA, 0x7D, 0x49, 0xE8, 0x00, 0xE4, 0x9E, 0x07, 0x35, 0xF9, 0xC5, 0xF1, 0xE3, 0xE1, 0x77, 0xC2, 0xFF, 0x00, 0x81, 0x5A, 0x0F, 0x8C, 0xFC, 0x4D, 0xA0, 0xE8, 0xF7, 0x50, 0xDA, 0xEC, 0x9E, 0xFA, 0x27, 0xBC, 0x9C, 0x8B, 0xA8, 0x70, 0xFB, 0xBC, 0xBB, 0x52, 0x81, 0x1E, 0xD6, 0x2D, 0xED, 0x14, 0x7B, 0x63, 0x61, 0x2B, 0x81, 0x12, 0xBC, 0x81, 0x49, 0x53, 0xEC, 0x65, 0xB9, 0xD5, 0x49, 0x39, 0x42, 0xA5, 0xE5, 0xCD, 0xA7, 0xCF, 0x6D, 0x0E, 0xCC, 0x15, 0x6C, 0x2D, 0x4D, 0x5A, 0x7C, 0xEA, 0x51, 0x6A, 0xDA, 0xA6, 0x95, 0xF9, 0x94, 0xBC, 0xAD, 0xAD, 0xFA, 0x5B, 0xB1, 0xE8, 0x9A, 0x8F, 0xC5, 0x59, 0x5B, 0xE1, 0xA7, 0x87, 0x6F, 0xAF, 0xA6, 0x8F, 0xFB, 0x4F, 0x50, 0xB0, 0x86, 0x69, 0xD9, 0x57, 0x6A, 0x99, 0x0C, 0x68, 0xCF, 0x85, 0xEC, 0x37, 0x13, 0xC5, 0x79, 0xE5, 0xFF, 0x00, 0xC4, 0x05, 0xD6, 0xE7, 0xDD, 0x33, 0xA9, 0xDA, 0x4E, 0x46, 0x7E, 0xF1, 0xAF, 0xCB, 0x6F, 0x88, 0x3F, 0xB6, 0x67, 0xC5, 0x8B, 0x78, 0xAD, 0x74, 0xB6, 0xF1, 0xC6, 0xB0, 0xFE, 0x60, 0x62, 0x81, 0xD6, 0x19, 0x24, 0x86, 0x25, 0xE4, 0xFE, 0xF1, 0x90, 0xBB, 0x63, 0x80, 0x0B, 0x12, 0x49, 0x39, 0xE7, 0x06, 0xBC, 0x87, 0xC7, 0x7F, 0xB4, 0x1F, 0x8E, 0x3C, 0x4A, 0xD2, 0x7F, 0x68, 0x78, 0xBB, 0xC4, 0x17, 0x11, 0x90, 0x4B, 0x44, 0x6F, 0xE4, 0x58, 0xBF, 0xEF, 0x85, 0x21, 0x7F, 0x4A, 0xFD, 0x3B, 0x2F, 0xCB, 0x29, 0xD3, 0x85, 0xE4, 0xF5, 0x3E, 0x3B, 0x38, 0xE3, 0x29, 0xCE, 0xA3, 0xA7, 0x4A, 0x16, 0x8A, 0xE8, 0x7E, 0xB3, 0x7C, 0x6A, 0xF8, 0xFB, 0xA1, 0xF8, 0x5A, 0xCE, 0x47, 0xD6, 0x35, 0x6D, 0x2F, 0x4E, 0x8F, 0x19, 0x26, 0xFE, 0xF1, 0x21, 0xCF, 0xE0, 0xC4, 0x57, 0xC5, 0xBF, 0x1D, 0x7F, 0xE0, 0xA0, 0xBE, 0x0B, 0xD3, 0x67, 0x99, 0x74, 0xB9, 0xAE, 0xFC, 0x4D, 0x7B, 0xCE, 0xD5, 0xB3, 0x43, 0x1D, 0xBA, 0x9F, 0xF6, 0xA5, 0x70, 0x06, 0x3D, 0xD0, 0x3D, 0x7C, 0x3D, 0xA4, 0xEA, 0x7F, 0xF0, 0x92, 0x4B, 0x73, 0x30, 0x50, 0xD2, 0x48, 0xC5, 0x8B, 0x37, 0x65, 0x1C, 0x06, 0x27, 0xF3, 0x3E, 0xE4, 0x9A, 0xAF, 0xAE, 0xCC, 0xBB, 0x85, 0x8D, 0xAF, 0x32, 0x7D, 0xE9, 0x65, 0x3F, 0xC2, 0x3B, 0x93, 0xFD, 0x05, 0x7A, 0xF4, 0x6B, 0x2A, 0x5E, 0xEC, 0x11, 0xF1, 0x98, 0xDC, 0x7D, 0x4C, 0x43, 0xE6, 0x96, 0xC7, 0xA0, 0xF8, 0xF7, 0xF6, 0xCB, 0xF1, 0x8F, 0xC4, 0x9B, 0xBB, 0xA8, 0x2D, 0xEE, 0x21, 0xD0, 0x74, 0xF5, 0x3E, 0x5F, 0x97, 0xA7, 0xE4, 0x4C, 0xE4, 0xE4, 0x9C, 0xCC, 0x7E, 0x7E, 0x3A, 0x7C, 0x9B, 0x6B, 0xC8, 0x6E, 0x10, 0x5E, 0xE9, 0xAD, 0x2C, 0x8C, 0xD2, 0x4F, 0xB8, 0xC8, 0xCE, 0xC7, 0x73, 0x16, 0xDD, 0x92, 0x49, 0xEE, 0x4F, 0x3C, 0xFB, 0xD6, 0x86, 0x9D, 0x65, 0x1D, 0xB5, 0xA4, 0xCD, 0x1B, 0x36, 0xDD, 0xC4, 0x82, 0x7B, 0x80, 0x31, 0x93, 0xF9, 0x56, 0x5D, 0xA4, 0xC1, 0xAC, 0x9A, 0x31, 0xFF, 0x00, 0x3C, 0xD8, 0x9F, 0xAE, 0x2A, 0xE5, 0x52, 0x52, 0xD6, 0x4E, 0xE7, 0x95, 0x2B, 0xEE, 0x59, 0xD6, 0x64, 0x5B, 0x69, 0x97, 0xCB, 0x0A, 0xBF, 0xBB, 0x63, 0x91, 0xEA, 0x30, 0x47, 0xF3, 0x35, 0xFA, 0x6B, 0xFF, 0x00, 0x06, 0xD5, 0xFE, 0xD3, 0xED, 0xE0, 0x0F, 0x8E, 0x1A, 0xF7, 0xC3, 0x5D, 0x46, 0xE1, 0xA1, 0xD2, 0xFE, 0x20, 0x28, 0x36, 0xA8, 0xC7, 0xE5, 0x5D, 0x46, 0x15, 0x79, 0x22, 0x6F, 0x40, 0x25, 0x81, 0x9D, 0x09, 0xEA, 0xCC, 0xB6, 0xEB, 0xDA, 0xBF, 0x2E, 0xB5, 0x8B, 0xA3, 0x2D, 0xEC, 0x31, 0xE7, 0x3B, 0x90, 0x8C, 0x01, 0xCF, 0x38, 0x15, 0xEB, 0xBF, 0xB3, 0x67, 0xC5, 0xDB, 0xEF, 0x84, 0xBF, 0xB4, 0x06, 0x93, 0xAE, 0x68, 0xB3, 0x7D, 0x97, 0x52, 0xD3, 0xEE, 0xED, 0xF5, 0x1D, 0x3E, 0x41, 0xD1, 0x27, 0xB6, 0x75, 0x92, 0x23, 0x8F, 0x41, 0xB5, 0x7F, 0x01, 0x5C, 0x59, 0x86, 0x1D, 0x62, 0x30, 0xF3, 0xA2, 0xFA, 0xAF, 0xC7, 0xA1, 0xE9, 0x64, 0x78, 0xC7, 0x85, 0xC6, 0xD3, 0xAF, 0x1D, 0xD3, 0xFC, 0x1E, 0x87, 0xF4, 0xF1, 0xE2, 0xDF, 0x83, 0x5E, 0x17, 0xCF, 0x99, 0x75, 0xE1, 0xBF, 0x0E, 0xDC, 0x63, 0xE6, 0x66, 0x97, 0x4D, 0x81, 0xCE, 0x7D, 0x79, 0x5A, 0xE7, 0xAD, 0x7E, 0x1F, 0x78, 0x33, 0x4D, 0xBF, 0xF3, 0x2D, 0x7C, 0x3B, 0xE1, 0xAB, 0x7B, 0x96, 0xFE, 0x38, 0x74, 0xE8, 0x15, 0xFF, 0x00, 0x30, 0xB9, 0xAE, 0xA5, 0x7E, 0x22, 0xE9, 0xBF, 0x17, 0x7E, 0x15, 0x68, 0xBE, 0x24, 0xD2, 0xA6, 0x55, 0xD3, 0xFC, 0x53, 0xA5, 0x41, 0xAA, 0x59, 0x82, 0xD9, 0x61, 0x1C, 0xF1, 0x2C, 0x8A, 0xA7, 0xFD, 0xA0, 0x18, 0x03, 0xEE, 0x0D, 0x78, 0x6E, 0x97, 0xAD, 0x4B, 0xA7, 0x6B, 0xA7, 0x2C, 0xC5, 0x95, 0xC8, 0x39, 0x35, 0xF0, 0x78, 0x0C, 0xA5, 0xE2, 0x21, 0x29, 0x37, 0x66, 0xBA, 0x1F, 0xBA, 0xD6, 0xCF, 0x9E, 0x1A, 0x34, 0xF9, 0x95, 0xF9, 0xBA, 0xDC, 0xF7, 0x6B, 0x62, 0x1E, 0xDE, 0x7D, 0xBC, 0x9D, 0xBC, 0x7D, 0x2B, 0x81, 0xF0, 0xF5, 0xE1, 0xD3, 0x7E, 0x38, 0x69, 0x76, 0xB6, 0xEC, 0xA9, 0x25, 0xE2, 0x39, 0x70, 0xC7, 0x87, 0xC7, 0x20, 0x7B, 0x57, 0x55, 0xA5, 0xEB, 0x58, 0xD3, 0xA0, 0x93, 0xA4, 0x92, 0xAE, 0x32, 0x4D, 0x67, 0xF8, 0x4B, 0xE1, 0x0D, 0xD7, 0x89, 0x7C, 0x67, 0x1E, 0xB7, 0x25, 0xC4, 0xD6, 0x72, 0x47, 0xCC, 0x4E, 0xA3, 0xB7, 0x42, 0x2B, 0xB3, 0x2D, 0x8C, 0x68, 0xC6, 0x7E, 0xD7, 0xB3, 0x47, 0x9F, 0x9F, 0xCA, 0x58, 0x99, 0x53, 0x74, 0x3B, 0xA6, 0xFD, 0x0A, 0x3F, 0xB7, 0x87, 0x89, 0x55, 0x3E, 0x05, 0xE9, 0x38, 0x6F, 0xF8, 0xFC, 0xD5, 0xE3, 0xE3, 0x3D, 0x55, 0x20, 0x9D, 0x89, 0xFA, 0x64, 0x2F, 0xE6, 0x2B, 0xE2, 0xAF, 0x1D, 0x6A, 0xBE, 0x7C, 0xB0, 0x5A, 0xEE, 0xFB, 0xBF, 0x3C, 0x9C, 0xFA, 0xF4, 0xFE, 0xB5, 0xEF, 0xFF, 0x00, 0xF0, 0x51, 0x5F, 0x88, 0xD1, 0xC7, 0xAA, 0xF8, 0x6B, 0xC2, 0xB0, 0xDC, 0x2C, 0xFF, 0x00, 0xD9, 0xA9, 0x2C, 0xF7, 0x4E, 0x0F, 0xDE, 0x69, 0x19, 0x00, 0x5F, 0xAA, 0xAC, 0x6C, 0x0F, 0xFD, 0x74, 0xC7, 0x04, 0x1A, 0xF9, 0x23, 0xC6, 0x7E, 0x26, 0xF2, 0xF4, 0xED, 0x5E, 0xF1, 0xDB, 0x6C, 0x92, 0x21, 0x8E, 0x33, 0x9E, 0x8C, 0xFF, 0x00, 0x2A, 0xE3, 0xE9, 0x9C, 0xFD, 0x14, 0xD7, 0xE9, 0xBC, 0x2B, 0x85, 0xE4, 0xC0, 0x46, 0xA4, 0xBA, 0xB6, 0xFF, 0x00, 0x1B, 0x2F, 0xC8, 0xFC, 0xDF, 0x88, 0xB1, 0x0E, 0x58, 0xC7, 0x4F, 0xC9, 0x2F, 0xC2, 0xE7, 0xE9, 0x6F, 0xEC, 0x4F, 0xAE, 0xA7, 0x88, 0xFF, 0x00, 0x65, 0x3F, 0x04, 0xDD, 0xC7, 0xB3, 0x6B, 0x58, 0xB4, 0x5F, 0x28, 0xEB, 0xE5, 0x4B, 0x24, 0x5C, 0xFB, 0xFC, 0x9F, 0xA5, 0x77, 0x9A, 0x96, 0xAF, 0x1D, 0xF7, 0x99, 0x69, 0x0B, 0x38, 0x91, 0x81, 0x56, 0x21, 0x7E, 0xE8, 0xDC, 0xCB, 0x93, 0xC6, 0x39, 0xDA, 0x6B, 0xC3, 0xFF, 0x00, 0xE0, 0x9B, 0xFA, 0xFA, 0xB7, 0xEC, 0xA5, 0xA2, 0x58, 0x96, 0xDA, 0xBA, 0x75, 0xED, 0xF5, 0xB8, 0xE7, 0xA6, 0x6E, 0x5E, 0x50, 0x3F, 0xF2, 0x2D, 0x77, 0x53, 0x7C, 0x5F, 0xB2, 0xD1, 0xBE, 0x27, 0x37, 0x85, 0xEE, 0xA4, 0x94, 0xEA, 0x13, 0xA1, 0xBA, 0x8D, 0x56, 0x0C, 0x29, 0x8D, 0x9A, 0x42, 0x32, 0xD9, 0xEC, 0x13, 0xB7, 0xA8, 0xEE, 0x6B, 0xF3, 0xAC, 0xC7, 0x0B, 0x2F, 0xAF, 0x57, 0x8C, 0x53, 0x76, 0x94, 0x9F, 0xCA, 0xEF, 0x53, 0xEE, 0xB0, 0x18, 0xA8, 0x47, 0x07, 0x42, 0x53, 0x69, 0x29, 0x28, 0xAF, 0x9B, 0x5B, 0x1E, 0x55, 0xFB, 0x79, 0x3F, 0x93, 0xA5, 0xF8, 0x7A, 0xD8, 0x6D, 0x58, 0xC4, 0xF2, 0x3A, 0x81, 0xFE, 0xE6, 0x3F, 0xA8, 0xAF, 0x9A, 0xF4, 0x1B, 0x04, 0xF1, 0x5F, 0x8C, 0xE2, 0xD3, 0xF3, 0xF2, 0x2D, 0xBC, 0x92, 0xB9, 0xF4, 0xE3, 0x03, 0xF9, 0xD7, 0xB9, 0xFE, 0xDE, 0xBE, 0x2C, 0x8E, 0x7D, 0x77, 0x41, 0x87, 0x7A, 0x94, 0xB7, 0xB3, 0x96, 0xE4, 0x90, 0x73, 0xC3, 0xB0, 0x03, 0xF4, 0x5A, 0xF1, 0x5F, 0xD9, 0xCE, 0xD2, 0x4D, 0x43, 0x54, 0xD7, 0x35, 0x89, 0x47, 0xC9, 0x81, 0x6F, 0x13, 0x1F, 0xCC, 0xFF, 0x00, 0x4A, 0xFB, 0x3C, 0xB6, 0xA3, 0xC3, 0x64, 0x4E, 0xAA, 0xDF, 0x5B, 0x7A, 0xB7, 0x63, 0xE5, 0xF3, 0x0C, 0x3C, 0x71, 0x39, 0xB7, 0xB0, 0x7B, 0x75, 0xF4, 0x4A, 0xE7, 0x03, 0xE2, 0xED, 0x09, 0xB4, 0x8B, 0xE9, 0x23, 0xDA, 0x70, 0xA4, 0x81, 0x5C, 0xB5, 0xF4, 0xBB, 0x2B, 0xD6, 0x3E, 0x29, 0xD8, 0xA3, 0xC9, 0x24, 0x83, 0xA9, 0xAF, 0x22, 0xD6, 0xCF, 0x97, 0x21, 0xF5, 0x3E, 0xB5, 0xEE, 0x65, 0xD8, 0xC7, 0x5E, 0x9A, 0x6F, 0x73, 0xF3, 0x3C, 0xEF, 0x2D, 0x58, 0x5A, 0xEE, 0x31, 0xD8, 0xEF, 0xBF, 0xE0, 0x91, 0x9F, 0xF0, 0x43, 0x6D, 0x36, 0xDF, 0x48, 0xB1, 0xF8, 0xA1, 0xF1, 0xAA, 0x18, 0xD6, 0x10, 0x82, 0xEA, 0xC7, 0x44, 0xB8, 0xF9, 0x56, 0x35, 0xC6, 0x43, 0xCC, 0x0F, 0xE1, 0xC5, 0x7A, 0x27, 0xFC, 0x14, 0x67, 0xFE, 0x0A, 0xFF, 0x00, 0xE0, 0xDF, 0x84, 0xBE, 0x21, 0xB5, 0xF8, 0x77, 0xF0, 0xE7, 0xEC, 0xD7, 0x0D, 0xE6, 0xC7, 0x62, 0xE2, 0xC7, 0x0B, 0x0C, 0x00, 0xB0, 0x52, 0x32, 0xBC, 0x77, 0xAF, 0x97, 0xBF, 0xE0, 0xA9, 0x7F, 0xF0, 0x5B, 0x0D, 0x67, 0xE2, 0xAE, 0xB5, 0xAA, 0x78, 0x0F, 0xE1, 0xA5, 0xDB, 0xE9, 0x7E, 0x19, 0xB6, 0x66, 0xB5, 0xB8, 0xD4, 0x21, 0x6C, 0x35, 0xE0, 0x1C, 0x1D, 0x98, 0xE8, 0xB5, 0xF9, 0xE9, 0xE0, 0xFB, 0xC9, 0x2F, 0x3C, 0x7F, 0xA4, 0x4D, 0x34, 0x8F, 0x34, 0xB2, 0x6A, 0x30, 0x33, 0x3B, 0xB6, 0xE6, 0x63, 0xE6, 0x2F, 0x53, 0x5E, 0x2E, 0x1F, 0x07, 0x52, 0x72, 0x78, 0xAC, 0x4B, 0xBB, 0xB6, 0x8B, 0xA2, 0x3D, 0xAA, 0xD9, 0x95, 0x1C, 0x04, 0xBE, 0xAB, 0x97, 0x3F, 0x27, 0x2F, 0xCE, 0xDF, 0xD7, 0xA1, 0xFB, 0x09, 0xF1, 0xC7, 0xEC, 0xB6, 0xBE, 0x32, 0xFB, 0x25, 0xA8, 0xF9, 0x6D, 0x60, 0x40, 0xEC, 0x4E, 0x4B, 0xC8, 0xC0, 0x33, 0x1A, 0xFA, 0xC3, 0xF6, 0x19, 0xF0, 0xC6, 0x9D, 0xF0, 0xEB, 0xE1, 0xFA, 0xDD, 0x48, 0xAB, 0xFD, 0xAF, 0xAB, 0x7E, 0xF2, 0x56, 0x23, 0xE6, 0x44, 0xFE, 0x15, 0xCD, 0x7C, 0xB9, 0xE1, 0x3F, 0x0D, 0x37, 0xC5, 0x3F, 0x8E, 0x52, 0x42, 0x57, 0x75, 0xBC, 0x73, 0x79, 0xD3, 0x1E, 0xDB, 0x10, 0x0F, 0xE7, 0x8C, 0x57, 0xD5, 0xDE, 0x0E, 0xD5, 0xAD, 0x5B, 0x4A, 0x86, 0x6B, 0x50, 0xAB, 0xE5, 0xE6, 0x3E, 0x0F, 0x4C, 0x71, 0xFD, 0x2B, 0x0C, 0xF7, 0x15, 0xFE, 0xC5, 0x4B, 0x04, 0xDB, 0xBD, 0x93, 0x97, 0xCF, 0xA3, 0xFC, 0x4F, 0xB4, 0xCA, 0xE9, 0xDB, 0x17, 0x3C, 0x5A, 0x4A, 0xD7, 0x92, 0x8F, 0xCB, 0x7B, 0x1E, 0xD7, 0x63, 0xE3, 0xB8, 0x41, 0x78, 0xE7, 0x65, 0x58, 0xF1, 0x92, 0x49, 0xE2, 0x9F, 0xAB, 0xF8, 0xCB, 0x4F, 0xB7, 0xD1, 0xA4, 0x99, 0x5A, 0x16, 0x46, 0x42, 0xBB, 0x85, 0x78, 0x77, 0x88, 0x3C, 0x6A, 0x12, 0xD6, 0x58, 0xDE, 0x4C, 0x64, 0x63, 0xAD, 0x79, 0x9F, 0x8D, 0xFE, 0x38, 0xCD, 0xA0, 0xF8, 0x33, 0x52, 0xB5, 0x59, 0x0F, 0xEE, 0xF9, 0x87, 0x1E, 0xA6, 0xBE, 0x52, 0x8E, 0x43, 0xF5, 0x86, 0xB9, 0x3B, 0xA3, 0xD6, 0xC4, 0xE7, 0xD4, 0xE8, 0x4B, 0xDF, 0xFE, 0x99, 0x81, 0xFB, 0x56, 0xFC, 0x4F, 0x5F, 0x88, 0x7E, 0x38, 0xB1, 0xD0, 0x2C, 0xE4, 0xDD, 0x65, 0xA4, 0xFC, 0xD2, 0x90, 0x72, 0x19, 0xCF, 0x5F, 0xCA, 0xB9, 0x24, 0xC2, 0x20, 0xE9, 0x81, 0xC5, 0x72, 0x3E, 0x0E, 0x9E, 0x4B, 0xED, 0x66, 0x69, 0xA4, 0x62, 0xF2, 0x48, 0x0B, 0x33, 0x1E, 0xA4, 0x93, 0xD6, 0xBA, 0x2D, 0x52, 0xFD, 0x74, 0xDB, 0x56, 0x91, 0xAB, 0xF5, 0xBC, 0x36, 0x15, 0x61, 0xE9, 0xC6, 0x8C, 0x7A, 0x2F, 0xC4, 0xF8, 0xBC, 0x76, 0x3A, 0x78, 0xBA, 0xF2, 0xC4, 0x4F, 0xAB, 0xFB, 0x91, 0xEB, 0x9F, 0xB2, 0xF7, 0xC3, 0x3B, 0x1F, 0x16, 0x78, 0x92, 0xE3, 0x5C, 0xD7, 0x24, 0x86, 0xDF, 0x43, 0xD0, 0x87, 0x98, 0xF2, 0x4A, 0xD8, 0x46, 0x7E, 0xD9, 0xF5, 0xC5, 0x77, 0xDF, 0x14, 0x3E, 0x31, 0x6B, 0x1F, 0xB4, 0xB7, 0x88, 0xE3, 0xF0, 0x7F, 0xC3, 0xDB, 0x57, 0x8A, 0xD5, 0x87, 0x97, 0x35, 0xE2, 0x82, 0xA5, 0x97, 0xA1, 0x39, 0x1D, 0x16, 0xBE, 0x77, 0xF8, 0x6D, 0x37, 0x89, 0x3E, 0x36, 0xDF, 0xE9, 0xFE, 0x11, 0xD2, 0xDA, 0x48, 0x74, 0xFF, 0x00, 0x37, 0xCC, 0x95, 0x63, 0x24, 0x2B, 0x12, 0x7E, 0xF3, 0x9F, 0x61, 0x5F, 0xA3, 0x9F, 0xB3, 0x7F, 0xC1, 0x1D, 0x07, 0xE0, 0x57, 0x86, 0x16, 0xCE, 0xCF, 0xCA, 0x92, 0xFD, 0x90, 0x35, 0xD5, 0xD3, 0x0F, 0x9D, 0xDB, 0xEB, 0xE9, 0x5F, 0x98, 0xF1, 0x66, 0x32, 0x9E, 0x07, 0x13, 0xF5, 0xBC, 0x47, 0xBF, 0x57, 0xEC, 0x43, 0xA4, 0x57, 0xF3, 0x4B, 0xBB, 0xF2, 0x3D, 0x8C, 0x35, 0x4A, 0xB2, 0xC3, 0xAA, 0x78, 0x7B, 0xC6, 0x3D, 0x5A, 0xDD, 0xBE, 0xBF, 0x24, 0x71, 0xFF, 0x00, 0x05, 0xFF, 0x00, 0xE0, 0x9F, 0x9E, 0x1E, 0xF8, 0x63, 0xA6, 0x68, 0x92, 0xBA, 0x2D, 0xD6, 0xB9, 0x6B, 0x72, 0x6E, 0xEE, 0x6F, 0x99, 0x37, 0x48, 0xCE, 0x63, 0x64, 0xDA, 0xB9, 0xE8, 0x06, 0xE3, 0xF5, 0x20, 0x57, 0xB9, 0x4B, 0xE1, 0x1B, 0xAD, 0x22, 0x58, 0xFF, 0x00, 0xB2, 0xE4, 0xF3, 0x21, 0x50, 0x32, 0xB2, 0x1F, 0x9B, 0x3D, 0xF0, 0x6B, 0xA3, 0xD0, 0xED, 0x46, 0xA2, 0x9B, 0x94, 0xE5, 0x71, 0xC1, 0xAE, 0x53, 0xE2, 0x87, 0xC7, 0x3F, 0x08, 0xFE, 0xCE, 0x9A, 0x35, 0xDE, 0xAD, 0xE3, 0xAD, 0x73, 0x4F, 0xB3, 0xB7, 0x61, 0x8B, 0x4B, 0x65, 0xFD, 0xE5, 0xD5, 0xC3, 0x7F, 0x72, 0x28, 0x97, 0xE6, 0x76, 0x3C, 0x74, 0x18, 0x1D, 0x49, 0x03, 0x9A, 0xFC, 0xEE, 0x9C, 0xF3, 0x2C, 0xD6, 0xB2, 0x75, 0x1B, 0x93, 0x93, 0xDD, 0xF4, 0xF2, 0x4B, 0xB7, 0x91, 0xCF, 0xF5, 0xCF, 0xAB, 0xC3, 0xD9, 0xC2, 0xD6, 0x5D, 0x3B, 0xB6, 0x43, 0x6D, 0xE1, 0xCD, 0x43, 0x50, 0x99, 0xB6, 0x43, 0x24, 0x0D, 0x1B, 0x12, 0xDF, 0x30, 0x51, 0x91, 0xD7, 0x3E, 0xBF, 0xE1, 0x5F, 0x33, 0x7C, 0x7C, 0xFD, 0xB8, 0x75, 0x4F, 0x15, 0xF8, 0xF2, 0xDB, 0xC1, 0x3F, 0x0B, 0x6D, 0x61, 0xF1, 0x47, 0x89, 0xA4, 0x6F, 0xB3, 0x7D, 0xAA, 0x30, 0x1A, 0xD6, 0x12, 0xB9, 0x0C, 0xE3, 0x04, 0x2B, 0x32, 0x82, 0x72, 0xEC, 0x44, 0x71, 0x0C, 0x96, 0x24, 0x92, 0xAB, 0xC1, 0xFC, 0x6A, 0xFD, 0xAE, 0x3E, 0x21, 0xFF, 0x00, 0xC1, 0x45, 0x7C, 0x47, 0x75, 0xE0, 0x8F, 0x87, 0x7A, 0x65, 0xD7, 0x87, 0xFC, 0x13, 0x6F, 0x83, 0xAA, 0x4F, 0x24, 0x85, 0x0B, 0xC2, 0xD9, 0xC1, 0xBE, 0x99, 0x32, 0x15, 0x08, 0x07, 0x6D, 0xB4, 0x64, 0x99, 0x3E, 0x6C, 0x97, 0x50, 0x4A, 0x7B, 0x07, 0xEC, 0xE3, 0xE0, 0x4F, 0x0C, 0x7E, 0xCC, 0xDE, 0x0C, 0xBA, 0xD1, 0x74, 0xDD, 0x35, 0x6E, 0xB5, 0x4B, 0xC0, 0xBF, 0x6D, 0xD6, 0xDC, 0x62, 0xEA, 0xF4, 0xA8, 0xE1, 0x30, 0x38, 0x8E, 0x20, 0xD9, 0x2B, 0x1A, 0x9C, 0x0E, 0x32, 0x5D, 0xB2, 0xE7, 0xEA, 0x7F, 0xB2, 0x69, 0xE5, 0x3E, 0xFE, 0x2E, 0x5E, 0xD2, 0xAD, 0xBD, 0xD8, 0x74, 0x5D, 0x9C, 0xBF, 0xCA, 0xFA, 0xF9, 0x1E, 0x86, 0x07, 0xEB, 0x99, 0x82, 0x72, 0xA1, 0x4D, 0x59, 0x75, 0xD3, 0x4E, 0xF6, 0xBE, 0xEF, 0xF2, 0xFC, 0xBD, 0x37, 0xF6, 0x5D, 0xFD, 0x8F, 0x6C, 0x7E, 0x08, 0xE9, 0x17, 0x5A, 0xC6, 0xB9, 0xA8, 0x37, 0x88, 0xFE, 0x22, 0x6B, 0xC0, 0x3E, 0xAF, 0xAD, 0x48, 0x49, 0x18, 0x38, 0x3F, 0x67, 0x83, 0x70, 0xCA, 0xC2, 0xA4, 0x0E, 0x70, 0x0B, 0x95, 0x04, 0x85, 0x01, 0x23, 0x4F, 0x5C, 0xB5, 0xF0, 0xFD, 0xBD, 0xC5, 0xE2, 0xC7, 0xB9, 0xBF, 0x76, 0x77, 0xF5, 0xFB, 0xBD, 0xB9, 0xF5, 0xEB, 0xDF, 0x8F, 0xD2, 0xBC, 0xDF, 0xC2, 0x1F, 0x1A, 0xF4, 0x3D, 0x32, 0x36, 0x5D, 0x52, 0x3B, 0xA9, 0x24, 0x03, 0xE5, 0x20, 0x17, 0xC7, 0xB0, 0xE7, 0x8A, 0xD2, 0xB7, 0xFD, 0xA7, 0xB4, 0x3B, 0x1B, 0x16, 0x91, 0xB4, 0xEB, 0x98, 0x64, 0x66, 0x08, 0x9B, 0xD9, 0x7E, 0x73, 0xD8, 0x0E, 0x72, 0x49, 0xFE, 0xE8, 0xC9, 0x3D, 0x06, 0x6B, 0xE6, 0xEA, 0x51, 0x9E, 0x26, 0xB2, 0xC4, 0xE3, 0x24, 0xAF, 0xD7, 0x4E, 0x8B, 0xA6, 0x9B, 0x79, 0x5A, 0xC8, 0xC7, 0x11, 0x92, 0xE6, 0x54, 0xDC, 0xA3, 0x18, 0x49, 0xA5, 0xD7, 0x4B, 0x6B, 0xD7, 0x73, 0xBA, 0xD6, 0x3C, 0x3F, 0x6F, 0x6D, 0x19, 0x68, 0xE6, 0xDB, 0x20, 0x19, 0xC3, 0xB7, 0x0D, 0x8E, 0xD5, 0xC1, 0xF8, 0xE7, 0xE2, 0x05, 0x87, 0x83, 0xA3, 0xF2, 0xB6, 0xB5, 0xE6, 0xA0, 0xCB, 0x91, 0x6D, 0x19, 0xC6, 0xCC, 0x8C, 0x8F, 0x31, 0xBA, 0x20, 0xE9, 0xEA, 0x4F, 0x60, 0x6B, 0x3F, 0xC4, 0x1F, 0x10, 0xF5, 0xAF, 0x1A, 0xED, 0xF2, 0xD4, 0x69, 0x36, 0x7F, 0xC4, 0xA7, 0xFD, 0x63, 0x29, 0xE4, 0xF3, 0xEB, 0xDB, 0xB6, 0x3A, 0xFC, 0xC3, 0x8A, 0xF0, 0xCF, 0xDA, 0x3B, 0xF6, 0xBB, 0xF0, 0x1F, 0xEC, 0xF3, 0xA7, 0xC8, 0x35, 0x5B, 0xA4, 0xBB, 0xD5, 0x99, 0x18, 0xC3, 0xA6, 0xDB, 0x1D, 0xD3, 0x12, 0x7F, 0x89, 0xB9, 0xC2, 0xE7, 0xD5, 0x88, 0xFC, 0x6B, 0xC4, 0xC6, 0x7B, 0x3A, 0xF5, 0xDC, 0x30, 0xB0, 0xF4, 0xB1, 0xB6, 0x55, 0x81, 0xAD, 0x52, 0x4A, 0x32, 0xF7, 0xBB, 0xDB, 0xF5, 0x7D, 0x11, 0x53, 0xE3, 0xFF, 0x00, 0xC5, 0xC8, 0xF4, 0xFD, 0x37, 0xFB, 0x5B, 0xC4, 0xD7, 0xD1, 0xA4, 0x70, 0xC8, 0x23, 0xB5, 0xB5, 0x8C, 0x6D, 0x5F, 0x31, 0xB8, 0x58, 0xE2, 0x4C, 0xE5, 0xA4, 0x6E, 0x99, 0x24, 0xB1, 0xE7, 0x90, 0xA3, 0x03, 0xF3, 0xCF, 0xFE, 0x0A, 0x37, 0xF1, 0x89, 0xB5, 0x07, 0x8F, 0xC2, 0xB0, 0xC9, 0x1A, 0xCF, 0x70, 0xB1, 0xDE, 0xEA, 0xA9, 0x1B, 0x6E, 0x58, 0x94, 0x64, 0xC3, 0x6F, 0x9E, 0xF8, 0x2C, 0xCE, 0x4E, 0x06, 0x49, 0x53, 0xE9, 0x5B, 0x1E, 0x23, 0xFD, 0xA4, 0xAF, 0x3E, 0x33, 0xFC, 0x49, 0xBE, 0xF1, 0xFF, 0x00, 0x88, 0x82, 0xC7, 0xA2, 0xF8, 0x4E, 0x32, 0x74, 0x8D, 0x2D, 0x5C, 0xEC, 0x7B, 0xB7, 0xC8, 0x89, 0x47, 0xF7, 0x9B, 0x82, 0xEC, 0xDD, 0x70, 0x9E, 0x80, 0x0A, 0xF9, 0x2F, 0xE3, 0x7D, 0xFE, 0xBB, 0xE3, 0x58, 0xEF, 0xEF, 0xAD, 0xE6, 0x37, 0x1A, 0x96, 0xAD, 0x33, 0x3C, 0xD7, 0xAE, 0x76, 0xC7, 0x1E, 0xE3, 0x96, 0x60, 0x7B, 0xE0, 0x70, 0x02, 0xE7, 0x1C, 0x7A, 0x57, 0xD1, 0x64, 0x39, 0x2B, 0xA7, 0x88, 0x53, 0xAD, 0xF6, 0x7F, 0x3E, 0xDF, 0x25, 0xAB, 0xF3, 0x3F, 0x41, 0xC5, 0x7B, 0x2C, 0x16, 0x5F, 0x6A, 0x4B, 0xDF, 0x9A, 0x6A, 0xEB, 0xA4, 0x7A, 0xDB, 0xD5, 0xAB, 0x79, 0xEA, 0xCF, 0x92, 0x7E, 0x2C, 0xF8, 0xA2, 0x6B, 0xAF, 0x1A, 0xEA, 0x17, 0x96, 0xD2, 0x15, 0x5B, 0x79, 0x8D, 0xB4, 0x44, 0x1E, 0x36, 0x28, 0xC1, 0xC7, 0xD5, 0x8B, 0x1F, 0xC6, 0xBC, 0xFF, 0x00, 0x5D, 0xF1, 0x43, 0xEB, 0x4C, 0xD6, 0xAA, 0xBE, 0x5A, 0xAA, 0xE2, 0x59, 0x00, 0xE9, 0x91, 0xDB, 0xF3, 0xAF, 0x52, 0xF8, 0x85, 0xE0, 0xED, 0x3F, 0xC1, 0x96, 0x7F, 0x63, 0x46, 0x6D, 0x42, 0xF6, 0x43, 0xB1, 0x19, 0xC6, 0xD5, 0xDD, 0xD4, 0xB6, 0x07, 0x38, 0xEF, 0xCD, 0x79, 0x5F, 0x89, 0x2C, 0x2D, 0xFC, 0x3B, 0x01, 0xDB, 0x23, 0x4A, 0xE7, 0x96, 0x18, 0xE5, 0x89, 0xEA, 0x7F, 0x1A, 0xFD, 0x46, 0x8C, 0x93, 0x4A, 0xC7, 0xE1, 0x98, 0xE8, 0xCE, 0x35, 0x64, 0xE5, 0xD4, 0xA3, 0x71, 0xAD, 0x7F, 0x65, 0xDA, 0x08, 0x2C, 0xD4, 0x46, 0xA1, 0x70, 0x33, 0xCF, 0x3E, 0xA7, 0xDE, 0xB1, 0x65, 0xD5, 0x66, 0x58, 0xDA, 0x18, 0xF7, 0x34, 0xD2, 0xF2, 0xF2, 0x1F, 0xBC, 0x7D, 0xE9, 0xEC, 0xEE, 0xAB, 0xCE, 0x3C, 0xC6, 0xE3, 0xF1, 0xF4, 0xFA, 0x52, 0xC3, 0x02, 0xDB, 0x23, 0x67, 0x96, 0xCE, 0x59, 0x8F, 0x7A, 0xDD, 0x44, 0xF3, 0xB9, 0x89, 0xBF, 0xB6, 0x1A, 0x2D, 0x37, 0xEC, 0xCB, 0xF7, 0x9B, 0xE5, 0x07, 0xD0, 0x77, 0x3F, 0x95, 0x67, 0xC5, 0x38, 0xB7, 0x66, 0x6F, 0xBB, 0x94, 0x6A, 0x89, 0x6E, 0x37, 0x33, 0x32, 0xF1, 0xBB, 0x85, 0xFA, 0x7A, 0xFE, 0x35, 0x1C, 0xF1, 0x3C, 0xE8, 0xCA, 0x99, 0x32, 0x30, 0xC6, 0x71, 0xF7, 0x47, 0x73, 0xFA, 0xD1, 0xB6, 0xA0, 0x5D, 0xD0, 0x5A, 0x36, 0xB9, 0xBB, 0xB8, 0x9B, 0xEF, 0x2C, 0x05, 0x22, 0xCF, 0x73, 0xD1, 0xBF, 0x21, 0xC7, 0xE3, 0x57, 0xB4, 0x8D, 0x56, 0x4D, 0x2B, 0x53, 0xB3, 0xBA, 0x07, 0xF7, 0x96, 0x6F, 0x1F, 0xE8, 0x00, 0x3F, 0xCF, 0xF4, 0xA8, 0x75, 0x56, 0x86, 0xCE, 0x35, 0x58, 0xFF, 0x00, 0xD5, 0xC2, 0x86, 0x35, 0xCF, 0x71, 0x8F, 0xEA, 0x46, 0x7F, 0x1A, 0x34, 0x6B, 0x4F, 0xB7, 0xDB, 0x36, 0xF6, 0xF9, 0x88, 0x1C, 0xFB, 0x9E, 0x4D, 0x5D, 0x35, 0xA5, 0x85, 0x29, 0x72, 0xB5, 0x23, 0xF7, 0x4F, 0xFE, 0x09, 0x19, 0xF1, 0xE2, 0x4F, 0x8A, 0x1F, 0xB3, 0x2C, 0xDE, 0x15, 0xB8, 0xBA, 0x6F, 0xB7, 0x7C, 0x3F, 0xBA, 0x0B, 0x6C, 0x37, 0x65, 0x9A, 0xC2, 0xF0, 0xC9, 0x3C, 0x2D, 0xFF, 0x00, 0x01, 0x98, 0x5D, 0x27, 0xB2, 0xA2, 0x7A, 0x8A, 0xFA, 0x4B, 0x4F, 0xD2, 0x23, 0xB8, 0xD6, 0x56, 0x49, 0x26, 0xDB, 0x1A, 0x9C, 0xB9, 0x03, 0x93, 0xED, 0x5F, 0x90, 0xDF, 0xF0, 0x4C, 0x1F, 0xDA, 0x46, 0x4F, 0x82, 0x1F, 0x13, 0x3C, 0x2B, 0xAB, 0x4F, 0x22, 0xFF, 0x00, 0x65, 0xEA, 0x51, 0x0D, 0x0F, 0x57, 0x46, 0x7D, 0x8A, 0x61, 0x94, 0xAA, 0xAC, 0x84, 0xE0, 0x81, 0xE5, 0xCC, 0xB1, 0xBE, 0xE2, 0x38, 0x55, 0x71, 0xFC, 0x46, 0xBF, 0x64, 0xF4, 0x6B, 0xD8, 0x62, 0xF3, 0x23, 0x16, 0x36, 0xF0, 0xDC, 0xC8, 0x76, 0xAF, 0x9D, 0x23, 0xDC, 0x60, 0xF3, 0x9C, 0x00, 0x12, 0xBC, 0xA9, 0xD1, 0xAB, 0x1E, 0x65, 0x49, 0x6F, 0xF8, 0x1F, 0xA4, 0xE1, 0x71, 0x54, 0xAA, 0xD2, 0x84, 0xEB, 0x3D, 0xAD, 0xDD, 0xDF, 0xB6, 0x8B, 0xFA, 0xD0, 0xED, 0x7C, 0x14, 0x53, 0xC6, 0x1A, 0x82, 0xDB, 0xDB, 0xC7, 0x27, 0x91, 0x6A, 0x01, 0x67, 0xC7, 0x4F, 0x4E, 0x3D, 0xF1, 0x5D, 0x07, 0x8C, 0x3E, 0x38, 0x69, 0x7E, 0x1B, 0xD2, 0xAE, 0xAD, 0xB4, 0xCB, 0x88, 0xA4, 0xBC, 0xB7, 0x89, 0xC4, 0xD7, 0x2B, 0x83, 0x6F, 0x61, 0x81, 0x92, 0xCC, 0xC7, 0x82, 0xCA, 0x32, 0x76, 0x8C, 0xE3, 0x1F, 0x36, 0x3A, 0x1F, 0x3D, 0xB7, 0xB5, 0x3A, 0x7E, 0x8F, 0x79, 0xB6, 0xE2, 0xE9, 0x63, 0xBA, 0xE2, 0x45, 0x57, 0x28, 0x92, 0xFB, 0x30, 0x5C, 0x02, 0xBC, 0xF4, 0x39, 0x15, 0xF2, 0x7F, 0xED, 0x6B, 0xFB, 0x4B, 0xC3, 0x3B, 0x5F, 0x78, 0x1F, 0xC3, 0xB3, 0x2B, 0x47, 0x13, 0xF9, 0x5A, 0xB5, 0xD4, 0x47, 0xE5, 0x04, 0x63, 0xFD, 0x15, 0x08, 0xEE, 0x0F, 0xFA, 0xCC, 0x74, 0xC6, 0xCF, 0xEF, 0x81, 0x59, 0x5F, 0x0C, 0xFD, 0x66, 0xB2, 0x53, 0x77, 0x5D, 0xBF, 0x36, 0xDF, 0xE8, 0x3C, 0x77, 0x15, 0x45, 0x50, 0x72, 0x82, 0xD7, 0x6B, 0xED, 0xF2, 0x4B, 0xFC, 0xCE, 0x0F, 0xE2, 0x1F, 0xC5, 0xA6, 0xF8, 0x8F, 0xF1, 0x53, 0x52, 0xD4, 0x04, 0x92, 0x35, 0xA4, 0xEF, 0xB2, 0xD3, 0xCC, 0x62, 0x5B, 0x62, 0xF0, 0x19, 0x89, 0xE4, 0xB3, 0x72, 0xC4, 0x9E, 0x4B, 0x31, 0x27, 0x92, 0x6B, 0xBC, 0xF8, 0x23, 0xF0, 0xFF, 0x00, 0x47, 0xF1, 0x6F, 0xC2, 0x3F, 0x8A, 0x5A, 0xBE, 0xAD, 0x71, 0x6F, 0x1B, 0x43, 0xA3, 0x4D, 0xA5, 0x68, 0xE8, 0xFF, 0x00, 0x31, 0x6B, 0xE6, 0x8F, 0xCE, 0x2E, 0x07, 0xAA, 0x62, 0x04, 0x04, 0x76, 0x9E, 0x51, 0xDA, 0xBE, 0x65, 0xF1, 0x1F, 0x89, 0xE4, 0xD2, 0x84, 0x56, 0xF6, 0x6A, 0xD3, 0xEA, 0x57, 0x0C, 0xA9, 0x1C, 0x69, 0xCB, 0x02, 0xD8, 0x00, 0x7F, 0xBC, 0xC4, 0x80, 0x07, 0xA9, 0xFC, 0xFE, 0x88, 0xF0, 0x1F, 0x87, 0xE4, 0xF0, 0x97, 0x82, 0x74, 0xDD, 0x18, 0x7E, 0xFA, 0xE2, 0xDA, 0x3C, 0xCA, 0xCB, 0xF3, 0x07, 0x95, 0x8E, 0xE9, 0x08, 0xFA, 0xB9, 0x38, 0xF6, 0xC0, 0xED, 0x5F, 0xA1, 0x66, 0x94, 0x12, 0xA3, 0x1C, 0x3D, 0x27, 0xCA, 0xB4, 0xDB, 0xB2, 0xB7, 0xE6, 0x7E, 0x75, 0x4F, 0x34, 0x74, 0xEA, 0x3A, 0xF5, 0x23, 0xCD, 0x27, 0x7B, 0x27, 0xDD, 0xAF, 0xD2, 0xE6, 0xD7, 0xEC, 0xFD, 0xF1, 0x5B, 0x5E, 0xFF, 0x00, 0x84, 0x12, 0xDF, 0xC2, 0xFA, 0x1C, 0x92, 0xDB, 0xDC, 0x36, 0xB1, 0xF6, 0xB8, 0x25, 0x8A, 0x42, 0xB2, 0x3F, 0x99, 0x1C, 0x5B, 0x57, 0xD3, 0x6E, 0xE5, 0x62, 0x7D, 0x7A, 0x57, 0xD9, 0x5A, 0x5F, 0xC2, 0xB5, 0xF1, 0x56, 0xA9, 0xE1, 0x7F, 0x15, 0xEA, 0xD6, 0xB6, 0xF6, 0x7E, 0x25, 0xB3, 0xB7, 0x55, 0xBB, 0xF2, 0xD8, 0x84, 0x9F, 0xEF, 0x02, 0xAE, 0xBD, 0x1B, 0x01, 0xD8, 0x8E, 0x01, 0x07, 0x6F, 0x38, 0x5C, 0x57, 0xC3, 0xFF, 0x00, 0xB3, 0x6E, 0x8B, 0x7F, 0x69, 0xF1, 0x91, 0xAC, 0x6C, 0xA1, 0xDF, 0x36, 0x9F, 0x32, 0x4E, 0x22, 0x63, 0xB4, 0x94, 0x8C, 0x92, 0x06, 0x7F, 0xDA, 0x56, 0x5F, 0xCE, 0xBE, 0xFE, 0xF1, 0x87, 0x8C, 0x6D, 0x7C, 0x07, 0xF0, 0xEA, 0xF3, 0x56, 0xB8, 0x38, 0x8F, 0x4B, 0xB2, 0x79, 0xC8, 0x27, 0x90, 0x42, 0xE7, 0x1F, 0x9F, 0x15, 0xF0, 0x3C, 0x59, 0x51, 0x53, 0xC4, 0xC6, 0x18, 0x7B, 0x5E, 0x57, 0x6E, 0xDB, 0xBE, 0x6E, 0x8F, 0xC9, 0x9F, 0x6B, 0xC2, 0x18, 0x77, 0x5E, 0x95, 0x4A, 0xB8, 0x96, 0xDC, 0x63, 0x64, 0x93, 0xD9, 0x72, 0xA4, 0xD3, 0x5E, 0x68, 0xF8, 0xBF, 0xF6, 0xD9, 0xF1, 0xAF, 0xF6, 0xFF, 0x00, 0xC6, 0x9D, 0x4A, 0xCA, 0xDF, 0x0D, 0xF6, 0x5F, 0x2E, 0xD3, 0x08, 0x73, 0x92, 0xA3, 0xA6, 0x3E, 0xA7, 0xA5, 0x6F, 0x78, 0x43, 0x48, 0x87, 0xC1, 0xBF, 0x0F, 0xED, 0x2C, 0x63, 0x2B, 0xE6, 0x6D, 0x0F, 0x33, 0x0F, 0xE2, 0x73, 0xC9, 0xAE, 0x0F, 0xE0, 0xE7, 0x82, 0x6F, 0x3E, 0x2F, 0x78, 0xB3, 0x50, 0xF1, 0x2E, 0xA4, 0xCD, 0xE4, 0xA4, 0xED, 0x39, 0x6F, 0xF9, 0xED, 0x31, 0x39, 0xC0, 0xF6, 0x19, 0xAE, 0xD2, 0x41, 0x25, 0xAD, 0xB4, 0x8A, 0xFB, 0x88, 0x56, 0x20, 0x66, 0xB4, 0xCD, 0x6A, 0xC2, 0x34, 0xA9, 0xE5, 0xB0, 0x97, 0xF0, 0xED, 0xCD, 0xEB, 0xFF, 0x00, 0x00, 0xF5, 0x32, 0xD8, 0x54, 0x73, 0x9E, 0x61, 0x38, 0xFF, 0x00, 0x12, 0xFC, 0xBE, 0x97, 0xFD, 0x4E, 0x27, 0xE2, 0x45, 0xC8, 0xF2, 0x5B, 0x27, 0xAE, 0x7A, 0xD7, 0x8D, 0xF8, 0x8E, 0xE3, 0x12, 0x37, 0xE7, 0x5E, 0x97, 0xF1, 0x2F, 0x54, 0x54, 0x0C, 0xAD, 0xF5, 0xAF, 0x23, 0xD7, 0x6F, 0x3C, 0xC9, 0x48, 0xCF, 0xAD, 0x7B, 0x79, 0x3C, 0x1A, 0xA7, 0x73, 0xF3, 0x9E, 0x2A, 0xA8, 0xA5, 0x5E, 0xC8, 0xFC, 0xD1, 0x1D, 0x6B, 0x4F, 0xC1, 0x6D, 0xB3, 0xC6, 0x5A, 0x47, 0xFD, 0x7F, 0x41, 0xFF, 0x00, 0xA1, 0xAD, 0x66, 0x9A, 0xD0, 0xF0, 0x87, 0xFC, 0x8D, 0xDA, 0x5F, 0xFD, 0x7E, 0x43, 0xFF, 0x00, 0xA1, 0x8A, 0xEB, 0xBA, 0x68, 0xF9, 0x7A, 0x7F, 0x12, 0xF5, 0x3F, 0x76, 0x7F, 0x64, 0x8D, 0x0F, 0x67, 0x87, 0xFC, 0x41, 0xAF, 0x3A, 0xE6, 0x49, 0xB7, 0xC4, 0x8D, 0xDF, 0x01, 0x49, 0x35, 0x77, 0xE0, 0xCF, 0xC4, 0x70, 0x3C, 0x31, 0x71, 0x1C, 0x92, 0x7C, 0xCB, 0x3B, 0x90, 0x09, 0xF5, 0x35, 0xB7, 0xFB, 0x3E, 0x69, 0xCB, 0xA5, 0xFE, 0xCF, 0xB1, 0x1C, 0x61, 0xAE, 0x2D, 0xA5, 0x94, 0xFE, 0x20, 0xD7, 0x81, 0x78, 0x0B, 0xC5, 0x1F, 0x62, 0xB8, 0x96, 0x0D, 0xC7, 0xF7, 0x8C, 0x48, 0xE7, 0xDE, 0xBE, 0x63, 0x03, 0x45, 0x63, 0xAB, 0xE2, 0x9B, 0xE9, 0x28, 0xA5, 0xE8, 0xAE, 0x8F, 0xD6, 0x78, 0x87, 0x15, 0x2C, 0xB6, 0x86, 0x09, 0xC7, 0xED, 0x46, 0x4D, 0xFA, 0xBB, 0x3F, 0xD4, 0xF7, 0xBF, 0x10, 0x9B, 0x8F, 0x15, 0xD9, 0xB4, 0xFA, 0x6B, 0x79, 0xED, 0x18, 0xC4, 0x91, 0x29, 0xF9, 0xD7, 0xDF, 0x1D, 0xC5, 0x78, 0xA7, 0xC5, 0xEB, 0xB9, 0x74, 0xF8, 0x61, 0xB5, 0x99, 0x24, 0x89, 0xDD, 0xCB, 0xB2, 0xB8, 0xDA, 0x78, 0xAE, 0xBB, 0xC3, 0x5A, 0xCE, 0xA1, 0x6F, 0xAA, 0x47, 0x2D, 0x84, 0x92, 0xAD, 0xC2, 0x9C, 0x82, 0xBD, 0xFE, 0xBE, 0xD5, 0xC6, 0x7E, 0xD1, 0x9E, 0x2D, 0xD5, 0x3C, 0x5B, 0xE3, 0xD8, 0xA3, 0xD4, 0x12, 0x31, 0x25, 0x94, 0x69, 0x1B, 0xEC, 0x5C, 0x71, 0x8C, 0xE4, 0xFB, 0xD7, 0xD0, 0x65, 0xB4, 0x7D, 0x95, 0x75, 0x4F, 0x4B, 0x6F, 0xE6, 0x7C, 0xE5, 0x4A, 0xD4, 0x71, 0xB0, 0xFA, 0xCB, 0xE6, 0x53, 0x5D, 0x2D, 0xEE, 0xBF, 0x9F, 0x43, 0x23, 0xC0, 0x92, 0xED, 0xD4, 0x5B, 0xFD, 0xA4, 0xCD, 0x5B, 0xF1, 0x51, 0xB8, 0xD6, 0xF5, 0x6B, 0x7D, 0x3A, 0xD6, 0x39, 0x26, 0x9A, 0x46, 0x0A, 0xAA, 0xA3, 0x24, 0x93, 0x59, 0x9E, 0x10, 0xB8, 0xF2, 0xF5, 0x75, 0xFE, 0x11, 0xB4, 0x8A, 0xF5, 0x0F, 0xD9, 0x7B, 0xC4, 0x51, 0xF8, 0x67, 0xC7, 0x5A, 0xA6, 0xB9, 0x26, 0x9A, 0xBA, 0x93, 0x5B, 0xC5, 0xB6, 0x2D, 0xFF, 0x00, 0x76, 0x36, 0x27, 0x83, 0x5E, 0xEE, 0x3A, 0xB3, 0xA3, 0x09, 0x55, 0x5B, 0xA5, 0xA7, 0xA9, 0xA6, 0x16, 0x9C, 0x6A, 0x4A, 0x30, 0x9B, 0xB2, 0x7B, 0xBF, 0x23, 0xDA, 0x3F, 0x64, 0xDF, 0x0B, 0x4B, 0xF0, 0x6D, 0x63, 0x76, 0xD3, 0xE6, 0x96, 0xEA, 0x75, 0xDD, 0x3C, 0x9E, 0x59, 0xCE, 0x7D, 0x3E, 0x82, 0xBD, 0x1B, 0xE2, 0x97, 0xED, 0xA9, 0xE1, 0xFF, 0x00, 0x85, 0x50, 0x86, 0xD5, 0x2E, 0x47, 0x9C, 0x83, 0x3F, 0x66, 0x89, 0x83, 0x48, 0xE7, 0xD0, 0x8A, 0xF2, 0x5F, 0x13, 0x7C, 0x4A, 0xF1, 0x77, 0xC5, 0x99, 0x8D, 0x8A, 0xEB, 0x11, 0xE8, 0x76, 0x73, 0x64, 0x32, 0xDA, 0x45, 0x87, 0xC7, 0xFB, 0xD5, 0x27, 0x85, 0x7F, 0xE0, 0x9F, 0xDE, 0x14, 0xF1, 0x2A, 0xB5, 0xDE, 0xA3, 0x7B, 0xA8, 0x6A, 0x97, 0x92, 0x1C, 0xB3, 0xCD, 0x31, 0x3B, 0x8D, 0x7E, 0x61, 0x8C, 0xC0, 0xE0, 0x6A, 0x62, 0x1E, 0x2B, 0x31, 0x93, 0xBB, 0xE8, 0xBF, 0xCC, 0xFB, 0xFC, 0x0E, 0x2E, 0xAC, 0xA8, 0x2C, 0x3E, 0x06, 0x0A, 0x56, 0xD9, 0xCB, 0x4B, 0x7C, 0x91, 0xC2, 0xFC, 0x63, 0xFF, 0x00, 0x82, 0xC9, 0x78, 0xE3, 0xC4, 0xBA, 0x74, 0x9A, 0x2F, 0x81, 0xEC, 0x97, 0x47, 0x12, 0x7E, 0xEF, 0xED, 0x41, 0x7C, 0xDB, 0x82, 0x3A, 0x7C, 0xA3, 0xA0, 0x26, 0xB0, 0xFE, 0x03, 0xFE, 0xC7, 0x1E, 0x36, 0xFD, 0xA2, 0x75, 0xE1, 0xE2, 0x8F, 0x8A, 0x5A, 0xF6, 0xA5, 0xA4, 0xE9, 0x53, 0x32, 0xB4, 0xB2, 0xCF, 0x37, 0x99, 0xA9, 0x5E, 0xA9, 0x3F, 0x75, 0x03, 0x64, 0x46, 0x31, 0xFC, 0x4C, 0x38, 0xFE, 0xE9, 0xAF, 0xA4, 0x7C, 0x1F, 0xFB, 0x1B, 0x68, 0x3E, 0x0A, 0xD2, 0xEE, 0x6F, 0xF4, 0x4D, 0x16, 0xD4, 0xDC, 0x58, 0x9C, 0xBB, 0x94, 0xDC, 0xFC, 0x7A, 0x67, 0xBD, 0x59, 0xB5, 0xD7, 0x24, 0x41, 0xB6, 0x4D, 0xCB, 0xB7, 0xE5, 0xC1, 0x15, 0x75, 0xB3, 0x8A, 0x38, 0x6A, 0x2E, 0x8E, 0x4F, 0x4D, 0x53, 0xEF, 0x2D, 0xE5, 0xF2, 0xEC, 0x63, 0x95, 0xF0, 0xA5, 0x3C, 0x55, 0x67, 0x57, 0x1F, 0x56, 0xEE, 0xFA, 0xA5, 0xA2, 0x3D, 0x23, 0xC2, 0x96, 0x1E, 0x1D, 0xF8, 0x71, 0xE0, 0x9B, 0x5F, 0x0F, 0x78, 0x47, 0x4F, 0x87, 0x44, 0xD0, 0x6C, 0x59, 0xB6, 0xC1, 0x1F, 0xDE, 0x95, 0xC8, 0x19, 0x92, 0x46, 0x3F, 0x34, 0x8E, 0x71, 0xCB, 0xB1, 0x24, 0xF1, 0xCF, 0x02, 0xA9, 0xE9, 0x86, 0x1D, 0x42, 0xE2, 0x45, 0x95, 0xD6, 0x2F, 0x91, 0x8A, 0xBE, 0x70, 0x37, 0x7B, 0xD7, 0x2F, 0x6D, 0xAB, 0x65, 0x70, 0x1B, 0x6E, 0x7A, 0x8F, 0x5A, 0xB9, 0x6F, 0x7F, 0x8E, 0xE3, 0x15, 0xF1, 0x33, 0xA5, 0x26, 0x9B, 0x93, 0x7C, 0xCF, 0xAE, 0xEE, 0xFD, 0xCF, 0xD2, 0xF0, 0x99, 0x4D, 0x2A, 0x14, 0xBD, 0x9E, 0x1D, 0xD9, 0x74, 0x37, 0xBC, 0x57, 0x7F, 0xA4, 0xF8, 0x0F, 0xC2, 0xDA, 0xD7, 0x89, 0x35, 0x2B, 0xA5, 0x9F, 0x49, 0xF0, 0xEE, 0x9F, 0x77, 0xAA, 0xDE, 0xAC, 0x4E, 0x16, 0x47, 0x8A, 0xDE, 0x19, 0x25, 0x7D, 0xBB, 0xB8, 0x04, 0x88, 0xF8, 0xC9, 0xC7, 0x22, 0xB8, 0x3F, 0x0E, 0x7E, 0xD7, 0x9F, 0x0A, 0xF4, 0xFF, 0x00, 0x02, 0xE9, 0x3E, 0x3A, 0xB9, 0xF1, 0x46, 0x9F, 0x34, 0x1E, 0x24, 0x83, 0xED, 0x16, 0x09, 0x12, 0xBC, 0x8D, 0x6A, 0x84, 0x02, 0xD0, 0xAC, 0x4A, 0x0B, 0xA3, 0x29, 0x3B, 0x5C, 0xB0, 0x0C, 0x58, 0x60, 0xE0, 0x05, 0x51, 0x5F, 0xF6, 0x9E, 0xF8, 0x75, 0x2F, 0xC7, 0x0F, 0xD9, 0x9B, 0xC7, 0x1E, 0x12, 0xB2, 0xDA, 0xDA, 0x96, 0xB5, 0xA4, 0x4B, 0x1D, 0x9A, 0x33, 0x05, 0x59, 0x2E, 0x17, 0x12, 0x44, 0x84, 0xF6, 0x0D, 0x22, 0x2A, 0x92, 0x7A, 0x02, 0x6B, 0xF1, 0xB7, 0xC2, 0x1E, 0x2F, 0x93, 0xC3, 0xBA, 0x75, 0xF6, 0x93, 0x0C, 0x0D, 0x6B, 0x71, 0xE7, 0x95, 0x66, 0x92, 0x3F, 0x29, 0xA0, 0x90, 0x1D, 0xB2, 0x2B, 0x03, 0x82, 0x5D, 0x48, 0xC6, 0x0F, 0x42, 0x08, 0xED, 0x8A, 0x9A, 0x39, 0x5A, 0xC5, 0x27, 0xCF, 0x36, 0xAC, 0xFE, 0xF5, 0xFD, 0x75, 0x3E, 0x67, 0x38, 0x84, 0x94, 0xFD, 0x9D, 0x79, 0x4B, 0x95, 0xAE, 0x9A, 0x5F, 0xCB, 0x63, 0xF4, 0x4F, 0xF6, 0x85, 0xFF, 0x00, 0x82, 0xA6, 0xEB, 0x9E, 0x3C, 0x86, 0xF3, 0x4C, 0xF0, 0x34, 0x32, 0x68, 0x3A, 0x6B, 0x31, 0x87, 0xED, 0xD7, 0x24, 0x0B, 0xA9, 0x47, 0x42, 0x54, 0x2E, 0xE0, 0x9E, 0x9D, 0x72, 0x39, 0xE4, 0x1E, 0x9F, 0x1E, 0x78, 0x97, 0x57, 0xBC, 0xF1, 0x2F, 0x89, 0xE5, 0x6B, 0x8B, 0xE6, 0xBA, 0x91, 0x5B, 0x7D, 0xDC, 0x8C, 0x0B, 0x31, 0x24, 0x70, 0xA1, 0x89, 0xE5, 0x8F, 0x52, 0x48, 0xE0, 0x7B, 0x91, 0x59, 0xFA, 0xCF, 0x8A, 0xE3, 0xD0, 0x74, 0x66, 0x9D, 0x79, 0x8A, 0x14, 0x02, 0x25, 0xC7, 0xFA, 0xC3, 0xD0, 0x0F, 0xC7, 0xFC, 0x4D, 0x60, 0x78, 0x3F, 0x59, 0x61, 0x67, 0x30, 0x9A, 0x65, 0xFB, 0x44, 0xB3, 0x6E, 0x90, 0x93, 0xCB, 0x33, 0x7F, 0x9C, 0x7D, 0x05, 0x7B, 0xB8, 0x3C, 0xB6, 0x9E, 0x1A, 0x1C, 0xB4, 0x97, 0xF9, 0xFD, 0xE7, 0x2F, 0xD6, 0x29, 0xC2, 0x2A, 0x8D, 0x35, 0xCB, 0x1E, 0xCB, 0xF5, 0xEE, 0xFC, 0xD9, 0xBB, 0xE2, 0x9B, 0xB0, 0x74, 0xDB, 0x6D, 0x35, 0x59, 0x84, 0x73, 0x48, 0xCE, 0x57, 0x24, 0xEC, 0x1C, 0x6F, 0x7C, 0x74, 0xCE, 0x02, 0xA8, 0xE3, 0xD3, 0xBE, 0x73, 0xC9, 0x7C, 0x4C, 0xF1, 0x24, 0x3A, 0x66, 0x8B, 0x2B, 0x37, 0xEE, 0xE2, 0x8E, 0x33, 0x8F, 0xF6, 0x54, 0x0F, 0xE4, 0x3D, 0x2A, 0xC6, 0x97, 0xE2, 0x65, 0xD6, 0xE4, 0xBD, 0xBC, 0xC9, 0xF2, 0xD5, 0x84, 0x50, 0xE7, 0xAE, 0xC1, 0x9F, 0xE6, 0x49, 0x35, 0xE7, 0x9F, 0x18, 0x2F, 0xDB, 0x52, 0x2B, 0x67, 0x9F, 0x97, 0xFD, 0x6C, 0xC0, 0x1E, 0x8A, 0x33, 0x85, 0xFC, 0x7A, 0xFE, 0x03, 0xD6, 0xBD, 0x1A, 0x58, 0x74, 0x9A, 0x47, 0x0E, 0x3B, 0x19, 0x29, 0x53, 0x72, 0xF2, 0xFC, 0x8F, 0x05, 0xF1, 0xC5, 0xF4, 0x97, 0x7A, 0x9C, 0xD7, 0xD3, 0xE5, 0x64, 0x98, 0x7C, 0xA8, 0x7F, 0xE5, 0x92, 0x76, 0x1F, 0x53, 0xD4, 0xD7, 0x96, 0x6B, 0x36, 0xC7, 0x55, 0xD5, 0x1D, 0x9B, 0x98, 0xE3, 0x6E, 0x7F, 0xDE, 0xFF, 0x00, 0xEB, 0x57, 0xA0, 0x7C, 0x49, 0xD4, 0xBC, 0xA3, 0x34, 0xB2, 0x30, 0xDB, 0x18, 0x27, 0xFD, 0xE3, 0xD8, 0x7E, 0x35, 0xC4, 0x58, 0xC8, 0x57, 0x4D, 0x91, 0xA5, 0xF9, 0x86, 0x73, 0xCF, 0x76, 0x3C, 0x9A, 0xF7, 0xA8, 0xD3, 0xB2, 0x3F, 0x2B, 0xC7, 0x54, 0xBD, 0x46, 0x73, 0x9A, 0x85, 0xB8, 0x83, 0x53, 0x0A, 0x07, 0x08, 0x0B, 0xFD, 0x3B, 0x0F, 0xEB, 0x54, 0xF5, 0x09, 0x98, 0xDB, 0xC9, 0x9E, 0xFF, 0x00, 0x2E, 0x3E, 0xBC, 0x56, 0xA8, 0x8D, 0x75, 0x3D, 0x42, 0x4E, 0x36, 0xEE, 0x3B, 0x06, 0x3D, 0x85, 0x55, 0xD6, 0xED, 0x16, 0x18, 0x76, 0x2F, 0x27, 0x70, 0xE7, 0xF5, 0xAD, 0x7D, 0x0E, 0x14, 0xBA, 0xB3, 0x2F, 0x6E, 0xD3, 0x81, 0xF4, 0xAD, 0x1D, 0x3E, 0x15, 0x87, 0x43, 0x92, 0x7E, 0x3C, 0xCB, 0x89, 0x15, 0x47, 0xB2, 0x86, 0x1C, 0x7E, 0x27, 0x9A, 0xCE, 0x64, 0x64, 0x3E, 0xFC, 0x63, 0xEB, 0x5A, 0x9B, 0x76, 0x41, 0x0C, 0x3F, 0xDD, 0xC3, 0x13, 0xEA, 0x07, 0xFF, 0x00, 0x5E, 0x95, 0xAE, 0x57, 0x99, 0x4F, 0x55, 0x63, 0x23, 0xC7, 0x19, 0x1D, 0x72, 0x48, 0xF5, 0xAD, 0xBD, 0x06, 0xDB, 0x6D, 0xBC, 0x7D, 0x7E, 0x71, 0xBA, 0xB1, 0x10, 0x7D, 0xAE, 0xFB, 0x77, 0xF0, 0xF2, 0x07, 0xE1, 0xFF, 0x00, 0xEB, 0xAE, 0x9B, 0x41, 0x5D, 0xF6, 0xD1, 0x11, 0xFD, 0xCE, 0x3F, 0x4A, 0xA5, 0xBD, 0xD0, 0x72, 0xDD, 0x1E, 0xAF, 0xF0, 0x42, 0x45, 0x9F, 0x4A, 0xBA, 0xD3, 0xE4, 0x6C, 0xC7, 0x23, 0x15, 0xC7, 0xB3, 0xF3, 0xFC, 0xF7, 0x57, 0xEC, 0x8F, 0xEC, 0x59, 0xFB, 0x48, 0x69, 0xFF, 0x00, 0x17, 0xBE, 0x02, 0xE8, 0x6F, 0xA8, 0xEB, 0x1A, 0x7F, 0xFC, 0x24, 0xFA, 0x45, 0xB0, 0xB1, 0xD5, 0x61, 0x7B, 0x95, 0x5B, 0x81, 0x2C, 0x3F, 0x22, 0xCE, 0xCA, 0x48, 0x6C, 0x48, 0x9E, 0x5C, 0x9B, 0xBA, 0x65, 0xC8, 0xCE, 0x46, 0x2B, 0xF1, 0x63, 0xE1, 0xC5, 0xCF, 0xF6, 0x36, 0xA3, 0x6E, 0x7F, 0xE7, 0xEE, 0x32, 0xA7, 0xD9, 0x94, 0xE4, 0x7E, 0x84, 0xD7, 0xD8, 0x3F, 0xB1, 0xBF, 0x80, 0x3C, 0x49, 0xF1, 0x87, 0xE2, 0x15, 0xC6, 0x9F, 0xE1, 0x19, 0x5B, 0xFB, 0x6A, 0x3D, 0x38, 0xEA, 0xF6, 0xD0, 0x47, 0x7B, 0xF6, 0x59, 0xE6, 0x68, 0x19, 0x55, 0xC4, 0x0C, 0x48, 0x1E, 0x68, 0x59, 0x03, 0x63, 0x70, 0x25, 0x62, 0x6C, 0x64, 0x8C, 0x56, 0x98, 0x7E, 0x45, 0x5B, 0x96, 0xAC, 0x94, 0x53, 0xEA, 0xF6, 0xF9, 0xF6, 0x3E, 0x8B, 0x07, 0x5A, 0x7F, 0x57, 0x52, 0xA5, 0x07, 0x39, 0x2D, 0x2C, 0xB7, 0x7A, 0xF4, 0xDF, 0x63, 0xF4, 0x3B, 0xE2, 0x9F, 0xC4, 0xDF, 0x1A, 0x7C, 0x50, 0xF0, 0xDB, 0x68, 0x3F, 0x0A, 0xFC, 0x3D, 0xAD, 0xEB, 0x12, 0x5C, 0xA1, 0x8A, 0xEB, 0x5E, 0x48, 0xBE, 0xCF, 0x6B, 0x11, 0x27, 0x04, 0x41, 0x34, 0xBB, 0x63, 0x66, 0xC6, 0x7F, 0x79, 0xB8, 0x05, 0xEA, 0x33, 0xF7, 0x87, 0x99, 0xAF, 0xEC, 0x2B, 0x61, 0xFB, 0x36, 0x7C, 0x27, 0xD5, 0xFC, 0x6D, 0xF1, 0x2B, 0x59, 0xB4, 0x99, 0xB4, 0x7B, 0x29, 0x2E, 0xED, 0xBC, 0x3F, 0xA7, 0xCC, 0x71, 0x79, 0x3F, 0x48, 0xA2, 0x9E, 0xE3, 0x83, 0xF3, 0xCA, 0xC8, 0x85, 0x62, 0x1D, 0x5B, 0x3E, 0x6F, 0x5A, 0xE2, 0x6F, 0xFF, 0x00, 0x6B, 0x7F, 0x8D, 0xBF, 0x09, 0x67, 0x4D, 0x2F, 0x58, 0xF1, 0x5F, 0x8B, 0x34, 0xDB, 0xC8, 0xCE, 0x04, 0x3A, 0xED, 0xAA, 0xCD, 0x71, 0x81, 0xFE, 0xD5, 0xD4, 0x6C, 0xEC, 0x0F, 0xAE, 0x4D, 0x73, 0x3E, 0x2A, 0xF8, 0x95, 0xE3, 0x4F, 0xDA, 0x87, 0x55, 0xB6, 0xD3, 0x7C, 0x41, 0xAF, 0x5C, 0x6B, 0x11, 0xC2, 0xE2, 0x47, 0xDF, 0x04, 0x31, 0xC3, 0x6C, 0x07, 0x3B, 0x99, 0x62, 0x44, 0x07, 0xD9, 0x4F, 0x53, 0x8F, 0xA8, 0xF7, 0x29, 0xE5, 0xF8, 0xF8, 0xC7, 0x96, 0x35, 0x21, 0x0A, 0x4D, 0xEA, 0xE2, 0xDB, 0x93, 0x5E, 0xAD, 0x7E, 0x47, 0x25, 0x6C, 0x76, 0x5F, 0x1F, 0x79, 0xD3, 0x9C, 0xAA, 0x47, 0x65, 0x24, 0x94, 0x53, 0xF4, 0x4F, 0x5F, 0x99, 0xCC, 0xFE, 0xCC, 0x3F, 0x0F, 0x26, 0xD6, 0xFC, 0x48, 0x35, 0xFB, 0xD4, 0xDD, 0x6B, 0xA6, 0xFF, 0x00, 0xA9, 0x62, 0xB8, 0x13, 0xDC, 0x11, 0xF7, 0x80, 0xE9, 0x85, 0x07, 0x3F, 0xEF, 0x15, 0xC7, 0x43, 0x5F, 0x4D, 0x7C, 0x3B, 0xB7, 0xFE, 0xD3, 0xF1, 0x32, 0xDB, 0xAE, 0xD6, 0x92, 0x4C, 0x2A, 0x06, 0xEC, 0x6B, 0x0F, 0xC1, 0x7F, 0x0E, 0x2F, 0x23, 0x36, 0xBA, 0x1E, 0x95, 0x63, 0x37, 0x97, 0x12, 0x7C, 0x81, 0x87, 0x2C, 0x3A, 0x96, 0x27, 0xBE, 0x49, 0xCE, 0x7D, 0xEB, 0xE9, 0x5F, 0x83, 0x5F, 0x02, 0xAC, 0x7C, 0x1B, 0xA6, 0x59, 0xDD, 0xDF, 0xDB, 0xAC, 0x9A, 0xA8, 0xF9, 0xCB, 0x1E, 0x76, 0x93, 0xDA, 0xB8, 0x33, 0xEC, 0xEA, 0x85, 0x0A, 0x6E, 0xEF, 0x57, 0xA2, 0x48, 0xC3, 0x87, 0x32, 0x1C, 0x5E, 0x63, 0x8C, 0x53, 0x51, 0xB4, 0x22, 0xF5, 0x6D, 0x3B, 0x7A, 0x2F, 0x33, 0x8C, 0x3E, 0x02, 0x8B, 0xE1, 0xA7, 0xED, 0x0B, 0xE0, 0xFD, 0x68, 0x06, 0x8E, 0x1F, 0x10, 0x5A, 0x4D, 0xA5, 0x5D, 0x9C, 0xF0, 0xB7, 0x2A, 0xBE, 0x6C, 0x64, 0xFF, 0x00, 0xBE, 0xA8, 0x57, 0xFE, 0x00, 0x3D, 0x6B, 0x43, 0xE3, 0x97, 0x8A, 0xEF, 0xFE, 0x37, 0xF9, 0x3E, 0x03, 0xD2, 0x3C, 0xCB, 0x78, 0xEE, 0xA5, 0x13, 0x6A, 0xF7, 0x87, 0xEE, 0x41, 0x6E, 0xAC, 0x70, 0xA3, 0xD5, 0x9C, 0xA8, 0xC0, 0xF4, 0xAE, 0xCB, 0xE3, 0xD5, 0xDD, 0x8E, 0x9D, 0xE1, 0x75, 0x7B, 0xB5, 0x0A, 0xD0, 0x4A, 0x97, 0x36, 0xEC, 0x07, 0x31, 0xCB, 0x19, 0xDE, 0x84, 0x7E, 0x23, 0x07, 0xD8, 0x91, 0x5F, 0x35, 0xF8, 0x43, 0xE3, 0x7D, 0xE5, 0xF7, 0xC6, 0xF8, 0x6E, 0x60, 0x82, 0xE2, 0x2D, 0x3A, 0x79, 0x18, 0x15, 0x08, 0x70, 0x77, 0x77, 0x3E, 0xA7, 0x3F, 0x96, 0x2B, 0xE3, 0xB0, 0x7E, 0xD7, 0x18, 0xBE, 0xB5, 0xF6, 0xA9, 0xAD, 0x1B, 0xEE, 0xAE, 0xD7, 0xAB, 0x5F, 0xA1, 0xFA, 0x46, 0x65, 0x88, 0xA3, 0x96, 0xCD, 0x60, 0x9F, 0xC3, 0x52, 0x4A, 0xE9, 0x6F, 0x66, 0x92, 0x7E, 0x9B, 0x7E, 0x27, 0xBF, 0x0F, 0x08, 0x58, 0xF8, 0x0B, 0xC2, 0x96, 0xFA, 0x6E, 0x9F, 0x12, 0xC3, 0x6F, 0x6C, 0x9B, 0x40, 0xEE, 0xDE, 0xE7, 0xDC, 0xF5, 0xAF, 0x3B, 0xF1, 0x73, 0xAA, 0x43, 0x21, 0xF4, 0xE4, 0xD4, 0x9F, 0x14, 0x7F, 0x69, 0x0B, 0x5D, 0x32, 0xFA, 0x4B, 0x34, 0xB4, 0xBE, 0x9B, 0x67, 0x0C, 0x52, 0x12, 0x54, 0x1F, 0xAD, 0x72, 0x67, 0xC5, 0x13, 0x78, 0xAF, 0x45, 0x92, 0x78, 0xED, 0xAE, 0x15, 0x5B, 0xA2, 0xB4, 0x67, 0x75, 0x79, 0xF4, 0x70, 0x75, 0xE2, 0xFD, 0xB5, 0x45, 0xBF, 0x53, 0xD6, 0xC4, 0xE6, 0x98, 0x4A, 0x89, 0xE1, 0xE8, 0xBB, 0xB8, 0xAD, 0x97, 0x4B, 0x1E, 0x37, 0xF1, 0x33, 0x5F, 0xF3, 0x35, 0x39, 0x53, 0x35, 0xE7, 0x5A, 0x85, 0xF1, 0x6B, 0x83, 0x9E, 0xF5, 0xD6, 0xF8, 0xEF, 0x44, 0xD4, 0x9F, 0x59, 0x90, 0xFD, 0x86, 0xF0, 0x8D, 0xD9, 0x18, 0x89, 0xBF, 0xC2, 0xB9, 0x5B, 0xBF, 0x0E, 0x6A, 0x4C, 0x73, 0xFD, 0x9F, 0x7B, 0xED, 0xFB, 0x86, 0xFF, 0x00, 0x0A, 0xFD, 0x3B, 0x09, 0x2A, 0x50, 0xA5, 0x14, 0x9A, 0xDB, 0xB9, 0xF8, 0x0E, 0x69, 0x1A, 0xF5, 0x71, 0x33, 0x6E, 0x2F, 0x77, 0xD1, 0x9F, 0x9C, 0x7B, 0xD8, 0x0F, 0x5A, 0xD3, 0xF0, 0x83, 0x0F, 0xF8, 0x4B, 0xB4, 0x9F, 0xFA, 0xFD, 0x87, 0xFF, 0x00, 0x43, 0x15, 0x95, 0xBB, 0x23, 0x8A, 0xD3, 0xF0, 0x6A, 0xEF, 0xF1, 0x96, 0x8E, 0xBF, 0xDE, 0xBE, 0x80, 0x7F, 0xE4, 0x45, 0xAC, 0xA5, 0xA2, 0xB9, 0xC1, 0x4F, 0xE3, 0x5E, 0xA8, 0xFE, 0x85, 0x3E, 0x1C, 0xCC, 0xDA, 0x57, 0xC0, 0x5B, 0x59, 0x22, 0x8D, 0x5A, 0x4B, 0x7D, 0x2D, 0xA4, 0x54, 0x61, 0x90, 0xEC, 0x10, 0x9C, 0x11, 0xFA, 0x57, 0xE7, 0x1B, 0xFF, 0x00, 0xC1, 0x42, 0x7E, 0x26, 0x41, 0x7D, 0x20, 0x87, 0xE1, 0xEF, 0x87, 0x54, 0xC7, 0x23, 0x00, 0x46, 0x9A, 0xDE, 0xA6, 0xBF, 0x48, 0xFC, 0x19, 0x09, 0xB2, 0xF8, 0x51, 0x1C, 0x2D, 0xF7, 0xA1, 0xB2, 0x64, 0x23, 0xE8, 0xA6, 0xBE, 0x11, 0x1A, 0x90, 0x8A, 0xEA, 0x4F, 0xBB, 0xFE, 0xB1, 0xBB, 0x7B, 0x9A, 0xF9, 0x6E, 0x15, 0xC2, 0xD2, 0xC4, 0x54, 0xC4, 0x3A, 0x8A, 0xFA, 0xAB, 0x6A, 0xFA, 0xDC, 0xFD, 0x67, 0xC4, 0x6C, 0x55, 0x7C, 0x3D, 0x2C, 0x1A, 0xA5, 0x2E, 0x5F, 0x75, 0xDF, 0x45, 0xD3, 0x97, 0xBA, 0x67, 0x37, 0xA4, 0x7F, 0xC1, 0x44, 0x3E, 0x36, 0xDD, 0x5D, 0x05, 0xD3, 0x7C, 0x0F, 0xA6, 0xAC, 0xBE, 0x90, 0xE9, 0xAD, 0x9A, 0xEC, 0x17, 0xE2, 0x5F, 0x8C, 0xBC, 0x67, 0xE2, 0x4B, 0x1B, 0xAD, 0x57, 0x4B, 0x7F, 0x27, 0x56, 0xB6, 0x13, 0xEA, 0xB7, 0x49, 0x6E, 0x56, 0x3B, 0x69, 0xBF, 0x86, 0x3C, 0xF4, 0x5F, 0xA5, 0x6C, 0xF8, 0x3B, 0xC7, 0x2F, 0xE1, 0xDB, 0xCF, 0x3A, 0x1D, 0xAB, 0x36, 0xD2, 0xA0, 0xE3, 0xD4, 0x57, 0x67, 0xE0, 0x3F, 0x1A, 0x35, 0xE7, 0xC2, 0xBF, 0x11, 0xE8, 0x72, 0xA8, 0x90, 0xDC, 0xB2, 0xDE, 0x2B, 0xFF, 0x00, 0x16, 0xE5, 0x23, 0x35, 0xF5, 0xCB, 0x0D, 0x0C, 0x34, 0xBD, 0xA5, 0x28, 0x2D, 0xE2, 0xBC, 0xED, 0x7D, 0x7E, 0xE3, 0xE2, 0xF2, 0xDC, 0x75, 0x5C, 0x4C, 0x7D, 0x9D, 0x7A, 0xCF, 0xC9, 0x59, 0x5A, 0xF6, 0x76, 0x5F, 0x3D, 0x99, 0xCD, 0xE9, 0x97, 0x86, 0xD6, 0xE3, 0x70, 0x6E, 0xC4, 0x7E, 0x95, 0xCE, 0xF8, 0xA3, 0xE3, 0x7F, 0xC6, 0x6F, 0x85, 0xFA, 0x84, 0xD6, 0xFF, 0x00, 0x0F, 0x7C, 0x2B, 0x71, 0xAC, 0x68, 0xF7, 0x71, 0x06, 0xBA, 0x9F, 0xFB, 0x3C, 0xCE, 0x85, 0xC6, 0x78, 0xDD, 0xED, 0xE9, 0x5A, 0xCB, 0x25, 0x7D, 0xE1, 0xFB, 0x15, 0x68, 0xF1, 0xDA, 0x7E, 0xCF, 0xBA, 0x77, 0x98, 0xA0, 0xFD, 0xAD, 0xE4, 0x91, 0xB2, 0x3B, 0x12, 0x6B, 0x3E, 0x2C, 0xCC, 0x23, 0x84, 0xC1, 0xA9, 0xCA, 0x0A, 0x57, 0x69, 0x59, 0xFD, 0xE7, 0xD1, 0xE4, 0x39, 0x5D, 0x4C, 0x7D, 0x77, 0x46, 0x9D, 0x47, 0x4E, 0xCA, 0xF7, 0x5B, 0xFF, 0x00, 0x4C, 0xFC, 0xCC, 0x3F, 0xB7, 0x27, 0xED, 0x11, 0xA7, 0x96, 0x93, 0xFE, 0x11, 0x38, 0x60, 0x31, 0x02, 0xCC, 0x7F, 0xB2, 0x88, 0xDA, 0x05, 0x41, 0xE0, 0xCF, 0xF8, 0x2A, 0x0F, 0xED, 0x27, 0xE3, 0x58, 0xA6, 0x3E, 0x17, 0xB1, 0x8F, 0x50, 0x5B, 0x77, 0x11, 0xCA, 0x6D, 0x34, 0xFD, 0xC2, 0x37, 0x3D, 0x01, 0xF7, 0xAF, 0xD0, 0xAF, 0xDA, 0xCB, 0xC0, 0x96, 0xBE, 0x18, 0xD1, 0xF5, 0x2D, 0x46, 0x04, 0x68, 0xD6, 0x6B, 0x67, 0x07, 0x03, 0xE5, 0x07, 0x6B, 0x57, 0xC3, 0xFF, 0x00, 0xF0, 0x4A, 0x0D, 0x41, 0xAC, 0x3E, 0x1B, 0xF8, 0xD6, 0x55, 0x38, 0x3F, 0xDB, 0x91, 0x8C, 0xFF, 0x00, 0xDB, 0x36, 0xAF, 0x06, 0x9D, 0x4C, 0x1E, 0x27, 0x09, 0xF5, 0x88, 0xD1, 0x5B, 0xA5, 0x67, 0xE6, 0x71, 0x57, 0xA3, 0x99, 0x60, 0xF3, 0x1F, 0xA9, 0x54, 0xC5, 0x4D, 0x68, 0xDD, 0xD5, 0xB6, 0x5B, 0x7D, 0xE3, 0x74, 0xCF, 0xDB, 0x83, 0xF6, 0xE0, 0xB9, 0x12, 0x2E, 0x9F, 0xE1, 0x6D, 0x65, 0x84, 0xBC, 0xB0, 0x8B, 0x4B, 0x3F, 0x37, 0xD6, 0xB9, 0x5F, 0x10, 0xFE, 0xD8, 0xDF, 0xB6, 0x9D, 0x8D, 0xCE, 0x6E, 0x7C, 0x1D, 0xA8, 0x46, 0xEC, 0x73, 0xF3, 0xE8, 0x7B, 0x89, 0x35, 0xFA, 0x21, 0xF0, 0xF3, 0xE3, 0xB5, 0xDF, 0x84, 0xE6, 0x69, 0x1E, 0x62, 0xC8, 0x23, 0x20, 0x02, 0x78, 0xCF, 0xAD, 0x70, 0xBE, 0x25, 0xFD, 0xB4, 0xBC, 0x35, 0xE2, 0xDF, 0x89, 0x51, 0xF8, 0x7E, 0x4D, 0x6A, 0xD9, 0xB5, 0x49, 0x0E, 0xD5, 0x8C, 0x30, 0x20, 0xB7, 0xF7, 0x73, 0xEB, 0xED, 0x5E, 0x6D, 0xBD, 0xF6, 0xBE, 0xAD, 0x0B, 0x2F, 0x26, 0x7B, 0xB1, 0xA3, 0x56, 0x2D, 0x4B, 0xEB, 0xD5, 0x17, 0x37, 0x9A, 0x5A, 0x9F, 0x0C, 0xC7, 0xFB, 0x69, 0xFE, 0xDB, 0x92, 0x1F, 0xF4, 0x7F, 0x08, 0xEA, 0xAC, 0x07, 0x23, 0x67, 0x85, 0x04, 0x98, 0xFF, 0x00, 0xC7, 0x6A, 0x74, 0xFD, 0xB0, 0x7F, 0x6F, 0x4B, 0x81, 0x98, 0xFC, 0x17, 0xE2, 0x4C, 0x76, 0x29, 0xE0, 0x95, 0x23, 0x1F, 0xF7, 0xC5, 0x7E, 0x86, 0xC1, 0xE3, 0x2B, 0x1B, 0x6D, 0x4F, 0xEC, 0xED, 0x75, 0x0C, 0x73, 0x30, 0x25, 0x63, 0x67, 0x1B, 0xDC, 0x7D, 0x2B, 0x7A, 0xDF, 0xC4, 0x9E, 0x75, 0x88, 0x58, 0xD7, 0x6B, 0x20, 0xC0, 0x23, 0xF8, 0x86, 0x49, 0xE7, 0xF4, 0xAE, 0x59, 0xE2, 0x29, 0x2D, 0xB0, 0xD0, 0xFB, 0x8F, 0x76, 0x86, 0x57, 0x89, 0x92, 0xFF, 0x00, 0x91, 0x85, 0x5F, 0x93, 0x3F, 0x39, 0x13, 0xF6, 0x91, 0xFF, 0x00, 0x82, 0x86, 0xCD, 0xB3, 0x67, 0x80, 0xFC, 0x66, 0x3C, 0xC3, 0xF2, 0xE3, 0xC0, 0xC8, 0x01, 0xCF, 0xA6, 0x63, 0xAF, 0x3E, 0xF1, 0x07, 0xC1, 0x5F, 0xDA, 0xDF, 0xE3, 0x5F, 0xC4, 0x2B, 0xED, 0x67, 0xC5, 0x5F, 0x03, 0xFC, 0x77, 0xA9, 0xEA, 0x5A, 0xA1, 0x44, 0xB9, 0x9F, 0x4F, 0xF0, 0xB7, 0xD9, 0x64, 0x67, 0x18, 0x1B, 0xCA, 0x20, 0x0A, 0xCE, 0x57, 0x00, 0x92, 0x01, 0x38, 0x07, 0x24, 0xF5, 0xFD, 0x9F, 0xF8, 0x3B, 0x6B, 0x75, 0xF1, 0x27, 0x5D, 0x5B, 0x55, 0x99, 0x6D, 0xD6, 0x06, 0x59, 0x5E, 0x42, 0xC4, 0xE0, 0x0F, 0x97, 0x8E, 0x7D, 0xEB, 0xE9, 0xDF, 0x87, 0x7A, 0x05, 0xA7, 0x83, 0xAD, 0xFE, 0x61, 0x13, 0x5C, 0x4A, 0x46, 0xE7, 0x3D, 0x7F, 0x03, 0xD6, 0xBC, 0x5A, 0x99, 0xDA, 0xA7, 0x3F, 0x67, 0xEC, 0x29, 0xAE, 0xED, 0x26, 0x9A, 0xFB, 0x8C, 0x33, 0x4C, 0xB6, 0xA6, 0x16, 0x2A, 0x7F, 0x5D, 0xAB, 0x51, 0xEE, 0xA2, 0xDA, 0x6B, 0xE7, 0x73, 0xF9, 0xCE, 0xF8, 0x91, 0xF0, 0xC7, 0xE2, 0x17, 0xC1, 0x7B, 0x9B, 0x0D, 0x37, 0xE2, 0x1F, 0x82, 0xBC, 0x69, 0xE0, 0xF8, 0x5D, 0x3E, 0xD5, 0x6A, 0xFA, 0xDE, 0x8F, 0x71, 0x69, 0x1C, 0x9B, 0x70, 0x31, 0xE6, 0xBA, 0x84, 0x6C, 0x67, 0xA0, 0x27, 0x1C, 0x83, 0xD4, 0x57, 0x39, 0xAD, 0xEA, 0x21, 0x7C, 0xB8, 0x6D, 0xDB, 0xF7, 0xD7, 0x99, 0x00, 0xFF, 0x00, 0x75, 0x7B, 0x9F, 0xF3, 0xEF, 0x5F, 0xD3, 0x87, 0x89, 0xFF, 0x00, 0xE2, 0x6D, 0x6F, 0xE5, 0xBB, 0x2B, 0x5B, 0xC8, 0x0A, 0xCB, 0x1B, 0x7C, 0xCA, 0xEB, 0x83, 0xC1, 0x07, 0x82, 0x0E, 0x70, 0x41, 0xAF, 0xCB, 0xBF, 0xDB, 0x5F, 0xFE, 0x08, 0x99, 0xE0, 0xBB, 0xDF, 0x1B, 0x6A, 0xBE, 0x39, 0xF8, 0x7F, 0xE3, 0x4B, 0x0F, 0x00, 0xBE, 0xA0, 0x49, 0x1E, 0x16, 0xBE, 0xB1, 0x69, 0x34, 0x93, 0x39, 0x24, 0xB7, 0xD9, 0x1A, 0x1F, 0xDE, 0xDB, 0xAB, 0x64, 0xB7, 0x96, 0xB1, 0xCA, 0x89, 0x93, 0xB4, 0x22, 0x00, 0xAB, 0xAE, 0x17, 0x38, 0xA7, 0x2A, 0xDE, 0xC6, 0x6A, 0xD7, 0xD9, 0xEF, 0x7F, 0xB8, 0xC2, 0x8E, 0x2A, 0xAD, 0x58, 0xA9, 0x49, 0x6B, 0xD6, 0xDD, 0x0F, 0xCD, 0x3B, 0x49, 0xD7, 0x45, 0x76, 0xDD, 0xB9, 0x61, 0x55, 0xC1, 0x23, 0xB2, 0x81, 0xD7, 0xF2, 0xAE, 0x67, 0xC4, 0xB3, 0x2C, 0xFA, 0x35, 0xCD, 0xEC, 0xAC, 0xBB, 0xEE, 0x09, 0x6C, 0x6E, 0xFB, 0x83, 0xD3, 0xF0, 0x18, 0x1F, 0x85, 0x7A, 0x87, 0xED, 0x3D, 0xFB, 0x2E, 0x7C, 0x42, 0xFD, 0x9F, 0xB4, 0xE8, 0xDF, 0x5A, 0xD1, 0x5A, 0x7D, 0x2A, 0xE1, 0xD5, 0x4E, 0xA9, 0xA6, 0xB1, 0xBA, 0xB4, 0x8C, 0x75, 0xC3, 0xB0, 0x00, 0xC7, 0xCE, 0x07, 0xCE, 0xAA, 0x0F, 0x38, 0x26, 0xBC, 0x1F, 0xC7, 0x17, 0x0A, 0x34, 0xE6, 0xF9, 0xB6, 0xC6, 0xAB, 0x83, 0xE9, 0x81, 0x5F, 0x47, 0x0A, 0x4F, 0x9A, 0xEC, 0x9C, 0x65, 0x7E, 0x48, 0x38, 0xB3, 0xC2, 0x7E, 0x27, 0xEA, 0x1F, 0xDA, 0x7A, 0xEA, 0xDB, 0xC7, 0x9F, 0x2A, 0x33, 0xBD, 0xBF, 0xDA, 0x23, 0xA5, 0x73, 0x77, 0xB7, 0x1E, 0x4D, 0x9B, 0x2F, 0x65, 0x25, 0xBE, 0xB5, 0xB5, 0xAC, 0xC9, 0xF6, 0x8B, 0x99, 0xEE, 0x18, 0x7C, 0xD3, 0x3E, 0x40, 0xF4, 0x02, 0xB0, 0x75, 0x58, 0x9A, 0x48, 0x82, 0x8E, 0xAE, 0x73, 0x8C, 0x76, 0xAF, 0x4A, 0x3A, 0x44, 0xFC, 0xF6, 0xB6, 0xB3, 0x6C, 0xA7, 0xA4, 0x29, 0x85, 0x56, 0x4F, 0xE2, 0x39, 0x3F, 0x52, 0x6A, 0x39, 0x9B, 0xED, 0x37, 0x64, 0x63, 0xEE, 0x92, 0xC7, 0xD3, 0xD3, 0x1F, 0xAD, 0x5C, 0x92, 0x2F, 0x21, 0x02, 0xAF, 0xF0, 0x8C, 0x67, 0x34, 0xBA, 0x36, 0x9D, 0xE7, 0x46, 0xF2, 0x63, 0x86, 0x3B, 0x41, 0x3E, 0x83, 0xFF, 0x00, 0xAF, 0x54, 0xBB, 0x18, 0x98, 0xD7, 0x36, 0x78, 0xD4, 0x82, 0xE3, 0xDF, 0x1F, 0x5E, 0x94, 0xF9, 0x39, 0x49, 0x1B, 0x1D, 0x3E, 0x51, 0xF4, 0xAD, 0x7B, 0xAD, 0x1D, 0xD2, 0xDE, 0x4B, 0xB6, 0x52, 0x15, 0x89, 0xDA, 0x4F, 0xA0, 0xE0, 0x55, 0x11, 0x6F, 0xC4, 0x69, 0xD4, 0x7D, 0xE6, 0xFC, 0x2A, 0x63, 0xA9, 0x72, 0x8D, 0x8A, 0xF6, 0x56, 0xB8, 0x70, 0xB8, 0xE5, 0x54, 0x0E, 0x7D, 0x4F, 0x35, 0xB3, 0xA5, 0xDE, 0xFD, 0x80, 0x46, 0x9E, 0x5E, 0xE0, 0xA4, 0x92, 0x41, 0xEB, 0xCD, 0x57, 0xD2, 0x6D, 0x95, 0xD1, 0xE6, 0x6E, 0xEC, 0x48, 0x14, 0xF8, 0xA3, 0xF2, 0xE1, 0x5C, 0xF5, 0x23, 0x3C, 0xF7, 0x27, 0xAD, 0x17, 0xB2, 0xD0, 0x67, 0x69, 0xA6, 0xF8, 0x8A, 0xDC, 0xFD, 0x8D, 0xA3, 0x8E, 0x65, 0x68, 0x66, 0x47, 0x60, 0x71, 0xD3, 0x90, 0x70, 0x6B, 0xE8, 0x6F, 0xD9, 0xCF, 0xC7, 0x5E, 0x2A, 0xB5, 0xF8, 0x81, 0xA2, 0x5A, 0xFC, 0x3D, 0x6D, 0x5A, 0x1F, 0x1D, 0x5D, 0x5C, 0x1B, 0x3D, 0x19, 0xEC, 0xCC, 0x69, 0x27, 0x9B, 0x32, 0xB4, 0x78, 0x0C, 0xE7, 0x68, 0x52, 0xAE, 0xC1, 0x8B, 0x0D, 0xA1, 0x49, 0x24, 0x8C, 0x64, 0x7C, 0xB9, 0xA6, 0x66, 0x3B, 0x67, 0xFF, 0x00, 0x65, 0x54, 0x8F, 0x6E, 0x49, 0xAF, 0xA4, 0x7F, 0x64, 0x3F, 0x1B, 0x6A, 0x1F, 0x0E, 0x3E, 0x2A, 0x68, 0xFE, 0x2E, 0xD2, 0xDD, 0x46, 0xA1, 0xE1, 0x99, 0x63, 0xBB, 0xB7, 0x52, 0x70, 0xB2, 0xB1, 0xC8, 0x68, 0xDB, 0xFD, 0x97, 0x8F, 0x7A, 0x37, 0xFB, 0x2E, 0x6B, 0x9F, 0x15, 0x52, 0x4D, 0x7F, 0x9E, 0xC7, 0xB9, 0x91, 0xD9, 0xCD, 0xC2, 0xED, 0x79, 0xAD, 0xD7, 0xA7, 0x9F, 0x63, 0xE9, 0xAF, 0x88, 0x76, 0x3F, 0xB6, 0x6D, 0xA6, 0x9F, 0xF6, 0x4F, 0x13, 0x5F, 0x6B, 0xB3, 0x5A, 0xC8, 0x79, 0x82, 0xEA, 0xEB, 0x4A, 0xB8, 0x8D, 0xBF, 0xE0, 0x3C, 0x8F, 0xD2, 0xB9, 0xFD, 0x37, 0xC4, 0x7F, 0xB5, 0x86, 0x89, 0x64, 0xB6, 0xD6, 0x3A, 0xD6, 0xB7, 0x63, 0x6A, 0xA7, 0x29, 0x15, 0xBD, 0xCE, 0x9D, 0x14, 0x6A, 0x4F, 0xA2, 0xAE, 0x00, 0xFC, 0x05, 0x7D, 0x51, 0xF1, 0x07, 0xF6, 0x95, 0xD3, 0xFE, 0x31, 0x5C, 0xD9, 0xEA, 0xBA, 0x71, 0x76, 0xD3, 0x2F, 0x21, 0x59, 0x63, 0x0D, 0x8D, 0xC9, 0x9E, 0xAA, 0xC3, 0x3C, 0x32, 0x9C, 0xA9, 0x1D, 0x88, 0x22, 0xB8, 0xEF, 0x13, 0x78, 0x9F, 0xC9, 0x28, 0xB1, 0xB7, 0x1C, 0x37, 0x1F, 0xCA, 0xBE, 0x8B, 0x03, 0x85, 0x85, 0x4A, 0x31, 0xF6, 0xD4, 0xE2, 0x9B, 0xD6, 0xC9, 0x2B, 0x1F, 0x33, 0x99, 0xE2, 0xAA, 0x53, 0xC5, 0x4E, 0x18, 0x7C, 0x45, 0x46, 0x96, 0x97, 0x72, 0x77, 0xD0, 0xF2, 0xAD, 0x12, 0xCB, 0xF6, 0xD3, 0xF1, 0x22, 0xC6, 0xD6, 0x7E, 0x24, 0xF1, 0x14, 0x9B, 0xD7, 0x72, 0x7F, 0xC4, 0xF3, 0x4E, 0x8C, 0x91, 0xF8, 0xB7, 0x15, 0x6F, 0x44, 0xD0, 0x7F, 0x6D, 0xFD, 0x6F, 0x50, 0x92, 0xCE, 0xC7, 0xC5, 0x9E, 0x28, 0x92, 0xE2, 0x0F, 0xBD, 0x1C, 0x7E, 0x26, 0xB1, 0xC2, 0xFF, 0x00, 0xE4, 0x4C, 0x57, 0xAB, 0xDF, 0x7C, 0x4A, 0xBA, 0xD0, 0xB4, 0x08, 0xDA, 0xCA, 0xE1, 0xA3, 0xFB, 0x42, 0x15, 0x72, 0x0F, 0x2B, 0xEB, 0x5B, 0x5F, 0xB2, 0xE7, 0xC5, 0xCF, 0xF8, 0x46, 0xBC, 0x7F, 0x8B, 0xA9, 0x09, 0x4B, 0xA3, 0x82, 0x58, 0xF7, 0xAE, 0x0C, 0x66, 0x09, 0xC2, 0x8C, 0xEB, 0x42, 0x9C, 0x1D, 0xB6, 0x5C, 0xA7, 0xA9, 0x96, 0xE2, 0xA1, 0x5B, 0x11, 0x4B, 0x0F, 0x5B, 0x11, 0x59, 0x73, 0x3F, 0x79, 0xFB, 0x47, 0xD7, 0xB1, 0xE0, 0x1E, 0x35, 0xB2, 0xFD, 0xB5, 0x3C, 0x1B, 0xA9, 0x59, 0xD9, 0xEB, 0x5E, 0x2D, 0xF1, 0x74, 0x57, 0x3A, 0x84, 0xAB, 0x05, 0xBC, 0x7F, 0xF0, 0x90, 0x5B, 0x49, 0xE6, 0x3B, 0x1C, 0x01, 0xF2, 0x39, 0xC7, 0x35, 0xE2, 0x8B, 0xFB, 0x63, 0x7C, 0x6E, 0xBE, 0x9A, 0xE1, 0x24, 0xF8, 0x81, 0xE2, 0x47, 0x92, 0xD2, 0x43, 0x14, 0xAB, 0x2D, 0xD8, 0xDC, 0xAC, 0x09, 0xC8, 0xFC, 0xF3, 0x5F, 0xA2, 0x3F, 0xB5, 0x47, 0xC5, 0x8B, 0x29, 0x7E, 0x35, 0xF8, 0x16, 0x18, 0xE6, 0x0C, 0x5B, 0x57, 0xB5, 0x5D, 0xA0, 0xE7, 0x93, 0x2A, 0x81, 0xFE, 0x7D, 0xAB, 0xF2, 0xF3, 0x5F, 0x8F, 0xEC, 0x3F, 0x12, 0x3C, 0x59, 0x0F, 0x3F, 0xBB, 0xD5, 0x6E, 0x57, 0x07, 0xB6, 0x25, 0x7A, 0x32, 0x7A, 0x74, 0xEB, 0xC2, 0x2E, 0xB5, 0x28, 0xA6, 0xD5, 0xF4, 0x8A, 0x5D, 0x5A, 0x33, 0xE2, 0x48, 0x54, 0xC1, 0xD6, 0x94, 0x30, 0xD8, 0x8A, 0x92, 0x8A, 0x93, 0x8E, 0xB3, 0x6F, 0xEC, 0xA7, 0xE5, 0xDC, 0xE9, 0xAE, 0x3F, 0x6A, 0x9F, 0x8B, 0xF7, 0x27, 0xF7, 0x9E, 0x34, 0xD6, 0x1F, 0xD4, 0xB4, 0xC0, 0xFF, 0x00, 0x4A, 0x8C, 0x7E, 0xD4, 0x1F, 0x17, 0x19, 0x7E, 0x5F, 0x1A, 0x6A, 0xCA, 0x3D, 0xA6, 0x03, 0xFA, 0x57, 0x27, 0x3C, 0xF8, 0xFC, 0x7D, 0x6A, 0x9C, 0x92, 0x90, 0x31, 0x9E, 0x2B, 0xDB, 0x96, 0x5F, 0x86, 0xFE, 0x45, 0xF7, 0x1F, 0x37, 0x1C, 0xC3, 0x17, 0xBF, 0xB5, 0x97, 0xFE, 0x04, 0xCF, 0x52, 0xB5, 0xF8, 0x8B, 0xF1, 0xBF, 0x57, 0xD2, 0x56, 0xFA, 0x1F, 0x16, 0x6A, 0x52, 0xC0, 0xDD, 0x1B, 0xED, 0x23, 0x3F, 0xCA, 0xB3, 0xE6, 0xF8, 0x9D, 0xF1, 0x9B, 0x3C, 0xF8, 0xAB, 0x55, 0xEB, 0xFF, 0x00, 0x3F, 0x03, 0xFC, 0x2B, 0x2B, 0xE1, 0xBF, 0xC5, 0x19, 0x7C, 0x34, 0x92, 0x59, 0x4C, 0xCC, 0xD6, 0xB3, 0xF0, 0xA0, 0xFF, 0x00, 0x01, 0xF6, 0xAE, 0xCD, 0xAF, 0xC5, 0xCA, 0xEF, 0x56, 0xCA, 0xB7, 0x35, 0x8C, 0x70, 0x74, 0x96, 0xF0, 0x5F, 0x71, 0xA4, 0xB1, 0x95, 0xDD, 0xB9, 0x6A, 0xCB, 0xFF, 0x00, 0x02, 0x67, 0xFF, 0xD9
-};
-#endif
diff --git a/components/drivers/usb/cherryusb/demo/usb_host.c b/components/drivers/usb/cherryusb/demo/usb_host.c
index dfcd66de36..8c8ac22a0d 100644
--- a/components/drivers/usb/cherryusb/demo/usb_host.c
+++ b/components/drivers/usb/cherryusb/demo/usb_host.c
@@ -31,24 +31,13 @@
#ifndef TEST_USBH_VIDEO
#define TEST_USBH_VIDEO 0
#endif
-#ifndef TEST_USBH_CDC_ECM
-#define TEST_USBH_CDC_ECM 0
-#endif
-#ifndef TEST_USBH_CDC_NCM
-#define TEST_USBH_CDC_NCM 0
-#endif
-#ifndef TEST_USBH_CDC_RNDIS
-#define TEST_USBH_CDC_RNDIS 0
-#endif
-#ifndef TEST_USBH_ASIX
-#define TEST_USBH_ASIX 0
-#endif
-#ifndef TEST_USBH_RTL8152
-#define TEST_USBH_RTL8152 0
+
+#if defined(TEST_USBH_CDC_ECM) || defined(TEST_USBH_CDC_RNDIS) || defined(TEST_USBH_ASIX) || defined(TEST_USBH_RTL8152)
+#error we have move those class implements into platform/none/usbh_lwip.c, and you should call tcpip_init(NULL, NULL) in your app
#endif
#if TEST_USBH_CDC_ACM
-USB_NOCACHE_RAM_SECTION USB_MEM_ALIGNX uint8_t cdc_buffer[512];
+USB_NOCACHE_RAM_SECTION USB_MEM_ALIGNX uint8_t cdc_buffer[4096];
#if TEST_USBH_CDC_SPEED
#define TEST_LEN (16 * 1024)
@@ -96,12 +85,10 @@ static void usbh_cdc_acm_thread(void *argument)
USB_LOG_RAW("per packet len:%d, out speed:%f MB/S\r\n", test_len[j], (test_len[j] * TEST_COUNT / 1024 / 1024) * 1000 / ((float)time_ms));
}
#endif
- memset(cdc_buffer, 0, 512);
+ memset(cdc_buffer, 0x55, 4096);
- const uint8_t data1[10] = { 0x02, 0x00, 0x00, 0x00, 0x02, 0x02, 0x08, 0x14 };
-
- memcpy(cdc_buffer, data1, 10);
- usbh_bulk_urb_fill(&cdc_acm_class->bulkout_urb, cdc_acm_class->hport, cdc_acm_class->bulkout, cdc_buffer, 10, 3000, NULL, NULL);
+ /* for common, we use timeout with 0xffffffff, this is just a test */
+ usbh_bulk_urb_fill(&cdc_acm_class->bulkout_urb, cdc_acm_class->hport, cdc_acm_class->bulkout, cdc_buffer, sizeof(cdc_buffer), 3000, NULL, NULL);
ret = usbh_submit_urb(&cdc_acm_class->bulkout_urb);
if (ret < 0) {
USB_LOG_RAW("bulk out error,ret:%d\r\n", ret);
@@ -110,6 +97,7 @@ static void usbh_cdc_acm_thread(void *argument)
USB_LOG_RAW("send over:%d\r\n", cdc_acm_class->bulkout_urb.actual_length);
}
+ /* we can change cdc_acm_class->bulkin->wMaxPacketSize with 4096 for testing zlp, default is ep mps */
usbh_bulk_urb_fill(&cdc_acm_class->bulkin_urb, cdc_acm_class->hport, cdc_acm_class->bulkin, cdc_buffer, cdc_acm_class->bulkin->wMaxPacketSize, 0xffffffff, usbh_cdc_acm_callback, cdc_acm_class);
ret = usbh_submit_urb(&cdc_acm_class->bulkin_urb);
if (ret < 0) {
@@ -136,8 +124,10 @@ void usbh_hid_callback(void *arg, int nbytes)
USB_LOG_RAW("0x%02x ", hid_buffer[i]);
}
USB_LOG_RAW("nbytes:%d\r\n", nbytes);
+ usbh_int_urb_fill(&hid_class->intin_urb, hid_class->hport, hid_class->intin, hid_buffer, hid_class->intin->wMaxPacketSize, 0, usbh_hid_callback, hid_class);
usbh_submit_urb(&hid_class->intin_urb);
} else if (nbytes == -USB_ERR_NAK) { /* only dwc2 should do this */
+ usbh_int_urb_fill(&hid_class->intin_urb, hid_class->hport, hid_class->intin, hid_buffer, hid_class->intin->wMaxPacketSize, 0, usbh_hid_callback, hid_class);
usbh_submit_urb(&hid_class->intin_urb);
} else {
}
@@ -264,786 +254,6 @@ delete:
}
#endif
-#if 0
-void usbh_videostreaming_parse_mjpeg(struct usbh_urb *urb, struct usbh_videostreaming *stream)
-{
- struct usbh_iso_frame_packet *iso_packet;
- uint32_t num_of_iso_packets;
- uint8_t data_offset;
- uint32_t data_len;
- uint8_t header_len = 0;
-
- num_of_iso_packets = urb->num_of_iso_packets;
- iso_packet = urb->iso_packet;
-
- for (uint32_t i = 0; i < num_of_iso_packets; i++) {
- /*
- uint8_t frameIdentifier : 1U;
- uint8_t endOfFrame : 1U;
- uint8_t presentationTimeStamp : 1U;
- uint8_t sourceClockReference : 1U;
- uint8_t reserved : 1U;
- uint8_t stillImage : 1U;
- uint8_t errorBit : 1U;
- uint8_t endOfHeader : 1U;
- */
- if (iso_packet[i].actual_length == 0) { /* skip no data */
- continue;
- }
-
- header_len = iso_packet[i].transfer_buffer[0];
-
- if ((header_len > 12) || (header_len == 0)) { /* do not be illegal */
- while (1) {
- }
- }
- if (iso_packet[i].transfer_buffer[1] & (1 << 6)) { /* error bit, re-receive */
- stream->bufoffset = 0;
- continue;
- }
-
- if ((stream->bufoffset == 0) && ((iso_packet[i].transfer_buffer[header_len] != 0xff) || (iso_packet[i].transfer_buffer[header_len + 1] != 0xd8))) {
- stream->bufoffset = 0;
- continue;
- }
-
- data_offset = header_len;
- data_len = iso_packet[i].actual_length - header_len;
-
- /** do something here */
-
- stream->bufoffset += data_len;
-
- if (iso_packet[i].transfer_buffer[1] & (1 << 1)) {
- if ((iso_packet[i].transfer_buffer[iso_packet[i].actual_length - 2] != 0xff) || (iso_packet[i].transfer_buffer[iso_packet[i].actual_length - 1] != 0xd9)) {
- stream->bufoffset = 0;
- continue;
- }
-
- /** do something here */
-
- if (stream->video_one_frame_callback) {
- stream->video_one_frame_callback(stream);
- }
- stream->bufoffset = 0;
- }
- }
- /** do something here */
-}
-
-void usbh_videostreaming_parse_yuyv2(struct usbh_urb *urb, struct usbh_videostreaming *stream)
-{
- struct usbh_iso_frame_packet *iso_packet;
- uint32_t num_of_iso_packets;
- uint8_t data_offset;
- uint32_t data_len;
- uint8_t header_len = 0;
-
- num_of_iso_packets = urb->num_of_iso_packets;
- iso_packet = urb->iso_packet;
-
- for (uint32_t i = 0; i < num_of_iso_packets; i++) {
- /*
- uint8_t frameIdentifier : 1U;
- uint8_t endOfFrame : 1U;
- uint8_t presentationTimeStamp : 1U;
- uint8_t sourceClockReference : 1U;
- uint8_t reserved : 1U;
- uint8_t stillImage : 1U;
- uint8_t errorBit : 1U;
- uint8_t endOfHeader : 1U;
- */
-
- if (iso_packet[i].actual_length == 0) { /* skip no data */
- continue;
- }
-
- header_len = iso_packet[i].transfer_buffer[0];
-
- if ((header_len > 12) || (header_len == 0)) { /* do not be illegal */
- while (1) {
- }
- }
- if (iso_packet[i].transfer_buffer[1] & (1 << 6)) { /* error bit, re-receive */
- stream->bufoffset = 0;
- continue;
- }
-
- data_offset = header_len;
- data_len = iso_packet[i].actual_length - header_len;
-
- /** do something here */
-
- stream->bufoffset += data_len;
-
- if (iso_packet[i].transfer_buffer[1] & (1 << 1)) {
- /** do something here */
-
- if (stream->video_one_frame_callback && (stream->bufoffset == stream->buflen)) {
- stream->video_one_frame_callback(stream);
- }
- stream->bufoffset = 0;
- }
- }
-
- /** do something here */
-}
-#endif
-
-#if TEST_USBH_CDC_ECM || TEST_USBH_CDC_NCM || TEST_USBH_CDC_RNDIS || TEST_USBH_ASIX || TEST_USBH_RTL8152
-#include "netif/etharp.h"
-#include "lwip/netif.h"
-#include "lwip/pbuf.h"
-#include "lwip/tcpip.h"
-#if LWIP_DHCP
-#include "lwip/dhcp.h"
-#include "lwip/prot/dhcp.h"
-#endif
-
-#ifdef __RTTHREAD__
-
-#include
-#include
-#include
-
-#else
-#include "FreeRTOS.h"
-#include "task.h"
-#include "semphr.h"
-#include "timers.h"
-
-TimerHandle_t dhcp_handle;
-
-static void dhcp_timeout(TimerHandle_t xTimer)
-{
- struct netif *netif = (struct netif *)pvTimerGetTimerID(xTimer);
- struct dhcp *dhcp;
-
- if (netif_is_up(netif)) {
- dhcp = netif_dhcp_data(netif);
-
- if (dhcp && (dhcp->state == DHCP_STATE_BOUND)) {
- USB_LOG_INFO("IPv4 Address : %s\r\n", ipaddr_ntoa(&netif->ip_addr));
- USB_LOG_INFO("IPv4 Subnet mask : %s\r\n", ipaddr_ntoa(&netif->netmask));
- USB_LOG_INFO("IPv4 Gateway : %s\r\n\r\n", ipaddr_ntoa(&netif->gw));
-
- xTimerStop(xTimer, 0);
- }
- }
-}
-#endif
-#endif
-
-#if TEST_USBH_CDC_ECM
-#include "usbh_cdc_ecm.h"
-
-struct netif g_cdc_ecm_netif;
-
-#ifdef __RTTHREAD__
-static struct eth_device cdc_ecm_dev;
-
-static rt_err_t rt_usbh_cdc_ecm_control(rt_device_t dev, int cmd, void *args)
-{
- struct usbh_cdc_ecm *cdc_ecm_class = (struct usbh_cdc_ecm *)dev->user_data;
-
- switch (cmd) {
- case NIOCTL_GADDR:
-
- /* get mac address */
- if (args)
- rt_memcpy(args, cdc_ecm_class->mac, 6);
- else
- return -RT_ERROR;
-
- break;
-
- default:
- break;
- }
-
- return RT_EOK;
-}
-
-static rt_err_t rt_usbh_cdc_ecm_eth_tx(rt_device_t dev, struct pbuf *p)
-{
- return usbh_cdc_ecm_linkoutput(NULL, p);
-}
-#endif
-
-static err_t usbh_cdc_ecm_if_init(struct netif *netif)
-{
- LWIP_ASSERT("netif != NULL", (netif != NULL));
-
- netif->mtu = 1500;
- netif->flags = NETIF_FLAG_BROADCAST | NETIF_FLAG_ETHARP | NETIF_FLAG_LINK_UP | NETIF_FLAG_UP;
- netif->state = NULL;
- netif->name[0] = 'E';
- netif->name[1] = 'X';
- netif->output = etharp_output;
- netif->linkoutput = usbh_cdc_ecm_linkoutput;
- return ERR_OK;
-}
-
-void usbh_cdc_ecm_run(struct usbh_cdc_ecm *cdc_ecm_class)
-{
-#ifdef __RTTHREAD__
- memset(&cdc_ecm_dev, 0, sizeof(struct eth_device));
-
- cdc_ecm_dev.parent.control = rt_usbh_cdc_ecm_control;
- cdc_ecm_dev.eth_rx = NULL;
- cdc_ecm_dev.eth_tx = rt_usbh_cdc_ecm_eth_tx;
- cdc_ecm_dev.parent.user_data = cdc_ecm_class;
-
- eth_device_init(&cdc_ecm_dev, "u0");
- eth_device_linkchange(&cdc_ecm_dev, RT_TRUE);
-
- usb_osal_thread_create("usbh_cdc_ecm_rx", 2048, CONFIG_USBHOST_PSC_PRIO + 1, usbh_cdc_ecm_rx_thread, cdc_ecm_dev.netif);
-#else
- struct netif *netif = &g_cdc_ecm_netif;
-
- netif->hwaddr_len = 6;
- memcpy(netif->hwaddr, cdc_ecm_class->mac, 6);
-
- IP4_ADDR(&cdc_ecm_class->ipaddr, 0, 0, 0, 0);
- IP4_ADDR(&cdc_ecm_class->netmask, 0, 0, 0, 0);
- IP4_ADDR(&cdc_ecm_class->gateway, 0, 0, 0, 0);
-
- netif = netif_add(netif, &cdc_ecm_class->ipaddr, &cdc_ecm_class->netmask, &cdc_ecm_class->gateway, NULL, usbh_cdc_ecm_if_init, tcpip_input);
- netif_set_default(netif);
- while (!netif_is_up(netif)) {
- }
-
- dhcp_handle = xTimerCreate((const char *)"dhcp", (TickType_t)200, (UBaseType_t)pdTRUE, (void *const)netif, (TimerCallbackFunction_t)dhcp_timeout);
- if (dhcp_handle == NULL) {
- USB_LOG_ERR("timer creation failed! \r\n");
- while (1) {
- }
- }
-
- usb_osal_thread_create("usbh_cdc_ecm_rx", 2048, CONFIG_USBHOST_PSC_PRIO + 1, usbh_cdc_ecm_rx_thread, netif);
-#if LWIP_DHCP
- dhcp_start(netif);
- xTimerStart(dhcp_handle, 0);
-#endif
-#endif
-}
-
-void usbh_cdc_ecm_stop(struct usbh_cdc_ecm *cdc_ecm_class)
-{
-#ifdef __RTTHREAD__
- eth_device_deinit(&cdc_ecm_dev);
-#else
- struct netif *netif = &g_cdc_ecm_netif;
-#if LWIP_DHCP
- dhcp_stop(netif);
- dhcp_cleanup(netif);
- xTimerStop(dhcp_handle, 0);
- xTimerDelete(dhcp_handle, 0);
-#endif
- netif_set_down(netif);
- netif_remove(netif);
-#endif
-}
-#endif
-
-#if TEST_USBH_CDC_NCM
-#include "usbh_cdc_ncm.h"
-
-struct netif g_cdc_ncm_netif;
-
-#ifdef __RTTHREAD__
-static struct eth_device cdc_ncm_dev;
-
-static rt_err_t rt_usbh_cdc_ncm_control(rt_device_t dev, int cmd, void *args)
-{
- struct usbh_cdc_ncm *cdc_ncm_class = (struct usbh_cdc_ncm *)dev->user_data;
-
- switch (cmd) {
- case NIOCTL_GADDR:
-
- /* get mac address */
- if (args)
- rt_memcpy(args, cdc_ncm_class->mac, 6);
- else
- return -RT_ERROR;
-
- break;
-
- default:
- break;
- }
-
- return RT_EOK;
-}
-
-static rt_err_t rt_usbh_cdc_ncm_eth_tx(rt_device_t dev, struct pbuf *p)
-{
- return usbh_cdc_ncm_linkoutput(NULL, p);
-}
-#endif
-
-static err_t usbh_cdc_ncm_if_init(struct netif *netif)
-{
- LWIP_ASSERT("netif != NULL", (netif != NULL));
-
- netif->mtu = 1500;
- netif->flags = NETIF_FLAG_BROADCAST | NETIF_FLAG_ETHARP | NETIF_FLAG_LINK_UP | NETIF_FLAG_UP;
- netif->state = NULL;
- netif->name[0] = 'E';
- netif->name[1] = 'X';
- netif->output = etharp_output;
- netif->linkoutput = usbh_cdc_ncm_linkoutput;
- return ERR_OK;
-}
-
-void usbh_cdc_ncm_run(struct usbh_cdc_ncm *cdc_ncm_class)
-{
-#ifdef __RTTHREAD__
- memset(&cdc_ncm_dev, 0, sizeof(struct eth_device));
-
- cdc_ncm_dev.parent.control = rt_usbh_cdc_ncm_control;
- cdc_ncm_dev.eth_rx = NULL;
- cdc_ncm_dev.eth_tx = rt_usbh_cdc_ncm_eth_tx;
- cdc_ncm_dev.parent.user_data = cdc_ncm_class;
-
- eth_device_init(&cdc_ncm_dev, "u1");
- eth_device_linkchange(&cdc_ncm_dev, RT_TRUE);
-
- usb_osal_thread_create("usbh_cdc_ncm_rx", 2048, CONFIG_USBHOST_PSC_PRIO + 1, usbh_cdc_ncm_rx_thread, cdc_ncm_dev.netif);
-#else
- struct netif *netif = &g_cdc_ncm_netif;
-
- netif->hwaddr_len = 6;
- memcpy(netif->hwaddr, cdc_ncm_class->mac, 6);
-
- IP4_ADDR(&cdc_ncm_class->ipaddr, 0, 0, 0, 0);
- IP4_ADDR(&cdc_ncm_class->netmask, 0, 0, 0, 0);
- IP4_ADDR(&cdc_ncm_class->gateway, 0, 0, 0, 0);
-
- netif = netif_add(netif, &cdc_ncm_class->ipaddr, &cdc_ncm_class->netmask, &cdc_ncm_class->gateway, NULL, usbh_cdc_ncm_if_init, tcpip_input);
- netif_set_default(netif);
- while (!netif_is_up(netif)) {
- }
-
- dhcp_handle = xTimerCreate((const char *)"dhcp", (TickType_t)200, (UBaseType_t)pdTRUE, (void *const)netif, (TimerCallbackFunction_t)dhcp_timeout);
- if (dhcp_handle == NULL) {
- USB_LOG_ERR("timer creation failed! \r\n");
- while (1) {
- }
- }
-
- usb_osal_thread_create("usbh_cdc_ncm_rx", 2048, CONFIG_USBHOST_PSC_PRIO + 1, usbh_cdc_ncm_rx_thread, netif);
-#if LWIP_DHCP
- dhcp_start(netif);
- xTimerStart(dhcp_handle, 0);
-#endif
-#endif
-}
-
-void usbh_cdc_ncm_stop(struct usbh_cdc_ncm *cdc_ncm_class)
-{
-#ifdef __RTTHREAD__
- eth_device_deinit(&cdc_ncm_dev);
-#else
- struct netif *netif = &g_cdc_ncm_netif;
-#if LWIP_DHCP
- dhcp_stop(netif);
- dhcp_cleanup(netif);
- xTimerStop(dhcp_handle, 0);
- xTimerDelete(dhcp_handle, 0);
-#endif
- netif_set_down(netif);
- netif_remove(netif);
-#endif
-}
-#endif
-
-#if TEST_USBH_CDC_RNDIS
-#include "usbh_rndis.h"
-
-struct netif g_rndis_netif;
-
-#ifdef __RTTHREAD__
-
-static struct eth_device rndis_dev;
-
-static rt_timer_t keep_timer = RT_NULL;
-
-static void rndis_dev_keepalive_timeout(void *parameter)
-{
- struct usbh_rndis *rndis_class = (struct usbh_rndis *)parameter;
- usbh_rndis_keepalive(rndis_class);
-}
-
-static void timer_init(struct usbh_rndis *rndis_class)
-{
- keep_timer = rt_timer_create("keep",
- rndis_dev_keepalive_timeout,
- rndis_class,
- 5000,
- RT_TIMER_FLAG_PERIODIC |
- RT_TIMER_FLAG_SOFT_TIMER);
-
- rt_timer_start(keep_timer);
-}
-
-static rt_err_t rt_usbh_rndis_control(rt_device_t dev, int cmd, void *args)
-{
- struct usbh_rndis *rndis_class = (struct usbh_rndis *)dev->user_data;
-
- switch (cmd) {
- case NIOCTL_GADDR:
-
- /* get mac address */
- if (args)
- rt_memcpy(args, rndis_class->mac, 6);
- else
- return -RT_ERROR;
-
- break;
-
- default:
- break;
- }
-
- return RT_EOK;
-}
-
-static rt_err_t rt_usbh_rndis_eth_tx(rt_device_t dev, struct pbuf *p)
-{
- return usbh_rndis_linkoutput(NULL, p);
-}
-
-#else
-TimerHandle_t timer_handle;
-
-static void rndis_dev_keepalive_timeout(TimerHandle_t xTimer)
-{
- struct usbh_rndis *rndis_class = (struct usbh_rndis *)pvTimerGetTimerID(xTimer);
- usbh_rndis_keepalive(rndis_class);
-}
-
-void timer_init(struct usbh_rndis *rndis_class)
-{
- timer_handle = xTimerCreate((const char *)NULL, (TickType_t)5000, (UBaseType_t)pdTRUE, (void *const)rndis_class, (TimerCallbackFunction_t)rndis_dev_keepalive_timeout);
- if (NULL != timer_handle) {
- xTimerStart(timer_handle, 0);
- } else {
- USB_LOG_ERR("timer creation failed! \r\n");
- for (;;) {
- ;
- }
- }
-}
-#endif
-
-static err_t usbh_rndis_if_init(struct netif *netif)
-{
- LWIP_ASSERT("netif != NULL", (netif != NULL));
-
- netif->mtu = 1500;
- netif->flags = NETIF_FLAG_BROADCAST | NETIF_FLAG_ETHARP | NETIF_FLAG_LINK_UP | NETIF_FLAG_UP;
- netif->state = NULL;
- netif->name[0] = 'E';
- netif->name[1] = 'X';
- netif->output = etharp_output;
- netif->linkoutput = usbh_rndis_linkoutput;
- return ERR_OK;
-}
-
-void usbh_rndis_run(struct usbh_rndis *rndis_class)
-{
-#ifdef __RTTHREAD__
- memset(&rndis_dev, 0, sizeof(struct eth_device));
-
- rndis_dev.parent.control = rt_usbh_rndis_control;
- rndis_dev.eth_rx = NULL;
- rndis_dev.eth_tx = rt_usbh_rndis_eth_tx;
- rndis_dev.parent.user_data = rndis_class;
-
- eth_device_init(&rndis_dev, "u2");
- eth_device_linkchange(&rndis_dev, RT_TRUE);
-
- usb_osal_thread_create("usbh_rndis_rx", 2048, CONFIG_USBHOST_PSC_PRIO + 1, usbh_rndis_rx_thread, rndis_dev.netif);
- //timer_init(rndis_class);
-#else
- struct netif *netif = &g_rndis_netif;
-
- netif->hwaddr_len = 6;
- memcpy(netif->hwaddr, rndis_class->mac, 6);
-
- IP4_ADDR(&rndis_class->ipaddr, 0, 0, 0, 0);
- IP4_ADDR(&rndis_class->netmask, 0, 0, 0, 0);
- IP4_ADDR(&rndis_class->gateway, 0, 0, 0, 0);
-
- netif = netif_add(netif, &rndis_class->ipaddr, &rndis_class->netmask, &rndis_class->gateway, NULL, usbh_rndis_if_init, tcpip_input);
- netif_set_default(netif);
- while (!netif_is_up(netif)) {
- }
-
- dhcp_handle = xTimerCreate((const char *)"dhcp2", (TickType_t)200, (UBaseType_t)pdTRUE, (void *const)netif, (TimerCallbackFunction_t)dhcp_timeout);
- if (dhcp_handle == NULL) {
- USB_LOG_ERR("timer creation failed! \r\n");
- while (1) {
- }
- }
-
- usb_osal_thread_create("usbh_rndis_rx", 2048, CONFIG_USBHOST_PSC_PRIO + 1, usbh_rndis_rx_thread, netif);
- //timer_init(rndis_class);
-
-#if LWIP_DHCP
- dhcp_start(netif);
- xTimerStart(dhcp_handle, 0);
-#endif
-#endif
-}
-
-void usbh_rndis_stop(struct usbh_rndis *rndis_class)
-{
-#ifdef __RTTHREAD__
- eth_device_deinit(&rndis_dev);
- // rt_timer_stop(keep_timer);
- // rt_timer_delete(keep_timer);
-#else
- struct netif *netif = &g_rndis_netif;
-#if LWIP_DHCP
- dhcp_stop(netif);
- dhcp_cleanup(netif);
- xTimerStop(dhcp_handle, 0);
- xTimerDelete(dhcp_handle, 0);
-#endif
- netif_set_down(netif);
- netif_remove(netif);
- // xTimerStop(timer_handle, 0);
- // xTimerDelete(timer_handle, 0);
-#endif
-}
-#endif
-
-#if TEST_USBH_ASIX
-#include "usbh_asix.h"
-
-struct netif g_asix_netif;
-
-#ifdef __RTTHREAD__
-static struct eth_device asix_dev;
-
-static rt_err_t rt_usbh_asix_control(rt_device_t dev, int cmd, void *args)
-{
- struct usbh_asix *asix_class = (struct usbh_asix *)dev->user_data;
-
- switch (cmd) {
- case NIOCTL_GADDR:
-
- /* get mac address */
- if (args)
- rt_memcpy(args, asix_class->mac, 6);
- else
- return -RT_ERROR;
-
- break;
-
- default:
- break;
- }
-
- return RT_EOK;
-}
-
-static rt_err_t rt_usbh_asix_eth_tx(rt_device_t dev, struct pbuf *p)
-{
- return usbh_asix_linkoutput(NULL, p);
-}
-#endif
-
-static err_t usbh_asix_if_init(struct netif *netif)
-{
- LWIP_ASSERT("netif != NULL", (netif != NULL));
-
- netif->mtu = 1500;
- netif->flags = NETIF_FLAG_BROADCAST | NETIF_FLAG_ETHARP | NETIF_FLAG_LINK_UP | NETIF_FLAG_UP;
- netif->state = NULL;
- netif->name[0] = 'E';
- netif->name[1] = 'X';
- netif->output = etharp_output;
- netif->linkoutput = usbh_asix_linkoutput;
- return ERR_OK;
-}
-
-void usbh_asix_run(struct usbh_asix *asix_class)
-{
-#ifdef __RTTHREAD__
- memset(&asix_dev, 0, sizeof(struct eth_device));
-
- asix_dev.parent.control = rt_usbh_asix_control;
- asix_dev.eth_rx = NULL;
- asix_dev.eth_tx = rt_usbh_asix_eth_tx;
- asix_dev.parent.user_data = asix_class;
-
- eth_device_init(&asix_dev, "u3");
- eth_device_linkchange(&asix_dev, RT_TRUE);
-
- usb_osal_thread_create("usbh_asix_rx", 2048, CONFIG_USBHOST_PSC_PRIO + 1, usbh_asix_rx_thread, asix_dev.netif);
-#else
- struct netif *netif = &g_asix_netif;
-
- netif->hwaddr_len = 6;
- memcpy(netif->hwaddr, asix_class->mac, 6);
-
- IP4_ADDR(&asix_class->ipaddr, 0, 0, 0, 0);
- IP4_ADDR(&asix_class->netmask, 0, 0, 0, 0);
- IP4_ADDR(&asix_class->gateway, 0, 0, 0, 0);
-
- netif = netif_add(netif, &asix_class->ipaddr, &asix_class->netmask, &asix_class->gateway, NULL, usbh_asix_if_init, tcpip_input);
- netif_set_default(netif);
- while (!netif_is_up(netif)) {
- }
-
- dhcp_handle = xTimerCreate((const char *)"dhcp", (TickType_t)200, (UBaseType_t)pdTRUE, (void *const)netif, (TimerCallbackFunction_t)dhcp_timeout);
- if (dhcp_handle == NULL) {
- USB_LOG_ERR("timer creation failed! \r\n");
- while (1) {
- }
- }
-
- usb_osal_thread_create("usbh_asix_rx", 2048, CONFIG_USBHOST_PSC_PRIO + 1, usbh_asix_rx_thread, netif);
-#if LWIP_DHCP
- dhcp_start(netif);
- xTimerStart(dhcp_handle, 0);
-#endif
-#endif
-}
-
-void usbh_asix_stop(struct usbh_asix *asix_class)
-{
-#ifdef __RTTHREAD__
- eth_device_deinit(&asix_dev);
-#else
- struct netif *netif = &g_asix_netif;
-#if LWIP_DHCP
- dhcp_stop(netif);
- dhcp_cleanup(netif);
- xTimerStop(dhcp_handle, 0);
- xTimerDelete(dhcp_handle, 0);
-#endif
- netif_set_down(netif);
- netif_remove(netif);
-#endif
-}
-#endif
-
-#if TEST_USBH_RTL8152
-#include "usbh_rtl8152.h"
-
-struct netif g_rtl8152_netif;
-
-#ifdef __RTTHREAD__
-static struct eth_device rtl8152_dev;
-
-static rt_err_t rt_usbh_rtl8152_control(rt_device_t dev, int cmd, void *args)
-{
- struct usbh_rtl8152 *rtl8152_class = (struct usbh_rtl8152 *)dev->user_data;
-
- switch (cmd) {
- case NIOCTL_GADDR:
-
- /* get mac address */
- if (args)
- rt_memcpy(args, rtl8152_class->mac, 6);
- else
- return -RT_ERROR;
-
- break;
-
- default:
- break;
- }
-
- return RT_EOK;
-}
-
-static rt_err_t rt_usbh_rtl8152_eth_tx(rt_device_t dev, struct pbuf *p)
-{
- return usbh_rtl8152_linkoutput(NULL, p);
-}
-#endif
-
-static err_t usbh_rtl8152_if_init(struct netif *netif)
-{
- LWIP_ASSERT("netif != NULL", (netif != NULL));
-
- netif->mtu = 1500;
- netif->flags = NETIF_FLAG_BROADCAST | NETIF_FLAG_ETHARP | NETIF_FLAG_LINK_UP | NETIF_FLAG_UP;
- netif->state = NULL;
- netif->name[0] = 'E';
- netif->name[1] = 'X';
- netif->output = etharp_output;
- netif->linkoutput = usbh_rtl8152_linkoutput;
- return ERR_OK;
-}
-
-void usbh_rtl8152_run(struct usbh_rtl8152 *rtl8152_class)
-{
-#ifdef __RTTHREAD__
- memset(&rtl8152_dev, 0, sizeof(struct eth_device));
-
- rtl8152_dev.parent.control = rt_usbh_rtl8152_control;
- rtl8152_dev.eth_rx = NULL;
- rtl8152_dev.eth_tx = rt_usbh_rtl8152_eth_tx;
- rtl8152_dev.parent.user_data = rtl8152_class;
-
- eth_device_init(&rtl8152_dev, "u4");
- eth_device_linkchange(&rtl8152_dev, RT_TRUE);
-
- usb_osal_thread_create("usbh_rtl8152_rx", 2048, CONFIG_USBHOST_PSC_PRIO + 1, usbh_rtl8152_rx_thread, rtl8152_dev.netif);
-#else
- struct netif *netif = &g_rtl8152_netif;
-
- netif->hwaddr_len = 6;
- memcpy(netif->hwaddr, rtl8152_class->mac, 6);
-
- IP4_ADDR(&rtl8152_class->ipaddr, 0, 0, 0, 0);
- IP4_ADDR(&rtl8152_class->netmask, 0, 0, 0, 0);
- IP4_ADDR(&rtl8152_class->gateway, 0, 0, 0, 0);
-
- netif = netif_add(netif, &rtl8152_class->ipaddr, &rtl8152_class->netmask, &rtl8152_class->gateway, NULL, usbh_rtl8152_if_init, tcpip_input);
- netif_set_default(netif);
- while (!netif_is_up(netif)) {
- }
-
- dhcp_handle = xTimerCreate((const char *)"dhcp", (TickType_t)200, (UBaseType_t)pdTRUE, (void *const)netif, (TimerCallbackFunction_t)dhcp_timeout);
- if (dhcp_handle == NULL) {
- USB_LOG_ERR("timer creation failed! \r\n");
- while (1) {
- }
- }
-
- usb_osal_thread_create("usbh_rtl8152_rx", 2048, CONFIG_USBHOST_PSC_PRIO + 1, usbh_rtl8152_rx_thread, netif);
-#if LWIP_DHCP
- dhcp_start(netif);
- xTimerStart(dhcp_handle, 0);
-#endif
-#endif
-}
-
-void usbh_rtl8152_stop(struct usbh_rtl8152 *rtl8152_class)
-{
-#ifdef __RTTHREAD__
- eth_device_deinit(&rtl8152_dev);
-#else
- struct netif *netif = &g_rtl8152_netif;
-#if LWIP_DHCP
- dhcp_stop(netif);
- dhcp_cleanup(netif);
- xTimerStop(dhcp_handle, 0);
- xTimerDelete(dhcp_handle, 0);
-#endif
- netif_set_down(netif);
- netif_remove(netif);
-#endif
-}
-#endif
-
void usbh_cdc_acm_run(struct usbh_cdc_acm *cdc_acm_class)
{
#if TEST_USBH_CDC_ACM
@@ -1066,7 +276,6 @@ void usbh_hid_stop(struct usbh_hid *hid_class)
{
}
-#ifndef __RTTHREAD__
void usbh_msc_run(struct usbh_msc *msc_class)
{
#if TEST_USBH_MSC
@@ -1077,24 +286,11 @@ void usbh_msc_run(struct usbh_msc *msc_class)
void usbh_msc_stop(struct usbh_msc *msc_class)
{
}
-#endif
#if TEST_USBH_AUDIO
-#error "if you want to use iso, please contact with me"
+#error "commercial charge"
#endif
#if TEST_USBH_VIDEO
-#error "if you want to use iso, please contact with me"
+#error "commercial charge"
#endif
-
-void usbh_class_test(void)
-{
-#ifdef __RTTHREAD__
- /* do nothing */
-#else
-#if TEST_USBH_CDC_ECM || TEST_USBH_CDC_NCM || TEST_USBH_CDC_RNDIS || TEST_USBH_ASIX || TEST_USBH_RTL8152
- /* Initialize the LwIP stack */
- tcpip_init(NULL, NULL);
-#endif
-#endif
-}
diff --git a/components/drivers/usb/cherryusb/demo/video_audiov1_hid_template.c b/components/drivers/usb/cherryusb/demo/video_audiov1_hid_template.c
new file mode 100644
index 0000000000..97f1743a5c
--- /dev/null
+++ b/components/drivers/usb/cherryusb/demo/video_audiov1_hid_template.c
@@ -0,0 +1,513 @@
+/*
+ * Copyright (c) 2024, sakumisu
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+#include "usbd_core.h"
+#include "usbd_video.h"
+#include "usbd_audio.h"
+#include "usbd_hid.h"
+#include "cherryusb_mjpeg.h"
+
+#define VIDEO_IN_EP 0x81
+#define VIDEO_INT_EP 0x86
+
+#ifdef CONFIG_USB_HS
+#define MAX_PAYLOAD_SIZE 1024 // for high speed with one transcations every one micro frame
+#define VIDEO_PACKET_SIZE (unsigned int)(((MAX_PAYLOAD_SIZE / 1)) | (0x00 << 11))
+
+// #define MAX_PAYLOAD_SIZE 2048 // for high speed with two transcations every one micro frame
+// #define VIDEO_PACKET_SIZE (unsigned int)(((MAX_PAYLOAD_SIZE / 2)) | (0x01 << 11))
+
+// #define MAX_PAYLOAD_SIZE 3072 // for high speed with three transcations every one micro frame
+// #define VIDEO_PACKET_SIZE (unsigned int)(((MAX_PAYLOAD_SIZE / 3)) | (0x02 << 11))
+
+#else
+#define MAX_PAYLOAD_SIZE 1020
+#define VIDEO_PACKET_SIZE (unsigned int)(((MAX_PAYLOAD_SIZE / 1)) | (0x00 << 11))
+#endif
+
+#define WIDTH (unsigned int)(640)
+#define HEIGHT (unsigned int)(480)
+
+#define CAM_FPS (30)
+#define INTERVAL (unsigned long)(10000000 / CAM_FPS)
+#define MIN_BIT_RATE (unsigned long)(WIDTH * HEIGHT * 16 * CAM_FPS) //16 bit
+#define MAX_BIT_RATE (unsigned long)(WIDTH * HEIGHT * 16 * CAM_FPS)
+#define MAX_FRAME_SIZE (unsigned long)(WIDTH * HEIGHT * 2)
+
+#define VS_HEADER_SIZ (unsigned int)(VIDEO_SIZEOF_VS_INPUT_HEADER_DESC(1, 1) + VIDEO_SIZEOF_VS_FORMAT_MJPEG_DESC + VIDEO_SIZEOF_VS_FRAME_MJPEG_DESC(1))
+
+#define USB_VIDEO_DESC_SIZ (unsigned long)(9 + \
+ VIDEO_VC_NOEP_DESCRIPTOR_LEN + \
+ 9 + \
+ VS_HEADER_SIZ + \
+ 9 + \
+ 7 + \
+ AUDIO_AC_DESCRIPTOR_INIT_LEN(2) + \
+ AUDIO_SIZEOF_AC_INPUT_TERMINAL_DESC + \
+ AUDIO_SIZEOF_AC_FEATURE_UNIT_DESC(2, 1) + \
+ AUDIO_SIZEOF_AC_OUTPUT_TERMINAL_DESC + \
+ AUDIO_SIZEOF_AC_INPUT_TERMINAL_DESC + \
+ AUDIO_SIZEOF_AC_FEATURE_UNIT_DESC(2, 1) + \
+ AUDIO_SIZEOF_AC_OUTPUT_TERMINAL_DESC + \
+ AUDIO_AS_DESCRIPTOR_INIT_LEN(1) + \
+ AUDIO_AS_DESCRIPTOR_INIT_LEN(1) + \
+ 25)
+
+#define USBD_VID 0xffff
+#define USBD_PID 0xffff
+#define USBD_MAX_POWER 100
+#define USBD_LANGID_STRING 1033
+
+#ifdef CONFIG_USB_HS
+#define EP_INTERVAL 0x04
+#else
+#define EP_INTERVAL 0x01
+#endif
+
+#define AUDIO_IN_EP 0x82
+#define AUDIO_OUT_EP 0x03
+
+#define AUDIO_IN_FU_ID 0x02
+#define AUDIO_OUT_FU_ID 0x05
+
+/* AUDIO Class Config */
+#define AUDIO_SPEAKER_FREQ 16000U
+#define AUDIO_SPEAKER_FRAME_SIZE_BYTE 2u
+#define AUDIO_SPEAKER_RESOLUTION_BIT 16u
+#define AUDIO_MIC_FREQ 16000U
+#define AUDIO_MIC_FRAME_SIZE_BYTE 2u
+#define AUDIO_MIC_RESOLUTION_BIT 16u
+
+#define AUDIO_SAMPLE_FREQ(frq) (uint8_t)(frq), (uint8_t)((frq >> 8)), (uint8_t)((frq >> 16))
+
+/* AudioFreq * DataSize (2 bytes) * NumChannels (Stereo: 2) */
+#define AUDIO_OUT_PACKET ((uint32_t)((AUDIO_SPEAKER_FREQ * AUDIO_SPEAKER_FRAME_SIZE_BYTE * 2) / 1000))
+/* 16bit(2 Bytes) 双声道(Mono:2) */
+#define AUDIO_IN_PACKET ((uint32_t)((AUDIO_MIC_FREQ * AUDIO_MIC_FRAME_SIZE_BYTE * 2) / 1000))
+
+#define AUDIO_AC_SIZ (AUDIO_SIZEOF_AC_HEADER_DESC(2) + \
+ AUDIO_SIZEOF_AC_INPUT_TERMINAL_DESC + \
+ AUDIO_SIZEOF_AC_FEATURE_UNIT_DESC(2, 1) + \
+ AUDIO_SIZEOF_AC_OUTPUT_TERMINAL_DESC + \
+ AUDIO_SIZEOF_AC_INPUT_TERMINAL_DESC + \
+ AUDIO_SIZEOF_AC_FEATURE_UNIT_DESC(2, 1) + \
+ AUDIO_SIZEOF_AC_OUTPUT_TERMINAL_DESC)
+
+#define HID_INT_EP 0x84
+#define HID_INT_EP_SIZE 8
+#define HID_INT_EP_INTERVAL 10
+
+#define HID_KEYBOARD_REPORT_DESC_SIZE 63
+
+const uint8_t video_audio_hid_descriptor[] = {
+ USB_DEVICE_DESCRIPTOR_INIT(USB_2_0, 0xef, 0x02, 0x01, USBD_VID, USBD_PID, 0x0001, 0x01),
+ USB_CONFIG_DESCRIPTOR_INIT(USB_VIDEO_DESC_SIZ, 0x06, 0x01, USB_CONFIG_BUS_POWERED, USBD_MAX_POWER),
+ //VIDEO_VC_DESCRIPTOR_INIT(0x00, VIDEO_INT_EP, 0x0100, VIDEO_VC_TERMINAL_LEN, 48000000, 0x02),
+ VIDEO_VC_NOEP_DESCRIPTOR_INIT(0x00, VIDEO_INT_EP, 0x0100, VIDEO_VC_TERMINAL_LEN, 48000000, 0x02),
+ VIDEO_VS_DESCRIPTOR_INIT(0x01, 0x00, 0x00),
+ VIDEO_VS_INPUT_HEADER_DESCRIPTOR_INIT(0x01, VS_HEADER_SIZ, VIDEO_IN_EP, 0x00),
+ VIDEO_VS_FORMAT_MJPEG_DESCRIPTOR_INIT(0x01, 0x01),
+ VIDEO_VS_FRAME_MJPEG_DESCRIPTOR_INIT(0x01, WIDTH, HEIGHT, MIN_BIT_RATE, MAX_BIT_RATE, MAX_FRAME_SIZE, DBVAL(INTERVAL), 0x01, DBVAL(INTERVAL)),
+ VIDEO_VS_DESCRIPTOR_INIT(0x01, 0x01, 0x01),
+ /* 1.2.2.2 Standard VideoStream Isochronous Video Data Endpoint Descriptor */
+ USB_ENDPOINT_DESCRIPTOR_INIT(VIDEO_IN_EP, 0x05, VIDEO_PACKET_SIZE, 0x01),
+ AUDIO_AC_DESCRIPTOR_INIT(0x02, 0x03, AUDIO_AC_SIZ, 0x00, 0x03, 0x04),
+ AUDIO_AC_INPUT_TERMINAL_DESCRIPTOR_INIT(0x01, AUDIO_INTERM_MIC, 0x02, 0x0003),
+ AUDIO_AC_FEATURE_UNIT_DESCRIPTOR_INIT(0x02, 0x01, 0x01, 0x03, 0x00, 0x00),
+ AUDIO_AC_OUTPUT_TERMINAL_DESCRIPTOR_INIT(0x03, AUDIO_TERMINAL_STREAMING, 0x02),
+ AUDIO_AC_INPUT_TERMINAL_DESCRIPTOR_INIT(0x04, AUDIO_TERMINAL_STREAMING, 0x02, 0x0003),
+ AUDIO_AC_FEATURE_UNIT_DESCRIPTOR_INIT(0x05, 0x04, 0x01, 0x03, 0x00, 0x00),
+ AUDIO_AC_OUTPUT_TERMINAL_DESCRIPTOR_INIT(0x06, AUDIO_OUTTERM_SPEAKER, 0x05),
+ AUDIO_AS_DESCRIPTOR_INIT(0x03, 0x04, 0x02, AUDIO_SPEAKER_FRAME_SIZE_BYTE, AUDIO_SPEAKER_RESOLUTION_BIT, AUDIO_OUT_EP, 0x09, AUDIO_OUT_PACKET,
+ EP_INTERVAL, AUDIO_SAMPLE_FREQ_3B(AUDIO_SPEAKER_FREQ)),
+ AUDIO_AS_DESCRIPTOR_INIT(0x04, 0x03, 0x02, AUDIO_MIC_FRAME_SIZE_BYTE, AUDIO_MIC_RESOLUTION_BIT, AUDIO_IN_EP, 0x05, AUDIO_IN_PACKET,
+ EP_INTERVAL, AUDIO_SAMPLE_FREQ_3B(AUDIO_MIC_FREQ)),
+ /************** Descriptor of Joystick Mouse interface ****************/
+ /* 09 */
+ 0x09, /* bLength: Interface Descriptor size */
+ USB_DESCRIPTOR_TYPE_INTERFACE, /* bDescriptorType: Interface descriptor type */
+ 0x05, /* bInterfaceNumber: Number of Interface */
+ 0x00, /* bAlternateSetting: Alternate setting */
+ 0x01, /* bNumEndpoints */
+ 0x03, /* bInterfaceClass: HID */
+ 0x01, /* bInterfaceSubClass : 1=BOOT, 0=no boot */
+ 0x01, /* nInterfaceProtocol : 0=none, 1=keyboard, 2=mouse */
+ 0, /* iInterface: Index of string descriptor */
+ /******************** Descriptor of Joystick Mouse HID ********************/
+ /* 18 */
+ 0x09, /* bLength: HID Descriptor size */
+ HID_DESCRIPTOR_TYPE_HID, /* bDescriptorType: HID */
+ 0x11, /* bcdHID: HID Class Spec release number */
+ 0x01,
+ 0x00, /* bCountryCode: Hardware target country */
+ 0x01, /* bNumDescriptors: Number of HID class descriptors to follow */
+ 0x22, /* bDescriptorType */
+ HID_KEYBOARD_REPORT_DESC_SIZE, /* wItemLength: Total length of Report descriptor */
+ 0x00,
+ /******************** Descriptor of Mouse endpoint ********************/
+ /* 27 */
+ 0x07, /* bLength: Endpoint Descriptor size */
+ USB_DESCRIPTOR_TYPE_ENDPOINT, /* bDescriptorType: */
+ HID_INT_EP, /* bEndpointAddress: Endpoint Address (IN) */
+ 0x03, /* bmAttributes: Interrupt endpoint */
+ HID_INT_EP_SIZE, /* wMaxPacketSize: 4 Byte max */
+ 0x00,
+ HID_INT_EP_INTERVAL, /* bInterval: Polling Interval */
+ /* 34 */
+ ///////////////////////////////////////
+ /// string0 descriptor
+ ///////////////////////////////////////
+ USB_LANGID_INIT(USBD_LANGID_STRING),
+ ///////////////////////////////////////
+ /// string1 descriptor
+ ///////////////////////////////////////
+ 0x14, /* bLength */
+ USB_DESCRIPTOR_TYPE_STRING, /* bDescriptorType */
+ 'C', 0x00, /* wcChar0 */
+ 'h', 0x00, /* wcChar1 */
+ 'e', 0x00, /* wcChar2 */
+ 'r', 0x00, /* wcChar3 */
+ 'r', 0x00, /* wcChar4 */
+ 'y', 0x00, /* wcChar5 */
+ 'U', 0x00, /* wcChar6 */
+ 'S', 0x00, /* wcChar7 */
+ 'B', 0x00, /* wcChar8 */
+ ///////////////////////////////////////
+ /// string2 descriptor
+ ///////////////////////////////////////
+ 0x26, /* bLength */
+ USB_DESCRIPTOR_TYPE_STRING, /* bDescriptorType */
+ 'C', 0x00, /* wcChar0 */
+ 'h', 0x00, /* wcChar1 */
+ 'e', 0x00, /* wcChar2 */
+ 'r', 0x00, /* wcChar3 */
+ 'r', 0x00, /* wcChar4 */
+ 'y', 0x00, /* wcChar5 */
+ 'U', 0x00, /* wcChar6 */
+ 'S', 0x00, /* wcChar7 */
+ 'B', 0x00, /* wcChar8 */
+ ' ', 0x00, /* wcChar9 */
+ 'U', 0x00, /* wcChar10 */
+ 'A', 0x00, /* wcChar11 */
+ 'C', 0x00, /* wcChar12 */
+ ' ', 0x00, /* wcChar13 */
+ 'D', 0x00, /* wcChar14 */
+ 'E', 0x00, /* wcChar15 */
+ 'M', 0x00, /* wcChar16 */
+ 'O', 0x00, /* wcChar17 */
+ ///////////////////////////////////////
+ /// string3 descriptor
+ ///////////////////////////////////////
+ 0x16, /* bLength */
+ USB_DESCRIPTOR_TYPE_STRING, /* bDescriptorType */
+ '2', 0x00, /* wcChar0 */
+ '0', 0x00, /* wcChar1 */
+ '2', 0x00, /* wcChar2 */
+ '4', 0x00, /* wcChar3 */
+ '0', 0x00, /* wcChar4 */
+ '3', 0x00, /* wcChar5 */
+ '1', 0x00, /* wcChar6 */
+ '0', 0x00, /* wcChar7 */
+ '0', 0x00, /* wcChar8 */
+ '0', 0x00, /* wcChar9 */
+#ifdef CONFIG_USB_HS
+ ///////////////////////////////////////
+ /// device qualifier descriptor
+ ///////////////////////////////////////
+ 0x0a,
+ USB_DESCRIPTOR_TYPE_DEVICE_QUALIFIER,
+ 0x00,
+ 0x02,
+ 0x00,
+ 0x00,
+ 0x00,
+ 0x40,
+ 0x01,
+ 0x00,
+#endif
+ 0x00
+};
+
+static const uint8_t hid_keyboard_report_desc[HID_KEYBOARD_REPORT_DESC_SIZE] = {
+ 0x05, 0x01, // USAGE_PAGE (Generic Desktop)
+ 0x09, 0x06, // USAGE (Keyboard)
+ 0xa1, 0x01, // COLLECTION (Application)
+ 0x05, 0x07, // USAGE_PAGE (Keyboard)
+ 0x19, 0xe0, // USAGE_MINIMUM (Keyboard LeftControl)
+ 0x29, 0xe7, // USAGE_MAXIMUM (Keyboard Right GUI)
+ 0x15, 0x00, // LOGICAL_MINIMUM (0)
+ 0x25, 0x01, // LOGICAL_MAXIMUM (1)
+ 0x75, 0x01, // REPORT_SIZE (1)
+ 0x95, 0x08, // REPORT_COUNT (8)
+ 0x81, 0x02, // INPUT (Data,Var,Abs)
+ 0x95, 0x01, // REPORT_COUNT (1)
+ 0x75, 0x08, // REPORT_SIZE (8)
+ 0x81, 0x03, // INPUT (Cnst,Var,Abs)
+ 0x95, 0x05, // REPORT_COUNT (5)
+ 0x75, 0x01, // REPORT_SIZE (1)
+ 0x05, 0x08, // USAGE_PAGE (LEDs)
+ 0x19, 0x01, // USAGE_MINIMUM (Num Lock)
+ 0x29, 0x05, // USAGE_MAXIMUM (Kana)
+ 0x91, 0x02, // OUTPUT (Data,Var,Abs)
+ 0x95, 0x01, // REPORT_COUNT (1)
+ 0x75, 0x03, // REPORT_SIZE (3)
+ 0x91, 0x03, // OUTPUT (Cnst,Var,Abs)
+ 0x95, 0x06, // REPORT_COUNT (6)
+ 0x75, 0x08, // REPORT_SIZE (8)
+ 0x15, 0x00, // LOGICAL_MINIMUM (0)
+ 0x25, 0xFF, // LOGICAL_MAXIMUM (255)
+ 0x05, 0x07, // USAGE_PAGE (Keyboard)
+ 0x19, 0x00, // USAGE_MINIMUM (Reserved (no event indicated))
+ 0x29, 0x65, // USAGE_MAXIMUM (Keyboard Application)
+ 0x81, 0x00, // INPUT (Data,Ary,Abs)
+ 0xc0 // END_COLLECTION
+};
+
+USB_NOCACHE_RAM_SECTION USB_MEM_ALIGNX uint8_t audio_read_buffer[AUDIO_OUT_PACKET];
+USB_NOCACHE_RAM_SECTION USB_MEM_ALIGNX uint8_t audio_write_buffer[AUDIO_IN_PACKET];
+USB_NOCACHE_RAM_SECTION USB_MEM_ALIGNX uint8_t video_packet_buffer[40 * 1024];
+
+volatile bool video_tx_flag = 0;
+volatile bool audio_tx_flag = 0;
+volatile bool audio_rx_flag = 0;
+volatile bool video_iso_tx_busy = false;
+volatile bool audio_iso_tx_busy = false;
+
+#define HID_STATE_IDLE 0
+#define HID_STATE_BUSY 1
+
+/*!< hid state ! Data can be sent only when state is idle */
+static volatile uint8_t hid_state = HID_STATE_IDLE;
+
+static void usbd_event_handler(uint8_t busid, uint8_t event)
+{
+ switch (event) {
+ case USBD_EVENT_RESET:
+ break;
+ case USBD_EVENT_CONNECTED:
+ break;
+ case USBD_EVENT_DISCONNECTED:
+ break;
+ case USBD_EVENT_RESUME:
+ break;
+ case USBD_EVENT_SUSPEND:
+ break;
+ case USBD_EVENT_CONFIGURED:
+ video_tx_flag = 0;
+ audio_tx_flag = 0;
+ audio_rx_flag = 0;
+ video_iso_tx_busy = false;
+ audio_iso_tx_busy = false;
+ hid_state = HID_STATE_IDLE;
+ break;
+ case USBD_EVENT_SET_REMOTE_WAKEUP:
+ break;
+ case USBD_EVENT_CLR_REMOTE_WAKEUP:
+ break;
+
+ default:
+ break;
+ }
+}
+
+void usbd_video_open(uint8_t busid, uint8_t intf)
+{
+ if (intf == 1) {
+ video_tx_flag = 1;
+ USB_LOG_RAW("OPEN\r\n");
+ video_iso_tx_busy = false;
+ }
+}
+void usbd_video_close(uint8_t busid, uint8_t intf)
+{
+ if (intf == 1) {
+ USB_LOG_RAW("CLOSE\r\n");
+ video_tx_flag = 0;
+ video_iso_tx_busy = false;
+ }
+}
+
+void usbd_video_iso_callback(uint8_t busid, uint8_t ep, uint32_t nbytes)
+{
+ //USB_LOG_RAW("actual in len:%d\r\n", nbytes);
+ video_iso_tx_busy = false;
+}
+
+static struct usbd_endpoint video_in_ep = {
+ .ep_cb = usbd_video_iso_callback,
+ .ep_addr = VIDEO_IN_EP
+};
+
+void usbd_audio_open(uint8_t busid, uint8_t intf)
+{
+ if (intf == 3) {
+ audio_rx_flag = 1;
+ /* setup first out ep read transfer */
+ usbd_ep_start_read(busid, AUDIO_OUT_EP, audio_read_buffer, AUDIO_OUT_PACKET);
+ printf("OPEN1\r\n");
+ } else if (intf == 4) {
+ audio_tx_flag = 1;
+ audio_iso_tx_busy = false;
+ printf("OPEN2\r\n");
+ }
+}
+
+void usbd_audio_close(uint8_t busid, uint8_t intf)
+{
+ if (intf == 3) {
+ audio_rx_flag = 0;
+ printf("CLOSE1\r\n");
+ } else if (intf == 4) {
+ audio_tx_flag = 0;
+ audio_iso_tx_busy = false;
+ printf("CLOSE2\r\n");
+ }
+}
+
+void usbd_audio_out_callback(uint8_t busid, uint8_t ep, uint32_t nbytes)
+{
+ USB_LOG_RAW("actual out len:%d\r\n", nbytes);
+ usbd_ep_start_read(busid, AUDIO_OUT_EP, audio_read_buffer, AUDIO_OUT_PACKET);
+}
+
+void usbd_audio_in_callback(uint8_t busid, uint8_t ep, uint32_t nbytes)
+{
+ USB_LOG_RAW("actual in len:%d\r\n", nbytes);
+ audio_iso_tx_busy = false;
+}
+
+static struct usbd_endpoint audio_in_ep = {
+ .ep_cb = usbd_audio_in_callback,
+ .ep_addr = AUDIO_IN_EP
+};
+
+static struct usbd_endpoint audio_out_ep = {
+ .ep_cb = usbd_audio_out_callback,
+ .ep_addr = AUDIO_OUT_EP
+};
+
+void usbd_hid_int_callback(uint8_t busid, uint8_t ep, uint32_t nbytes)
+{
+ hid_state = HID_STATE_IDLE;
+}
+
+static struct usbd_endpoint hid_in_ep = {
+ .ep_cb = usbd_hid_int_callback,
+ .ep_addr = HID_INT_EP
+};
+
+struct usbd_interface intf0;
+struct usbd_interface intf1;
+
+struct usbd_interface intf2;
+struct usbd_interface intf3;
+struct usbd_interface intf4;
+
+struct usbd_interface intf5;
+
+struct audio_entity_info audio_entity_table[] = {
+ { .bEntityId = AUDIO_IN_FU_ID,
+ .bDescriptorSubtype = AUDIO_CONTROL_FEATURE_UNIT,
+ .ep = AUDIO_IN_EP },
+ { .bEntityId = AUDIO_OUT_FU_ID,
+ .bDescriptorSubtype = AUDIO_CONTROL_FEATURE_UNIT,
+ .ep = AUDIO_OUT_EP },
+};
+
+void composite_init(uint8_t busid, uint32_t reg_base)
+{
+ usbd_desc_register(busid, video_audio_hid_descriptor);
+ usbd_add_interface(busid, usbd_video_init_intf(busid, &intf0, INTERVAL, MAX_FRAME_SIZE, MAX_PAYLOAD_SIZE));
+ usbd_add_interface(busid, usbd_video_init_intf(busid, &intf1, INTERVAL, MAX_FRAME_SIZE, MAX_PAYLOAD_SIZE));
+ usbd_add_endpoint(busid, &video_in_ep);
+
+ usbd_add_interface(busid, usbd_audio_init_intf(busid, &intf2, 0x0100, audio_entity_table, 2));
+ usbd_add_interface(busid, usbd_audio_init_intf(busid, &intf3, 0x0100, audio_entity_table, 2));
+ usbd_add_interface(busid, usbd_audio_init_intf(busid, &intf4, 0x0100, audio_entity_table, 2));
+ usbd_add_endpoint(busid, &audio_in_ep);
+ usbd_add_endpoint(busid, &audio_out_ep);
+
+ usbd_add_interface(busid, usbd_hid_init_intf(busid, &intf0, hid_keyboard_report_desc, HID_KEYBOARD_REPORT_DESC_SIZE));
+ usbd_add_endpoint(busid, &hid_in_ep);
+
+ usbd_initialize(busid, reg_base, usbd_event_handler);
+}
+
+/* just for test, rewrite by yourself */
+void audio_test(uint8_t busid)
+{
+ while (1) {
+ if (audio_tx_flag) {
+ memset(audio_write_buffer, 'a', AUDIO_IN_PACKET);
+ audio_iso_tx_busy = true;
+ usbd_ep_start_write(busid, AUDIO_IN_EP, audio_write_buffer, AUDIO_IN_PACKET);
+ while (audio_iso_tx_busy) {
+ if (audio_tx_flag == false) {
+ break;
+ }
+ }
+ }
+ }
+}
+
+USB_NOCACHE_RAM_SECTION USB_MEM_ALIGNX uint8_t hid_write_buffer[64];
+
+void hid_keyboard_test(uint8_t busid)
+{
+ const uint8_t sendbuffer[8] = { 0x00, 0x00, HID_KBD_USAGE_A, 0x00, 0x00, 0x00, 0x00, 0x00 };
+
+ memcpy(hid_write_buffer, sendbuffer, 8);
+ int ret = usbd_ep_start_write(busid, HID_INT_EP, hid_write_buffer, 8);
+ if (ret < 0) {
+ return;
+ }
+ hid_state = HID_STATE_BUSY;
+ while (hid_state == HID_STATE_BUSY) {
+ }
+}
+
+void video_test(uint8_t busid)
+{
+ uint32_t out_len;
+ uint32_t packets;
+
+ (void)packets;
+ memset(video_packet_buffer, 0, 40 * 1024);
+ while (1) {
+ if (video_tx_flag) {
+ packets = usbd_video_payload_fill(busid, (uint8_t *)cherryusb_mjpeg, sizeof(cherryusb_mjpeg), video_packet_buffer, &out_len);
+#if 1
+ video_iso_tx_busy = true;
+ usbd_ep_start_write(busid, VIDEO_IN_EP, video_packet_buffer, out_len);
+ while (video_iso_tx_busy) {
+ if (video_tx_flag == 0) {
+ break;
+ }
+ }
+#else
+ /* dwc2 must use this method */
+ for (uint32_t i = 0; i < packets; i++) {
+ if (i == (packets - 1)) {
+ video_iso_tx_busy = true;
+ usbd_ep_start_write(busid, VIDEO_IN_EP, &video_packet_buffer[i * MAX_PAYLOAD_SIZE], out_len - (packets - 1) * MAX_PAYLOAD_SIZE);
+ while (video_iso_tx_busy) {
+ if (video_tx_flag == 0) {
+ break;
+ }
+ }
+ } else {
+ video_iso_tx_busy = true;
+ usbd_ep_start_write(busid, VIDEO_IN_EP, &video_packet_buffer[i * MAX_PAYLOAD_SIZE], MAX_PAYLOAD_SIZE);
+ while (video_iso_tx_busy) {
+ if (video_tx_flag == 0) {
+ break;
+ }
+ }
+ }
+ }
+#endif
+ }
+ }
+}
\ No newline at end of file
diff --git a/components/drivers/usb/cherryusb/demo/video_static_h264_template.c b/components/drivers/usb/cherryusb/demo/video_static_h264_template.c
new file mode 100644
index 0000000000..adfb879d5f
--- /dev/null
+++ b/components/drivers/usb/cherryusb/demo/video_static_h264_template.c
@@ -0,0 +1,249 @@
+/*
+ * Copyright (c) 2024, sakumisu
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+#include "usbd_core.h"
+#include "usbd_video.h"
+#include "cherryusb_h264.h"
+
+#define VIDEO_IN_EP 0x81
+#define VIDEO_INT_EP 0x83
+
+#ifdef CONFIG_USB_HS
+#define MAX_PAYLOAD_SIZE 1024 // for high speed with one transcations every one micro frame
+#define VIDEO_PACKET_SIZE (unsigned int)(((MAX_PAYLOAD_SIZE / 1)) | (0x00 << 11))
+
+// #define MAX_PAYLOAD_SIZE 2048 // for high speed with two transcations every one micro frame
+// #define VIDEO_PACKET_SIZE (unsigned int)(((MAX_PAYLOAD_SIZE / 2)) | (0x01 << 11))
+
+// #define MAX_PAYLOAD_SIZE 3072 // for high speed with three transcations every one micro frame
+// #define VIDEO_PACKET_SIZE (unsigned int)(((MAX_PAYLOAD_SIZE / 3)) | (0x02 << 11))
+
+#else
+#define MAX_PAYLOAD_SIZE 1020
+#define VIDEO_PACKET_SIZE (unsigned int)(((MAX_PAYLOAD_SIZE / 1)) | (0x00 << 11))
+#endif
+
+#define WIDTH (unsigned int)(640)
+#define HEIGHT (unsigned int)(480)
+
+#define CAM_FPS (30)
+#define INTERVAL (unsigned long)(10000000 / CAM_FPS)
+#define MIN_BIT_RATE (unsigned long)(WIDTH * HEIGHT * 16 * CAM_FPS) //16 bit
+#define MAX_BIT_RATE (unsigned long)(WIDTH * HEIGHT * 16 * CAM_FPS)
+#define MAX_FRAME_SIZE (unsigned long)(WIDTH * HEIGHT * 2)
+
+#define VS_HEADER_SIZ (unsigned int)(VIDEO_SIZEOF_VS_INPUT_HEADER_DESC(1,1) + VIDEO_SIZEOF_VS_FORMAT_H264_DESC + VIDEO_SIZEOF_VS_FRAME_H264_DESC(1))
+
+#define USB_VIDEO_DESC_SIZ (unsigned long)(9 + \
+ VIDEO_VC_NOEP_DESCRIPTOR_LEN + \
+ 9 + \
+ VS_HEADER_SIZ + \
+ 9 + \
+ 7)
+
+#define USBD_VID 0xffff
+#define USBD_PID 0xffff
+#define USBD_MAX_POWER 100
+#define USBD_LANGID_STRING 1033
+
+const uint8_t video_descriptor[] = {
+ USB_DEVICE_DESCRIPTOR_INIT(USB_2_0, 0xef, 0x02, 0x01, USBD_VID, USBD_PID, 0x0001, 0x01),
+ USB_CONFIG_DESCRIPTOR_INIT(USB_VIDEO_DESC_SIZ, 0x02, 0x01, USB_CONFIG_BUS_POWERED, USBD_MAX_POWER),
+ //VIDEO_VC_DESCRIPTOR_INIT(0x00, VIDEO_INT_EP, 0x0100, VIDEO_VC_TERMINAL_LEN, 48000000, 0x02),
+ VIDEO_VC_NOEP_DESCRIPTOR_INIT(0x00, VIDEO_INT_EP, 0x0100, VIDEO_VC_TERMINAL_LEN, 48000000, 0x02),
+ VIDEO_VS_DESCRIPTOR_INIT(0x01, 0x00, 0x00),
+ VIDEO_VS_INPUT_HEADER_DESCRIPTOR_INIT(0x01, VS_HEADER_SIZ, VIDEO_IN_EP, 0x00),
+ VIDEO_VS_FORMAT_H264_DESCRIPTOR_INIT(0x01, 0x01),
+ VIDEO_VS_FRAME_H264_DESCRIPTOR_INIT(0x01, WIDTH, HEIGHT, MIN_BIT_RATE, MAX_BIT_RATE, DBVAL(INTERVAL), 0x01, DBVAL(INTERVAL)),
+ VIDEO_VS_DESCRIPTOR_INIT(0x01, 0x01, 0x01),
+ /* 1.2.2.2 Standard VideoStream Isochronous Video Data Endpoint Descriptor */
+ USB_ENDPOINT_DESCRIPTOR_INIT(VIDEO_IN_EP, 0x05, VIDEO_PACKET_SIZE, 0x01),
+
+ ///////////////////////////////////////
+ /// string0 descriptor
+ ///////////////////////////////////////
+ USB_LANGID_INIT(USBD_LANGID_STRING),
+ ///////////////////////////////////////
+ /// string1 descriptor
+ ///////////////////////////////////////
+ 0x14, /* bLength */
+ USB_DESCRIPTOR_TYPE_STRING, /* bDescriptorType */
+ 'C', 0x00, /* wcChar0 */
+ 'h', 0x00, /* wcChar1 */
+ 'e', 0x00, /* wcChar2 */
+ 'r', 0x00, /* wcChar3 */
+ 'r', 0x00, /* wcChar4 */
+ 'y', 0x00, /* wcChar5 */
+ 'U', 0x00, /* wcChar6 */
+ 'S', 0x00, /* wcChar7 */
+ 'B', 0x00, /* wcChar8 */
+ ///////////////////////////////////////
+ /// string2 descriptor
+ ///////////////////////////////////////
+ 0x26, /* bLength */
+ USB_DESCRIPTOR_TYPE_STRING, /* bDescriptorType */
+ 'C', 0x00, /* wcChar0 */
+ 'h', 0x00, /* wcChar1 */
+ 'e', 0x00, /* wcChar2 */
+ 'r', 0x00, /* wcChar3 */
+ 'r', 0x00, /* wcChar4 */
+ 'y', 0x00, /* wcChar5 */
+ 'U', 0x00, /* wcChar6 */
+ 'S', 0x00, /* wcChar7 */
+ 'B', 0x00, /* wcChar8 */
+ ' ', 0x00, /* wcChar9 */
+ 'U', 0x00, /* wcChar10 */
+ 'V', 0x00, /* wcChar11 */
+ 'C', 0x00, /* wcChar12 */
+ ' ', 0x00, /* wcChar13 */
+ 'D', 0x00, /* wcChar14 */
+ 'E', 0x00, /* wcChar15 */
+ 'M', 0x00, /* wcChar16 */
+ 'O', 0x00, /* wcChar17 */
+ ///////////////////////////////////////
+ /// string3 descriptor
+ ///////////////////////////////////////
+ 0x16, /* bLength */
+ USB_DESCRIPTOR_TYPE_STRING, /* bDescriptorType */
+ '2', 0x00, /* wcChar0 */
+ '0', 0x00, /* wcChar1 */
+ '2', 0x00, /* wcChar2 */
+ '1', 0x00, /* wcChar3 */
+ '0', 0x00, /* wcChar4 */
+ '3', 0x00, /* wcChar5 */
+ '1', 0x00, /* wcChar6 */
+ '0', 0x00, /* wcChar7 */
+ '0', 0x00, /* wcChar8 */
+ '0', 0x00, /* wcChar9 */
+#ifdef CONFIG_USB_HS
+ ///////////////////////////////////////
+ /// device qualifier descriptor
+ ///////////////////////////////////////
+ 0x0a,
+ USB_DESCRIPTOR_TYPE_DEVICE_QUALIFIER,
+ 0x00,
+ 0x02,
+ 0x00,
+ 0x00,
+ 0x00,
+ 0x40,
+ 0x01,
+ 0x00,
+#endif
+ 0x00
+};
+
+volatile bool tx_flag = 0;
+volatile bool iso_tx_busy = false;
+
+static void usbd_event_handler(uint8_t busid, uint8_t event)
+{
+ switch (event) {
+ case USBD_EVENT_RESET:
+ break;
+ case USBD_EVENT_CONNECTED:
+ break;
+ case USBD_EVENT_DISCONNECTED:
+ break;
+ case USBD_EVENT_RESUME:
+ break;
+ case USBD_EVENT_SUSPEND:
+ break;
+ case USBD_EVENT_CONFIGURED:
+ tx_flag = 0;
+ iso_tx_busy = false;
+ break;
+ case USBD_EVENT_SET_REMOTE_WAKEUP:
+ break;
+ case USBD_EVENT_CLR_REMOTE_WAKEUP:
+ break;
+
+ default:
+ break;
+ }
+}
+
+void usbd_video_open(uint8_t busid, uint8_t intf)
+{
+ tx_flag = 1;
+ USB_LOG_RAW("OPEN\r\n");
+ iso_tx_busy = false;
+}
+void usbd_video_close(uint8_t busid, uint8_t intf)
+{
+ USB_LOG_RAW("CLOSE\r\n");
+ tx_flag = 0;
+ iso_tx_busy = false;
+}
+
+void usbd_video_iso_callback(uint8_t busid, uint8_t ep, uint32_t nbytes)
+{
+ //USB_LOG_RAW("actual in len:%d\r\n", nbytes);
+ iso_tx_busy = false;
+}
+
+static struct usbd_endpoint video_in_ep = {
+ .ep_cb = usbd_video_iso_callback,
+ .ep_addr = VIDEO_IN_EP
+};
+
+struct usbd_interface intf0;
+struct usbd_interface intf1;
+
+void video_init(uint8_t busid, uint32_t reg_base)
+{
+ usbd_desc_register(busid, video_descriptor);
+ usbd_add_interface(busid, usbd_video_init_intf(busid, &intf0, INTERVAL, MAX_FRAME_SIZE, MAX_PAYLOAD_SIZE));
+ usbd_add_interface(busid, usbd_video_init_intf(busid, &intf1, INTERVAL, MAX_FRAME_SIZE, MAX_PAYLOAD_SIZE));
+ usbd_add_endpoint(busid, &video_in_ep);
+
+ usbd_initialize(busid, reg_base, usbd_event_handler);
+}
+
+USB_NOCACHE_RAM_SECTION USB_MEM_ALIGNX uint8_t packet_buffer[40 * 1024];
+
+void video_test(uint8_t busid)
+{
+ uint32_t out_len;
+ uint32_t packets;
+
+ (void)packets;
+ memset(packet_buffer, 0, 40 * 1024);
+ while (1) {
+ if (tx_flag) {
+ packets = usbd_video_payload_fill(busid, (uint8_t *)cherryusb_h264, sizeof(cherryusb_h264), packet_buffer, &out_len);
+#if 1
+ iso_tx_busy = true;
+ usbd_ep_start_write(busid, VIDEO_IN_EP, packet_buffer, out_len);
+ while (iso_tx_busy) {
+ if (tx_flag == 0) {
+ break;
+ }
+ }
+#else
+ /* dwc2 must use this method */
+ for (uint32_t i = 0; i < packets; i++) {
+ if (i == (packets - 1)) {
+ iso_tx_busy = true;
+ usbd_ep_start_write(busid, VIDEO_IN_EP, &packet_buffer[i * MAX_PAYLOAD_SIZE], out_len - (packets - 1) * MAX_PAYLOAD_SIZE);
+ while (iso_tx_busy) {
+ if (tx_flag == 0) {
+ break;
+ }
+ }
+ } else {
+ iso_tx_busy = true;
+ usbd_ep_start_write(busid, VIDEO_IN_EP, &packet_buffer[i * MAX_PAYLOAD_SIZE], MAX_PAYLOAD_SIZE);
+ while (iso_tx_busy) {
+ if (tx_flag == 0) {
+ break;
+ }
+ }
+ }
+ }
+#endif
+ }
+ }
+}
\ No newline at end of file
diff --git a/components/drivers/usb/cherryusb/demo/video_static_mjpeg_template.c b/components/drivers/usb/cherryusb/demo/video_static_mjpeg_template.c
index 41d54b0459..85b659d463 100644
--- a/components/drivers/usb/cherryusb/demo/video_static_mjpeg_template.c
+++ b/components/drivers/usb/cherryusb/demo/video_static_mjpeg_template.c
@@ -5,9 +5,10 @@
*/
#include "usbd_core.h"
#include "usbd_video.h"
-#include "pic_data.h"
+#include "cherryusb_mjpeg.h"
-#define VIDEO_IN_EP 0x81
+#define VIDEO_IN_EP 0x81
+#define VIDEO_INT_EP 0x83
#ifdef CONFIG_USB_HS
#define MAX_PAYLOAD_SIZE 1024 // for high speed with one transcations every one micro frame
@@ -33,22 +34,14 @@
#define MAX_BIT_RATE (unsigned long)(WIDTH * HEIGHT * 16 * CAM_FPS)
#define MAX_FRAME_SIZE (unsigned long)(WIDTH * HEIGHT * 2)
-#define USB_VIDEO_DESC_SIZ (unsigned long)(9 + \
- 8 + \
- 9 + \
- 13 + \
- 18 + \
- 9 + \
- 12 + \
- 9 + \
- 14 + \
- 11 + \
- 30 + \
- 9 + \
- 7)
+#define VS_HEADER_SIZ (unsigned int)(VIDEO_SIZEOF_VS_INPUT_HEADER_DESC(1,1) + VIDEO_SIZEOF_VS_FORMAT_MJPEG_DESC + VIDEO_SIZEOF_VS_FRAME_MJPEG_DESC(1))
-#define VC_TERMINAL_SIZ (unsigned int)(13 + 18 + 12 + 9)
-#define VS_HEADER_SIZ (unsigned int)(13 + 1 + 11 + 30)
+#define USB_VIDEO_DESC_SIZ (unsigned long)(9 + \
+ VIDEO_VC_NOEP_DESCRIPTOR_LEN + \
+ 9 + \
+ VS_HEADER_SIZ + \
+ 9 + \
+ 7)
#define USBD_VID 0xffff
#define USBD_PID 0xffff
@@ -58,19 +51,15 @@
const uint8_t video_descriptor[] = {
USB_DEVICE_DESCRIPTOR_INIT(USB_2_0, 0xef, 0x02, 0x01, USBD_VID, USBD_PID, 0x0001, 0x01),
USB_CONFIG_DESCRIPTOR_INIT(USB_VIDEO_DESC_SIZ, 0x02, 0x01, USB_CONFIG_BUS_POWERED, USBD_MAX_POWER),
- VIDEO_VC_DESCRIPTOR_INIT(0x00, 0, 0x0100, VC_TERMINAL_SIZ, 48000000, 0x02),
+ //VIDEO_VC_DESCRIPTOR_INIT(0x00, VIDEO_INT_EP, 0x0100, VIDEO_VC_TERMINAL_LEN, 48000000, 0x02),
+ VIDEO_VC_NOEP_DESCRIPTOR_INIT(0x00, VIDEO_INT_EP, 0x0100, VIDEO_VC_TERMINAL_LEN, 48000000, 0x02),
VIDEO_VS_DESCRIPTOR_INIT(0x01, 0x00, 0x00),
- VIDEO_VS_HEADER_DESCRIPTOR_INIT(0x01, VS_HEADER_SIZ, VIDEO_IN_EP, 0x00),
+ VIDEO_VS_INPUT_HEADER_DESCRIPTOR_INIT(0x01, VS_HEADER_SIZ, VIDEO_IN_EP, 0x00),
VIDEO_VS_FORMAT_MJPEG_DESCRIPTOR_INIT(0x01, 0x01),
VIDEO_VS_FRAME_MJPEG_DESCRIPTOR_INIT(0x01, WIDTH, HEIGHT, MIN_BIT_RATE, MAX_BIT_RATE, MAX_FRAME_SIZE, DBVAL(INTERVAL), 0x01, DBVAL(INTERVAL)),
VIDEO_VS_DESCRIPTOR_INIT(0x01, 0x01, 0x01),
/* 1.2.2.2 Standard VideoStream Isochronous Video Data Endpoint Descriptor */
- 0x07, /* bLength */
- USB_DESCRIPTOR_TYPE_ENDPOINT, /* bDescriptorType: ENDPOINT */
- 0x81, /* bEndpointAddress: IN endpoint 2 */
- 0x01, /* bmAttributes: Isochronous transfer type. Asynchronous synchronization type. */
- WBVAL(VIDEO_PACKET_SIZE), /* wMaxPacketSize */
- 0x01, /* bInterval: One frame interval */
+ USB_ENDPOINT_DESCRIPTOR_INIT(VIDEO_IN_EP, 0x05, VIDEO_PACKET_SIZE, 0x01),
///////////////////////////////////////
/// string0 descriptor
@@ -191,7 +180,7 @@ void usbd_video_close(uint8_t busid, uint8_t intf)
void usbd_video_iso_callback(uint8_t busid, uint8_t ep, uint32_t nbytes)
{
- USB_LOG_RAW("actual in len:%d\r\n", nbytes);
+ //USB_LOG_RAW("actual in len:%d\r\n", nbytes);
iso_tx_busy = false;
}
@@ -213,17 +202,19 @@ void video_init(uint8_t busid, uint32_t reg_base)
usbd_initialize(busid, reg_base, usbd_event_handler);
}
-USB_NOCACHE_RAM_SECTION USB_MEM_ALIGNX uint8_t packet_buffer[10 * 1024];
+USB_NOCACHE_RAM_SECTION USB_MEM_ALIGNX uint8_t packet_buffer[40 * 1024];
void video_test(uint8_t busid)
{
uint32_t out_len;
uint32_t packets;
- memset(packet_buffer, 0, 10 * 1024);
+
+ (void)packets;
+ memset(packet_buffer, 0, 40 * 1024);
while (1) {
if (tx_flag) {
- packets = usbd_video_mjpeg_payload_fill(busid, (uint8_t *)jpeg_data, sizeof(jpeg_data), packet_buffer, &out_len);
-#if 0
+ packets = usbd_video_payload_fill(busid, (uint8_t *)cherryusb_mjpeg, sizeof(cherryusb_mjpeg), packet_buffer, &out_len);
+#if 1
iso_tx_busy = true;
usbd_ep_start_write(busid, VIDEO_IN_EP, packet_buffer, out_len);
while (iso_tx_busy) {
diff --git a/components/drivers/usb/cherryusb/demo/video_static_yuyv_template.c b/components/drivers/usb/cherryusb/demo/video_static_yuyv_template.c
new file mode 100644
index 0000000000..febbaf9b6a
--- /dev/null
+++ b/components/drivers/usb/cherryusb/demo/video_static_yuyv_template.c
@@ -0,0 +1,251 @@
+/*
+ * Copyright (c) 2024, sakumisu
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+#include "usbd_core.h"
+#include "usbd_video.h"
+#include "cherryusb_yuyv.h"
+
+#define VIDEO_IN_EP 0x81
+#define VIDEO_INT_EP 0x83
+
+#ifdef CONFIG_USB_HS
+#define MAX_PAYLOAD_SIZE 1024 // for high speed with one transcations every one micro frame
+#define VIDEO_PACKET_SIZE (unsigned int)(((MAX_PAYLOAD_SIZE / 1)) | (0x00 << 11))
+
+// #define MAX_PAYLOAD_SIZE 2048 // for high speed with two transcations every one micro frame
+// #define VIDEO_PACKET_SIZE (unsigned int)(((MAX_PAYLOAD_SIZE / 2)) | (0x01 << 11))
+
+// #define MAX_PAYLOAD_SIZE 3072 // for high speed with three transcations every one micro frame
+// #define VIDEO_PACKET_SIZE (unsigned int)(((MAX_PAYLOAD_SIZE / 3)) | (0x02 << 11))
+
+#else
+#define MAX_PAYLOAD_SIZE 1020
+#define VIDEO_PACKET_SIZE (unsigned int)(((MAX_PAYLOAD_SIZE / 1)) | (0x00 << 11))
+#endif
+
+#define WIDTH (unsigned int)(64)
+#define HEIGHT (unsigned int)(48)
+
+#define CAM_FPS (30)
+#define INTERVAL (unsigned long)(10000000 / CAM_FPS)
+#define MIN_BIT_RATE (unsigned long)(WIDTH * HEIGHT * 16 * CAM_FPS) //16 bit
+#define MAX_BIT_RATE (unsigned long)(WIDTH * HEIGHT * 16 * CAM_FPS)
+#define MAX_FRAME_SIZE (unsigned long)(WIDTH * HEIGHT * 2)
+
+#define VS_HEADER_SIZ (unsigned int)(VIDEO_SIZEOF_VS_INPUT_HEADER_DESC(1,1) + VIDEO_SIZEOF_VS_FORMAT_UNCOMPRESSED_DESC + VIDEO_SIZEOF_VS_FRAME_UNCOMPRESSED_DESC(1))
+
+#define USB_VIDEO_DESC_SIZ (unsigned long)(9 + \
+ VIDEO_VC_NOEP_DESCRIPTOR_LEN + \
+ 9 + \
+ VS_HEADER_SIZ + \
+ 6 + \
+ 9 + \
+ 7)
+
+#define USBD_VID 0xffff
+#define USBD_PID 0xffff
+#define USBD_MAX_POWER 100
+#define USBD_LANGID_STRING 1033
+
+const uint8_t video_descriptor[] = {
+ USB_DEVICE_DESCRIPTOR_INIT(USB_2_0, 0xef, 0x02, 0x01, USBD_VID, USBD_PID, 0x0001, 0x01),
+ USB_CONFIG_DESCRIPTOR_INIT(USB_VIDEO_DESC_SIZ, 0x02, 0x01, USB_CONFIG_BUS_POWERED, USBD_MAX_POWER),
+ //VIDEO_VC_DESCRIPTOR_INIT(0x00, VIDEO_INT_EP, 0x0100, VIDEO_VC_TERMINAL_LEN, 48000000, 0x02),
+ VIDEO_VC_NOEP_DESCRIPTOR_INIT(0x00, VIDEO_INT_EP, 0x0100, VIDEO_VC_TERMINAL_LEN, 48000000, 0x02),
+ VIDEO_VS_DESCRIPTOR_INIT(0x01, 0x00, 0x00),
+ VIDEO_VS_INPUT_HEADER_DESCRIPTOR_INIT(0x01, VS_HEADER_SIZ, VIDEO_IN_EP, 0x00),
+ VIDEO_VS_FORMAT_UNCOMPRESSED_DESCRIPTOR_INIT(0x01, 0x01, VIDEO_GUID_YUY2),
+ VIDEO_VS_FRAME_UNCOMPRESSED_DESCRIPTOR_INIT(0x01, WIDTH, HEIGHT, MIN_BIT_RATE, MAX_BIT_RATE, MAX_FRAME_SIZE, DBVAL(INTERVAL), 0x01, DBVAL(INTERVAL)),
+ VIDEO_VS_COLOR_MATCHING_DESCRIPTOR_INIT(),
+ VIDEO_VS_DESCRIPTOR_INIT(0x01, 0x01, 0x01),
+ /* 1.2.2.2 Standard VideoStream Isochronous Video Data Endpoint Descriptor */
+ USB_ENDPOINT_DESCRIPTOR_INIT(VIDEO_IN_EP, 0x05, VIDEO_PACKET_SIZE, 0x01),
+
+ ///////////////////////////////////////
+ /// string0 descriptor
+ ///////////////////////////////////////
+ USB_LANGID_INIT(USBD_LANGID_STRING),
+ ///////////////////////////////////////
+ /// string1 descriptor
+ ///////////////////////////////////////
+ 0x14, /* bLength */
+ USB_DESCRIPTOR_TYPE_STRING, /* bDescriptorType */
+ 'C', 0x00, /* wcChar0 */
+ 'h', 0x00, /* wcChar1 */
+ 'e', 0x00, /* wcChar2 */
+ 'r', 0x00, /* wcChar3 */
+ 'r', 0x00, /* wcChar4 */
+ 'y', 0x00, /* wcChar5 */
+ 'U', 0x00, /* wcChar6 */
+ 'S', 0x00, /* wcChar7 */
+ 'B', 0x00, /* wcChar8 */
+ ///////////////////////////////////////
+ /// string2 descriptor
+ ///////////////////////////////////////
+ 0x26, /* bLength */
+ USB_DESCRIPTOR_TYPE_STRING, /* bDescriptorType */
+ 'C', 0x00, /* wcChar0 */
+ 'h', 0x00, /* wcChar1 */
+ 'e', 0x00, /* wcChar2 */
+ 'r', 0x00, /* wcChar3 */
+ 'r', 0x00, /* wcChar4 */
+ 'y', 0x00, /* wcChar5 */
+ 'U', 0x00, /* wcChar6 */
+ 'S', 0x00, /* wcChar7 */
+ 'B', 0x00, /* wcChar8 */
+ ' ', 0x00, /* wcChar9 */
+ 'U', 0x00, /* wcChar10 */
+ 'V', 0x00, /* wcChar11 */
+ 'C', 0x00, /* wcChar12 */
+ ' ', 0x00, /* wcChar13 */
+ 'D', 0x00, /* wcChar14 */
+ 'E', 0x00, /* wcChar15 */
+ 'M', 0x00, /* wcChar16 */
+ 'O', 0x00, /* wcChar17 */
+ ///////////////////////////////////////
+ /// string3 descriptor
+ ///////////////////////////////////////
+ 0x16, /* bLength */
+ USB_DESCRIPTOR_TYPE_STRING, /* bDescriptorType */
+ '2', 0x00, /* wcChar0 */
+ '0', 0x00, /* wcChar1 */
+ '2', 0x00, /* wcChar2 */
+ '1', 0x00, /* wcChar3 */
+ '0', 0x00, /* wcChar4 */
+ '3', 0x00, /* wcChar5 */
+ '1', 0x00, /* wcChar6 */
+ '0', 0x00, /* wcChar7 */
+ '0', 0x00, /* wcChar8 */
+ '0', 0x00, /* wcChar9 */
+#ifdef CONFIG_USB_HS
+ ///////////////////////////////////////
+ /// device qualifier descriptor
+ ///////////////////////////////////////
+ 0x0a,
+ USB_DESCRIPTOR_TYPE_DEVICE_QUALIFIER,
+ 0x00,
+ 0x02,
+ 0x00,
+ 0x00,
+ 0x00,
+ 0x40,
+ 0x01,
+ 0x00,
+#endif
+ 0x00
+};
+
+volatile bool tx_flag = 0;
+volatile bool iso_tx_busy = false;
+
+static void usbd_event_handler(uint8_t busid, uint8_t event)
+{
+ switch (event) {
+ case USBD_EVENT_RESET:
+ break;
+ case USBD_EVENT_CONNECTED:
+ break;
+ case USBD_EVENT_DISCONNECTED:
+ break;
+ case USBD_EVENT_RESUME:
+ break;
+ case USBD_EVENT_SUSPEND:
+ break;
+ case USBD_EVENT_CONFIGURED:
+ tx_flag = 0;
+ iso_tx_busy = false;
+ break;
+ case USBD_EVENT_SET_REMOTE_WAKEUP:
+ break;
+ case USBD_EVENT_CLR_REMOTE_WAKEUP:
+ break;
+
+ default:
+ break;
+ }
+}
+
+void usbd_video_open(uint8_t busid, uint8_t intf)
+{
+ tx_flag = 1;
+ USB_LOG_RAW("OPEN\r\n");
+ iso_tx_busy = false;
+}
+void usbd_video_close(uint8_t busid, uint8_t intf)
+{
+ USB_LOG_RAW("CLOSE\r\n");
+ tx_flag = 0;
+ iso_tx_busy = false;
+}
+
+void usbd_video_iso_callback(uint8_t busid, uint8_t ep, uint32_t nbytes)
+{
+ //USB_LOG_RAW("actual in len:%d\r\n", nbytes);
+ iso_tx_busy = false;
+}
+
+static struct usbd_endpoint video_in_ep = {
+ .ep_cb = usbd_video_iso_callback,
+ .ep_addr = VIDEO_IN_EP
+};
+
+struct usbd_interface intf0;
+struct usbd_interface intf1;
+
+void video_init(uint8_t busid, uint32_t reg_base)
+{
+ usbd_desc_register(busid, video_descriptor);
+ usbd_add_interface(busid, usbd_video_init_intf(busid, &intf0, INTERVAL, MAX_FRAME_SIZE, MAX_PAYLOAD_SIZE));
+ usbd_add_interface(busid, usbd_video_init_intf(busid, &intf1, INTERVAL, MAX_FRAME_SIZE, MAX_PAYLOAD_SIZE));
+ usbd_add_endpoint(busid, &video_in_ep);
+
+ usbd_initialize(busid, reg_base, usbd_event_handler);
+}
+
+USB_NOCACHE_RAM_SECTION USB_MEM_ALIGNX uint8_t packet_buffer[40 * 1024];
+
+void video_test(uint8_t busid)
+{
+ uint32_t out_len;
+ uint32_t packets;
+
+ (void)packets;
+ memset(packet_buffer, 0, 40 * 1024);
+ while (1) {
+ if (tx_flag) {
+ packets = usbd_video_payload_fill(busid, (uint8_t *)cherryusb_yuyv, sizeof(cherryusb_yuyv), packet_buffer, &out_len);
+#if 1
+ iso_tx_busy = true;
+ usbd_ep_start_write(busid, VIDEO_IN_EP, packet_buffer, out_len);
+ while (iso_tx_busy) {
+ if (tx_flag == 0) {
+ break;
+ }
+ }
+#else
+ /* dwc2 must use this method */
+ for (uint32_t i = 0; i < packets; i++) {
+ if (i == (packets - 1)) {
+ iso_tx_busy = true;
+ usbd_ep_start_write(busid, VIDEO_IN_EP, &packet_buffer[i * MAX_PAYLOAD_SIZE], out_len - (packets - 1) * MAX_PAYLOAD_SIZE);
+ while (iso_tx_busy) {
+ if (tx_flag == 0) {
+ break;
+ }
+ }
+ } else {
+ iso_tx_busy = true;
+ usbd_ep_start_write(busid, VIDEO_IN_EP, &packet_buffer[i * MAX_PAYLOAD_SIZE], MAX_PAYLOAD_SIZE);
+ while (iso_tx_busy) {
+ if (tx_flag == 0) {
+ break;
+ }
+ }
+ }
+ }
+#endif
+ }
+ }
+}
\ No newline at end of file
diff --git a/components/drivers/usb/cherryusb/platform/rtthread/usbh_dfs.c b/components/drivers/usb/cherryusb/platform/rtthread/usbh_dfs.c
index 968064a644..12799e67b2 100644
--- a/components/drivers/usb/cherryusb/platform/rtthread/usbh_dfs.c
+++ b/components/drivers/usb/cherryusb/platform/rtthread/usbh_dfs.c
@@ -16,7 +16,7 @@
#endif
#if defined(SOC_SERIES_STM32H7) || defined(SOC_SERIES_STM32F7) || \
- defined(SOC_HPM5000) || defined(SOC_HPM6000) || defined(BSP_USING_BL61X)
+ defined(SOC_HPM5000) || defined(SOC_HPM6000) || defined(SOC_HPM6E00) || defined(BSP_USING_BL61X)
#ifndef RT_USING_CACHE
#error usbh msc must enable RT_USING_CACHE in this chip
#endif
diff --git a/components/drivers/usb/cherryusb/platform/rtthread/usbh_lwip.c b/components/drivers/usb/cherryusb/platform/rtthread/usbh_lwip.c
index 2c0c7eaf93..360a848953 100644
--- a/components/drivers/usb/cherryusb/platform/rtthread/usbh_lwip.c
+++ b/components/drivers/usb/cherryusb/platform/rtthread/usbh_lwip.c
@@ -32,11 +32,11 @@
#warning suggest you to enable LWIP_NO_TX_THREAD, we do not use rtthread eth tx thread
#endif
-#if LWIP_TCPIP_CORE_LOCKING_INPUT !=1
+#if LWIP_TCPIP_CORE_LOCKING_INPUT != 1
#warning suggest you to set LWIP_TCPIP_CORE_LOCKING_INPUT to 1, usb handles eth input with own thread
#endif
-#if LWIP_TCPIP_CORE_LOCKING !=1
+#if LWIP_TCPIP_CORE_LOCKING != 1
#error must set LWIP_TCPIP_CORE_LOCKING to 1
#endif
@@ -50,6 +50,18 @@
// #define CONFIG_USBHOST_PLATFORM_ASIX
// #define CONFIG_USBHOST_PLATFORM_RTL8152
+void usbh_lwip_eth_output_common(struct pbuf *p, uint8_t *buf)
+{
+ struct pbuf *q;
+ uint8_t *buffer;
+
+ buffer = buf;
+ for (q = p; q != NULL; q = q->next) {
+ usb_memcpy(buffer, q->payload, q->len);
+ buffer += q->len;
+ }
+}
+
void usbh_lwip_eth_input_common(struct netif *netif, uint8_t *buf, uint32_t len)
{
#if LWIP_TCPIP_CORE_LOCKING_INPUT
@@ -65,7 +77,7 @@ void usbh_lwip_eth_input_common(struct netif *netif, uint8_t *buf, uint32_t len)
#if LWIP_TCPIP_CORE_LOCKING_INPUT
p->payload = buf;
#else
- memcpy(p->payload, buf, len);
+ usb_memcpy(p->payload, buf, len);
#endif
err = netif->input(p, netif);
if (err != ERR_OK) {
@@ -105,7 +117,10 @@ static rt_err_t rt_usbh_cdc_ecm_control(rt_device_t dev, int cmd, void *args)
static rt_err_t rt_usbh_cdc_ecm_eth_tx(rt_device_t dev, struct pbuf *p)
{
- int ret = usbh_cdc_ecm_eth_output(p->payload, p->tot_len);
+ int ret;
+
+ usbh_lwip_eth_output_common(p, usbh_cdc_ecm_get_eth_txbuf());
+ ret = usbh_cdc_ecm_eth_output(p->tot_len);
if (ret < 0) {
return -RT_ERROR;
} else {
@@ -188,7 +203,10 @@ static rt_err_t rt_usbh_rndis_control(rt_device_t dev, int cmd, void *args)
static rt_err_t rt_usbh_rndis_eth_tx(rt_device_t dev, struct pbuf *p)
{
- int ret = usbh_rndis_eth_output(p->payload, p->tot_len);
+ int ret;
+
+ usbh_lwip_eth_output_common(p, usbh_rndis_get_eth_txbuf());
+ ret = usbh_rndis_eth_output(p->tot_len);
if (ret < 0) {
return -RT_ERROR;
} else {
@@ -254,7 +272,10 @@ static rt_err_t rt_usbh_cdc_ncm_control(rt_device_t dev, int cmd, void *args)
static rt_err_t rt_usbh_cdc_ncm_eth_tx(rt_device_t dev, struct pbuf *p)
{
- int ret = usbh_cdc_ncm_eth_output(p->payload, p->tot_len);
+ int ret;
+
+ usbh_lwip_eth_output_common(p, usbh_cdc_ncm_get_eth_txbuf());
+ ret = usbh_cdc_ncm_eth_output(p->tot_len);
if (ret < 0) {
return -RT_ERROR;
} else {
@@ -317,7 +338,10 @@ static rt_err_t rt_usbh_asix_control(rt_device_t dev, int cmd, void *args)
static rt_err_t rt_usbh_asix_eth_tx(rt_device_t dev, struct pbuf *p)
{
- int ret = usbh_asix_eth_output(p->payload, p->tot_len);
+ int ret;
+
+ usbh_lwip_eth_output_common(p, usbh_asix_get_eth_txbuf());
+ ret = usbh_asix_eth_output(p->tot_len);
if (ret < 0) {
return -RT_ERROR;
} else {
@@ -380,7 +404,10 @@ static rt_err_t rt_usbh_rtl8152_control(rt_device_t dev, int cmd, void *args)
static rt_err_t rt_usbh_rtl8152_eth_tx(rt_device_t dev, struct pbuf *p)
{
- int ret = usbh_rtl8152_eth_output(p->payload, p->tot_len);
+ int ret;
+
+ usbh_lwip_eth_output_common(p, usbh_rtl8152_get_eth_txbuf());
+ ret = usbh_rtl8152_eth_output(p->tot_len);
if (ret < 0) {
return -RT_ERROR;
} else {
diff --git a/components/drivers/usb/cherryusb/port/dwc2/README.md b/components/drivers/usb/cherryusb/port/dwc2/README.md
index 2c084afd68..2111008946 100644
--- a/components/drivers/usb/cherryusb/port/dwc2/README.md
+++ b/components/drivers/usb/cherryusb/port/dwc2/README.md
@@ -29,3 +29,11 @@
## Espressif
- ESP32S2、ESP32S3
+
+## Sophgo
+
+- CV18xx
+
+## Kendryte
+
+- K230
diff --git a/components/drivers/usb/cherryusb/port/dwc2/usb_glue_esp.c b/components/drivers/usb/cherryusb/port/dwc2/usb_glue_esp.c
index 47b4fb4ddb..8c63234e02 100644
--- a/components/drivers/usb/cherryusb/port/dwc2/usb_glue_esp.c
+++ b/components/drivers/usb/cherryusb/port/dwc2/usb_glue_esp.c
@@ -8,8 +8,8 @@
#include "esp_intr_alloc.h"
#include "esp_private/usb_phy.h"
#include "soc/periph_defs.h"
-#include "usb_config.h"
-#include "usb_log.h"
+#include "usbd_core.h"
+#include "usbh_core.h"
#ifdef CONFIG_IDF_TARGET_ESP32S2
#define DEFAULT_CPU_FREQ_MHZ CONFIG_ESP32S2_DEFAULT_CPU_FREQ_MHZ
diff --git a/components/drivers/usb/cherryusb/port/dwc2/usb_glue_hc.c b/components/drivers/usb/cherryusb/port/dwc2/usb_glue_hc.c
new file mode 100644
index 0000000000..9bebe6df52
--- /dev/null
+++ b/components/drivers/usb/cherryusb/port/dwc2/usb_glue_hc.c
@@ -0,0 +1,26 @@
+/*
+ * Copyright (c) 2024, sakumisu
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+#include "usb_config.h"
+#include "usb_dwc2_reg.h"
+
+/* When using [GPIO_SetFunc(USBF_VBUS_PORT, USBF_VBUS_PIN, USBF_VBUS_FUNC);], there is no need to configure GOTGCTL */
+
+#define USB_OTG_GLB ((DWC2_GlobalTypeDef *)(reg_base))
+
+uint32_t usbd_get_dwc2_gccfg_conf(uint32_t reg_base)
+{
+
+ USB_OTG_GLB->GOTGCTL |= USB_OTG_GOTGCTL_BVALOEN;
+ USB_OTG_GLB->GOTGCTL |= USB_OTG_GOTGCTL_BVALOVAL;
+ return 0;
+}
+
+uint32_t usbh_get_dwc2_gccfg_conf(uint32_t reg_base)
+{
+ USB_OTG_GLB->GOTGCTL &= ~USB_OTG_GOTGCTL_BVALOEN;
+ USB_OTG_GLB->GOTGCTL &= ~USB_OTG_GOTGCTL_BVALOVAL;
+ return 0;
+}
diff --git a/components/drivers/usb/cherryusb/port/dwc2/usb_hc_dwc2.c b/components/drivers/usb/cherryusb/port/dwc2/usb_hc_dwc2.c
index 3dcf5fcc3f..ddcbaf2802 100644
--- a/components/drivers/usb/cherryusb/port/dwc2/usb_hc_dwc2.c
+++ b/components/drivers/usb/cherryusb/port/dwc2/usb_hc_dwc2.c
@@ -21,9 +21,9 @@
#define CONFIG_USB_DWC2_PTX_FIFO_SIZE (1024 / 4)
#endif
-/*
- * (largest USB packet used / 4) + 1 for status information + 1 transfer complete +
- * 1 location each for Bulk/Control endpoint for handling NAK/NYET scenario
+/*
+ * (largest USB packet used / 4) + 1 for status information + 1 transfer complete +
+ * 1 location each for Bulk/Control endpoint for handling NAK/NYET scenario
*/
#ifndef CONFIG_USB_DWC2_RX_FIFO_SIZE
#define CONFIG_USB_DWC2_RX_FIFO_SIZE ((1012 - CONFIG_USB_DWC2_NPTX_FIFO_SIZE - CONFIG_USB_DWC2_PTX_FIFO_SIZE) / 4)
@@ -322,15 +322,15 @@ static int dwc2_chan_alloc(struct usbh_bus *bus)
size_t flags;
int chidx;
+ flags = usb_osal_enter_critical_section();
for (chidx = 0; chidx < CONFIG_USBHOST_PIPE_NUM; chidx++) {
if (!g_dwc2_hcd[bus->hcd.hcd_id].chan_pool[chidx].inuse) {
- flags = usb_osal_enter_critical_section();
g_dwc2_hcd[bus->hcd.hcd_id].chan_pool[chidx].inuse = true;
usb_osal_leave_critical_section(flags);
return chidx;
}
}
-
+ usb_osal_leave_critical_section(flags);
return -1;
}
@@ -736,14 +736,32 @@ int usbh_submit_urb(struct usbh_urb *urb)
return -USB_ERR_BUSY;
}
- flags = usb_osal_enter_critical_section();
-
chidx = dwc2_chan_alloc(bus);
if (chidx == -1) {
- usb_osal_leave_critical_section(flags);
return -USB_ERR_NOMEM;
}
+ if (urb->ep->bEndpointAddress & 0x80) {
+ /* Check if pipe rx fifo is overflow */
+ if (USB_GET_MAXPACKETSIZE(urb->ep->wMaxPacketSize) > (CONFIG_USB_DWC2_RX_FIFO_SIZE * 4)) {
+ return -USB_ERR_RANGE;
+ }
+ } else {
+ /* Check if intr and iso pipe tx fifo is overflow */
+ if (((USB_GET_MAXPACKETSIZE(urb->ep->wMaxPacketSize) == USB_ENDPOINT_TYPE_ISOCHRONOUS) ||
+ (USB_GET_MAXPACKETSIZE(urb->ep->wMaxPacketSize) == USB_ENDPOINT_TYPE_INTERRUPT)) &&
+ USB_GET_MAXPACKETSIZE(urb->ep->wMaxPacketSize) > (CONFIG_USB_DWC2_PTX_FIFO_SIZE * 4)) {
+ return -USB_ERR_RANGE;
+ } else {
+ /* Check if control and bulk pipe tx fifo is overflow */
+ if (USB_GET_MAXPACKETSIZE(urb->ep->wMaxPacketSize) > (CONFIG_USB_DWC2_NPTX_FIFO_SIZE * 4)) {
+ return -USB_ERR_RANGE;
+ }
+ }
+ }
+
+ flags = usb_osal_enter_critical_section();
+
chan = &g_dwc2_hcd[bus->hcd.hcd_id].chan_pool[chidx];
chan->chidx = chidx;
chan->urb = urb;
diff --git a/components/drivers/usb/cherryusb/port/ehci/usb_ehci_priv.h b/components/drivers/usb/cherryusb/port/ehci/usb_ehci_priv.h
index 03fa270c83..ba1d3510f7 100644
--- a/components/drivers/usb/cherryusb/port/ehci/usb_ehci_priv.h
+++ b/components/drivers/usb/cherryusb/port/ehci/usb_ehci_priv.h
@@ -25,7 +25,10 @@
#define CONFIG_USB_EHCI_QTD_NUM 3
#endif
#ifndef CONFIG_USB_EHCI_ITD_NUM
-#define CONFIG_USB_EHCI_ITD_NUM 20
+#define CONFIG_USB_EHCI_ITD_NUM 5
+#endif
+#ifndef CONFIG_USB_EHCI_ISO_NUM
+#define CONFIG_USB_EHCI_ISO_NUM 4
#endif
extern uint8_t usbh_get_port_speed(struct usbh_bus *bus, const uint8_t port);
@@ -52,12 +55,17 @@ struct ehci_itd_hw {
uint8_t mf_unmask;
uint8_t mf_valid;
uint32_t pkt_idx[8];
- usb_slist_t list;
} __attribute__((aligned(32)));
+struct ehci_iso_hw
+{
+ struct ehci_itd_hw itd_pool[CONFIG_USB_EHCI_ITD_NUM];
+ uint32_t itd_num;
+};
+
struct ehci_hcd {
bool ehci_qh_used[CONFIG_USB_EHCI_QH_NUM];
- bool ehci_itd_used[CONFIG_USB_EHCI_ITD_NUM];
+ bool ehci_iso_used[CONFIG_USB_EHCI_ISO_NUM];
bool ppc; /* Port Power Control */
bool has_tt; /* if use tt instead of Companion Controller */
uint8_t n_cc; /* Number of Companion Controller */
@@ -70,7 +78,7 @@ extern struct ehci_hcd g_ehci_hcd[CONFIG_USBHOST_MAX_BUS];
extern uint32_t g_framelist[CONFIG_USBHOST_MAX_BUS][USB_ALIGN_UP(CONFIG_USB_EHCI_FRAME_LIST_SIZE, 1024)];
int ehci_iso_urb_init(struct usbh_bus *bus, struct usbh_urb *urb);
-void ehci_remove_itd_urb(struct usbh_bus *bus, struct usbh_urb *urb);
+void ehci_kill_iso_urb(struct usbh_bus *bus, struct usbh_urb *urb);
void ehci_scan_isochronous_list(struct usbh_bus *bus);
#endif
diff --git a/components/drivers/usb/cherryusb/port/ehci/usb_hc_ehci.c b/components/drivers/usb/cherryusb/port/ehci/usb_hc_ehci.c
index 41c8f46db8..d8370120a4 100644
--- a/components/drivers/usb/cherryusb/port/ehci/usb_hc_ehci.c
+++ b/components/drivers/usb/cherryusb/port/ehci/usb_hc_ehci.c
@@ -32,9 +32,9 @@ static struct ehci_qh_hw *ehci_qh_alloc(struct usbh_bus *bus)
struct ehci_qtd_hw *qtd;
size_t flags;
+ flags = usb_osal_enter_critical_section();
for (uint32_t i = 0; i < CONFIG_USB_EHCI_QH_NUM; i++) {
if (!g_ehci_hcd[bus->hcd.hcd_id].ehci_qh_used[i]) {
- flags = usb_osal_enter_critical_section();
g_ehci_hcd[bus->hcd.hcd_id].ehci_qh_used[i] = true;
usb_osal_leave_critical_section(flags);
@@ -56,6 +56,7 @@ static struct ehci_qh_hw *ehci_qh_alloc(struct usbh_bus *bus)
return qh;
}
}
+ usb_osal_leave_critical_section(flags);
return NULL;
}
@@ -1160,21 +1161,18 @@ int usbh_submit_urb(struct usbh_urb *urb)
if (qh == NULL) {
return -USB_ERR_NOMEM;
}
- urb->hcpriv = qh;
break;
case USB_ENDPOINT_TYPE_BULK:
qh = ehci_bulk_urb_init(bus, urb, urb->transfer_buffer, urb->transfer_buffer_length);
if (qh == NULL) {
return -USB_ERR_NOMEM;
}
- urb->hcpriv = qh;
break;
case USB_ENDPOINT_TYPE_INTERRUPT:
qh = ehci_intr_urb_init(bus, urb, urb->transfer_buffer, urb->transfer_buffer_length);
if (qh == NULL) {
return -USB_ERR_NOMEM;
}
- urb->hcpriv = qh;
break;
case USB_ENDPOINT_TYPE_ISOCHRONOUS:
#ifdef CONFIG_USB_EHCI_ISO
@@ -1245,7 +1243,7 @@ int usbh_kill_urb(struct usbh_urb *urb)
}
} else {
#ifdef CONFIG_USB_EHCI_ISO
- ehci_remove_itd_urb(bus, urb);
+ ehci_kill_iso_urb(bus, urb);
EHCI_HCOR->usbcmd |= (EHCI_USBCMD_PSEN | EHCI_USBCMD_ASEN);
usb_osal_leave_critical_section(flags);
return 0;
@@ -1346,8 +1344,8 @@ void USBH_IRQHandler(uint8_t busid)
for (uint8_t index = 0; index < CONFIG_USB_EHCI_QH_NUM; index++) {
g_ehci_hcd[bus->hcd.hcd_id].ehci_qh_used[index] = false;
}
- for (uint8_t index = 0; index < CONFIG_USB_EHCI_ITD_NUM; index++) {
- g_ehci_hcd[bus->hcd.hcd_id].ehci_itd_used[index] = false;
+ for (uint8_t index = 0; index < CONFIG_USB_EHCI_ISO_NUM; index++) {
+ g_ehci_hcd[bus->hcd.hcd_id].ehci_iso_used[index] = false;
}
}
diff --git a/components/drivers/usb/cherryusb/port/musb/README.md b/components/drivers/usb/cherryusb/port/musb/README.md
index d65b70a176..ad2a527f02 100644
--- a/components/drivers/usb/cherryusb/port/musb/README.md
+++ b/components/drivers/usb/cherryusb/port/musb/README.md
@@ -2,11 +2,7 @@
## Support Chip List
-### HEZHOU
-
-- AIR105
-
-### ES32
+### Eastsoft
- ES32F3xx
@@ -14,6 +10,10 @@
- MSP432E4x
+### Bekencorp
+
+- BK7256/BK7258
+
### AllwinnerTech
- F1Cxxx, F2Cxxx
diff --git a/components/drivers/usb/cherryusb/port/musb/usb_dc_musb.c b/components/drivers/usb/cherryusb/port/musb/usb_dc_musb.c
index 4bcc7eeee5..d66ec39edc 100644
--- a/components/drivers/usb/cherryusb/port/musb/usb_dc_musb.c
+++ b/components/drivers/usb/cherryusb/port/musb/usb_dc_musb.c
@@ -78,10 +78,6 @@
#define USB_FIFO_BASE(ep_idx) (USB_BASE + MUSB_FIFO_OFFSET + 0x4 * ep_idx)
-#ifndef CONFIG_USBDEV_EP_NUM
-#define CONFIG_USBDEV_EP_NUM 8
-#endif
-
typedef enum {
USB_EP0_STATE_SETUP = 0x0, /**< SETUP DATA */
USB_EP0_STATE_IN_DATA = 0x1, /**< IN DATA */
@@ -106,14 +102,12 @@ struct musb_ep_state {
/* Driver state */
struct musb_udc {
volatile uint8_t dev_addr;
- volatile uint32_t fifo_size_offset;
__attribute__((aligned(32))) struct usb_setup_packet setup;
struct musb_ep_state in_ep[CONFIG_USBDEV_EP_NUM]; /*!< IN endpoint parameters*/
struct musb_ep_state out_ep[CONFIG_USBDEV_EP_NUM]; /*!< OUT endpoint parameters */
} g_musb_udc;
static volatile uint8_t usb_ep0_state = USB_EP0_STATE_SETUP;
-volatile bool zlp_flag = 0;
/* get current active ep */
static uint8_t musb_get_active_ep(void)
@@ -205,6 +199,40 @@ static uint32_t musb_get_fifo_size(uint16_t mps, uint16_t *used)
return USB_TXFIFOSZ_SIZE_8;
}
+static uint32_t usbd_musb_fifo_config(struct musb_fifo_cfg *cfg, uint32_t offset)
+{
+ uint16_t fifo_used;
+ uint8_t c_size;
+ uint16_t c_off;
+
+ c_off = offset >> 3;
+ c_size = musb_get_fifo_size(cfg->maxpacket, &fifo_used);
+
+ musb_set_active_ep(cfg->ep_num);
+
+ switch (cfg->style) {
+ case FIFO_TX:
+ HWREGB(USB_BASE + MUSB_TXFIFOSZ_OFFSET) = c_size & 0x0f;
+ HWREGH(USB_BASE + MUSB_TXFIFOADD_OFFSET) = c_off;
+ break;
+ case FIFO_RX:
+ HWREGB(USB_BASE + MUSB_RXFIFOSZ_OFFSET) = c_size & 0x0f;
+ HWREGH(USB_BASE + MUSB_RXFIFOADD_OFFSET) = c_off;
+ break;
+ case FIFO_TXRX:
+ HWREGB(USB_BASE + MUSB_TXFIFOSZ_OFFSET) = c_size & 0x0f;
+ HWREGH(USB_BASE + MUSB_TXFIFOADD_OFFSET) = c_off;
+ HWREGB(USB_BASE + MUSB_RXFIFOSZ_OFFSET) = c_size & 0x0f;
+ HWREGH(USB_BASE + MUSB_RXFIFOADD_OFFSET) = c_off;
+ break;
+
+ default:
+ break;
+ }
+
+ return (offset + fifo_used);
+}
+
__WEAK void usb_dc_low_level_init(void)
{
}
@@ -215,6 +243,10 @@ __WEAK void usb_dc_low_level_deinit(void)
int usb_dc_init(uint8_t busid)
{
+ uint16_t offset = 0;
+ uint8_t cfg_num;
+ struct musb_fifo_cfg *cfg;
+
usb_dc_low_level_init();
#ifdef CONFIG_USB_HS
@@ -228,6 +260,18 @@ int usb_dc_init(uint8_t busid)
HWREGB(USB_BASE + MUSB_DEVCTL_OFFSET) |= USB_DEVCTL_SESSION;
+ cfg_num = usbd_get_musb_fifo_cfg(&cfg);
+
+ for (uint8_t i = 0; i < cfg_num; i++) {
+ offset = usbd_musb_fifo_config(&cfg[i], offset);
+ }
+
+ if (offset > usb_get_musb_ram_size()) {
+ USB_LOG_ERR("offset:%d is overflow, please check your table\r\n", offset);
+ while (1) {
+ }
+ }
+
/* Enable USB interrupts */
HWREGB(USB_BASE + MUSB_IE_OFFSET) = USB_IE_RESET;
HWREGH(USB_BASE + MUSB_TXIE_OFFSET) = USB_TXIE_EP0;
@@ -266,16 +310,8 @@ uint8_t usbd_get_port_speed(uint8_t busid)
return speed;
}
-uint8_t usbd_force_full_speed(const uint8_t port)
-{
- HWREGB(USB_BASE + MUSB_POWER_OFFSET) &= ~USB_POWER_HSENAB;
- return (HWREGB(USB_BASE + MUSB_POWER_OFFSET) & USB_POWER_HSENAB);
-}
-
int usbd_ep_open(uint8_t busid, const struct usb_endpoint_descriptor *ep)
{
- uint16_t used = 0;
- uint16_t fifo_size = 0;
uint8_t ep_idx = USB_EP_GET_IDX(ep->bEndpointAddress);
uint8_t old_ep_idx;
uint32_t ui32Flags = 0;
@@ -304,6 +340,11 @@ int usbd_ep_open(uint8_t busid, const struct usb_endpoint_descriptor *ep)
g_musb_udc.out_ep[ep_idx].ep_type = USB_GET_ENDPOINT_TYPE(ep->bmAttributes);
g_musb_udc.out_ep[ep_idx].ep_enable = true;
+ if ((8 << HWREGB(USB_BASE + MUSB_RXFIFOSZ_OFFSET)) < g_musb_udc.out_ep[ep_idx].ep_mps) {
+ USB_LOG_ERR("Ep %02x fifo is overflow\r\n", ep->bEndpointAddress);
+ return -2;
+ }
+
HWREGH(USB_BASE + MUSB_IND_RXMAP_OFFSET) = USB_GET_MAXPACKETSIZE(ep->wMaxPacketSize);
//
@@ -343,18 +384,16 @@ int usbd_ep_open(uint8_t busid, const struct usb_endpoint_descriptor *ep)
HWREGB(USB_BASE + MUSB_IND_RXCSRL_OFFSET) = (USB_RXCSRL1_CLRDT | USB_RXCSRL1_FLUSH);
else
HWREGB(USB_BASE + MUSB_IND_RXCSRL_OFFSET) = USB_RXCSRL1_CLRDT;
-
- fifo_size = musb_get_fifo_size(USB_GET_MAXPACKETSIZE(ep->wMaxPacketSize), &used);
-
- HWREGB(USB_BASE + MUSB_RXFIFOSZ_OFFSET) = fifo_size & 0x0f;
- HWREGH(USB_BASE + MUSB_RXFIFOADD_OFFSET) = (g_musb_udc.fifo_size_offset >> 3);
-
- g_musb_udc.fifo_size_offset += used;
} else {
g_musb_udc.in_ep[ep_idx].ep_mps = USB_GET_MAXPACKETSIZE(ep->wMaxPacketSize);
g_musb_udc.in_ep[ep_idx].ep_type = USB_GET_ENDPOINT_TYPE(ep->bmAttributes);
g_musb_udc.in_ep[ep_idx].ep_enable = true;
+ if ((8 << HWREGB(USB_BASE + MUSB_TXFIFOSZ_OFFSET)) < g_musb_udc.in_ep[ep_idx].ep_mps) {
+ USB_LOG_ERR("Ep %02x fifo is overflow\r\n", ep->bEndpointAddress);
+ return -2;
+ }
+
HWREGH(USB_BASE + MUSB_IND_TXMAP_OFFSET) = USB_GET_MAXPACKETSIZE(ep->wMaxPacketSize);
//
@@ -388,13 +427,6 @@ int usbd_ep_open(uint8_t busid, const struct usb_endpoint_descriptor *ep)
HWREGB(USB_BASE + MUSB_IND_TXCSRL_OFFSET) = (USB_TXCSRL1_CLRDT | USB_TXCSRL1_FLUSH);
else
HWREGB(USB_BASE + MUSB_IND_TXCSRL_OFFSET) = USB_TXCSRL1_CLRDT;
-
- fifo_size = musb_get_fifo_size(USB_GET_MAXPACKETSIZE(ep->wMaxPacketSize), &used);
-
- HWREGB(USB_BASE + MUSB_TXFIFOSZ_OFFSET) = fifo_size & 0x0f;
- HWREGH(USB_BASE + MUSB_TXFIFOADD_OFFSET) = (g_musb_udc.fifo_size_offset >> 3);
-
- g_musb_udc.fifo_size_offset += used;
}
musb_set_active_ep(old_ep_idx);
@@ -472,130 +504,6 @@ int usbd_ep_is_stalled(uint8_t busid, const uint8_t ep, uint8_t *stalled)
return 0;
}
-int usb_ep_out_data_avail(uint8_t ep_addr)
-{
- uint16_t old_ep_idx, length;
- uint8_t ep_idx = USB_EP_GET_IDX(ep_addr);
-
- old_ep_idx = musb_get_active_ep();
- musb_set_active_ep(ep_idx);
-
- if (ep_idx == 0) {
- if (!(HWREGB(USB_BASE + MUSB_IND_TXCSRL_OFFSET) & USB_CSRL0_RXRDY)) {
- musb_set_active_ep(old_ep_idx);
- return 0;
- }
- length = HWREGH(USB_BASE + MUSB_IND_RXCOUNT_OFFSET);
- musb_set_active_ep(old_ep_idx);
- return length;
- } else {
- if (!(HWREGB(USB_BASE + MUSB_IND_RXCSRL_OFFSET) & USB_RXCSRL1_RXRDY)) {
- musb_set_active_ep(old_ep_idx);
- return 0;
- }
- length = HWREGH(USB_BASE + MUSB_IND_RXCOUNT_OFFSET);
- musb_set_active_ep(old_ep_idx);
- return length;
- }
-}
-
-int usb_ep_in_data_avail(uint8_t ep_addr)
-{
- uint16_t old_ep_idx, length;
- uint8_t ep_idx = USB_EP_GET_IDX(ep_addr);
-
- old_ep_idx = musb_get_active_ep();
- musb_set_active_ep(ep_idx);
-
- if (ep_idx == 0) {
- if (HWREGB(USB_BASE + MUSB_IND_TXCSRL_OFFSET) & USB_CSRL0_TXRDY) {
- musb_set_active_ep(old_ep_idx);
- return 0;
- }
- } else {
- if (HWREGB(USB_BASE + MUSB_IND_TXCSRL_OFFSET) & USB_TXCSRL1_TXRDY) {
- musb_set_active_ep(old_ep_idx);
- return 0;
- }
- }
- length = HWREGH(USB_BASE + MUSB_IND_TXMAP_OFFSET);
- musb_set_active_ep(old_ep_idx);
- return length;
-}
-
-int usb_ep_wait_in_data_avail(uint8_t ep_addr)
-{
- uint32_t cnt;
-
- for (cnt = 0; cnt < 3000; cnt++) {
- if (usb_ep_in_data_avail(ep_addr))
- return cnt;
- }
- return 0;
-}
-
-int usbd_read_packet(uint8_t ep_addr, uint8_t *buffer, uint16_t len)
-{
- uint16_t old_ep_idx, cnt;
- uint8_t ep_idx = USB_EP_GET_IDX(ep_addr);
-
- old_ep_idx = musb_get_active_ep();
- musb_set_active_ep(ep_idx);
- if (ep_idx == 0) {
- if (!(HWREGB(USB_BASE + MUSB_IND_TXCSRL_OFFSET) & USB_CSRL0_RXRDY)) {
- musb_set_active_ep(old_ep_idx);
- return 0;
- }
- } else {
- if (!(HWREGB(USB_BASE + MUSB_IND_RXCSRL_OFFSET) & USB_RXCSRL1_RXRDY)) {
- musb_set_active_ep(old_ep_idx);
- return 0;
- }
- }
- cnt = usb_ep_out_data_avail(ep_idx);
- if (cnt) {
- musb_read_packet(ep_idx, buffer, cnt);
- HWREGB(USB_BASE + MUSB_IND_RXCSRL_OFFSET) &= ~(USB_RXCSRL1_OVER | USB_RXCSRL1_ERROR | USB_RXCSRL1_STALL | USB_RXCSRL1_STALLED);
- HWREGB(USB_BASE + MUSB_IND_RXCSRL_OFFSET) &= ~(USB_RXCSRL1_RXRDY);
- musb_set_active_ep(old_ep_idx);
- }
- return cnt;
-}
-
-int usbd_write_packet(uint8_t ep_addr, uint8_t *buffer, uint16_t len)
-{
- uint16_t old_ep_idx, cnt;
- uint8_t ep_idx = USB_EP_GET_IDX(ep_addr);
-
- old_ep_idx = musb_get_active_ep();
- musb_set_active_ep(ep_idx);
- if (HWREGB(USB_BASE + MUSB_IND_TXCSRL_OFFSET) & USB_TXCSRL1_UNDRN) {
- HWREGB(USB_BASE + MUSB_IND_TXCSRL_OFFSET) &= ~USB_TXCSRL1_UNDRN;
- }
- if (HWREGB(USB_BASE + MUSB_IND_TXCSRL_OFFSET) & USB_TXCSRL1_TXRDY) {
- musb_set_active_ep(old_ep_idx);
- return -1;
- }
-
- if (!buffer && len) {
- return -2;
- }
-
- if (!len) {
- HWREGB(USB_BASE + MUSB_IND_TXCSRL_OFFSET) |= USB_TXCSRL1_TXRDY;
- return 0;
- }
-
- cnt = usb_ep_in_data_avail(ep_idx);
- if (cnt) {
- cnt = MIN(cnt, len);
- musb_write_packet(ep_idx, buffer, cnt);
- HWREGB(USB_BASE + MUSB_IND_TXCSRL_OFFSET) |= USB_TXCSRL1_TXRDY;
- musb_set_active_ep(old_ep_idx);
- }
- return cnt;
-}
-
int usbd_ep_start_write(uint8_t busid, const uint8_t ep, const uint8_t *data, uint32_t data_len)
{
uint8_t ep_idx = USB_EP_GET_IDX(ep);
@@ -787,18 +695,10 @@ void USBD_IRQHandler(uint8_t busid)
/* Receive a reset signal from the USB bus */
if (is & USB_IS_RESET) {
memset(&g_musb_udc, 0, sizeof(struct musb_udc));
- g_musb_udc.fifo_size_offset = USB_CTRL_EP_MPS;
usbd_event_reset_handler(0);
HWREGH(USB_BASE + MUSB_TXIE_OFFSET) = USB_TXIE_EP0;
HWREGH(USB_BASE + MUSB_RXIE_OFFSET) = 0;
- for (uint8_t i = 1; i < CONFIG_USBDEV_EP_NUM; i++) {
- musb_set_active_ep(i);
- HWREGB(USB_BASE + MUSB_TXFIFOSZ_OFFSET) = 0;
- HWREGH(USB_BASE + MUSB_TXFIFOADD_OFFSET) = 0;
- HWREGB(USB_BASE + MUSB_RXFIFOSZ_OFFSET) = 0;
- HWREGH(USB_BASE + MUSB_RXFIFOADD_OFFSET) = 0;
- }
usb_ep0_state = USB_EP0_STATE_SETUP;
}
diff --git a/components/drivers/usb/cherryusb/port/musb/usb_glue_bk.c b/components/drivers/usb/cherryusb/port/musb/usb_glue_bk.c
new file mode 100644
index 0000000000..7eb987f9c2
--- /dev/null
+++ b/components/drivers/usb/cherryusb/port/musb/usb_glue_bk.c
@@ -0,0 +1,321 @@
+/*
+ * Copyright (c) 2024, sakumisu
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+#include "sys_driver.h"
+#include "gpio_driver.h"
+#include
+#include
+#include
+#include "bk_misc.h"
+#include "usbd_core.h"
+#include "usbh_core.h"
+#include "usb_musb_reg.h"
+
+#define USB_BASE_ADDR SOC_USB_REG_BASE
+
+#if (CONFIG_SOC_BK7271)
+#define REG_AHB2_USB_OTG_CFG (*((volatile unsigned char *)(USB_BASE_ADDR + 0x80)))
+#define REG_AHB2_USB_DMA_ENDP (*((volatile unsigned char *)(USB_BASE_ADDR + 0x84)))
+#define REG_AHB2_USB_VTH (*((volatile unsigned char *)(USB_BASE_ADDR + 0x88)))
+#define REG_AHB2_USB_GEN (*((volatile unsigned char *)(USB_BASE_ADDR + 0x8C)))
+#define REG_AHB2_USB_STAT (*((volatile unsigned char *)(USB_BASE_ADDR + 0x90)))
+#define REG_AHB2_USB_INT (*((volatile unsigned char *)(USB_BASE_ADDR + 0x94)))
+#define REG_AHB2_USB_RESET (*((volatile unsigned char *)(USB_BASE_ADDR + 0x98)))
+#define REG_AHB2_USB_DEV_CFG (*((volatile unsigned char *)(USB_BASE_ADDR + 0x9C)))
+#elif (CONFIG_SOC_BK7256XX)
+#define REG_AHB2_USB_OTG_CFG (*((volatile unsigned char *)(USB_BASE_ADDR + 0x280)))
+#define REG_AHB2_USB_DMA_ENDP (*((volatile unsigned char *)(USB_BASE_ADDR + 0x284)))
+#define REG_AHB2_USB_VTH (*((volatile unsigned char *)(USB_BASE_ADDR + 0x288)))
+#define REG_AHB2_USB_GEN (*((volatile unsigned char *)(USB_BASE_ADDR + 0x28C)))
+#define REG_AHB2_USB_STAT (*((volatile unsigned char *)(USB_BASE_ADDR + 0x290)))
+#define REG_AHB2_USB_INT (*((volatile unsigned char *)(USB_BASE_ADDR + 0x294)))
+#define REG_AHB2_USB_RESET (*((volatile unsigned char *)(USB_BASE_ADDR + 0x298)))
+#define REG_AHB2_USB_DEV_CFG (*((volatile unsigned char *)(USB_BASE_ADDR + 0x29C)))
+#elif (CONFIG_SOC_BK7236XX) || (CONFIG_SOC_BK7239XX) || (CONFIG_SOC_BK7286XX)
+#define REG_AHB2_USB_DEVICE_ID (*((volatile unsigned char *)(USB_BASE_ADDR + 0x280)))
+#define REG_AHB2_USB_VERSION_ID (*((volatile unsigned char *)(USB_BASE_ADDR + 0x284)))
+#define REG_AHB2_USB_GLOBAL_CTRL (*((volatile unsigned char *)(USB_BASE_ADDR + 0x288)))
+#define REG_AHB2_USB_DEVICE_STATUS (*((volatile unsigned char *)(USB_BASE_ADDR + 0x28c)))
+#define REG_AHB2_USB_OTG_CFG (*((volatile unsigned char *)(USB_BASE_ADDR + 0x290)))
+#define REG_AHB2_USB_DMA_ENDP (*((volatile unsigned char *)(USB_BASE_ADDR + 0x294)))
+#define REG_AHB2_USB_VTH (*((volatile unsigned char *)(USB_BASE_ADDR + 0x298)))
+#define REG_AHB2_USB_GEN (*((volatile unsigned char *)(USB_BASE_ADDR + 0x29C)))
+#define REG_AHB2_USB_STAT (*((volatile unsigned char *)(USB_BASE_ADDR + 0x2A0)))
+#define REG_AHB2_USB_INT (*((volatile unsigned char *)(USB_BASE_ADDR + 0x2A4)))
+#define REG_AHB2_USB_RESET (*((volatile unsigned char *)(USB_BASE_ADDR + 0x2A8)))
+#define REG_AHB2_USB_DEV_CFG (*((volatile unsigned char *)(USB_BASE_ADDR + 0x2AC)))
+
+#define REG_USB_USR_700 (*((volatile unsigned long *)(USB_BASE_ADDR + 0x700)))
+#define REG_USB_USR_704 (*((volatile unsigned long *)(USB_BASE_ADDR + 0x704)))
+#define REG_USB_USR_708 (*((volatile unsigned long *)(USB_BASE_ADDR + 0x708)))
+#define REG_USB_USR_70C (*((volatile unsigned long *)(USB_BASE_ADDR + 0x70C)))
+#define REG_USB_USR_710 (*((volatile unsigned long *)(USB_BASE_ADDR + 0x710)))
+#define REG_USB_USR_714 (*((volatile unsigned long *)(USB_BASE_ADDR + 0x714)))
+#define REG_USB_PHY_00 (*((volatile unsigned long *)(USB_BASE_ADDR + 0x400)))
+#define REG_USB_PHY_01 (*((volatile unsigned long *)(USB_BASE_ADDR + 0x404)))
+#endif
+
+#define USB_DP_CAPABILITY_VALUE (0xF)
+#define USB_DN_CAPABILITY_VALUE (0xF)
+
+#define NANENG_PHY_FC_REG01 (0x01 * 4)
+#define NANENG_PHY_FC_REG02 (0x02 * 4)
+#define NANENG_PHY_FC_REG03 (0x03 * 4)
+#define NANENG_PHY_FC_REG04 (0x04 * 4)
+#define NANENG_PHY_FC_REG05 (0x05 * 4)
+#define NANENG_PHY_FC_REG06 (0x06 * 4)
+#define NANENG_PHY_FC_REG07 (0x07 * 4)
+#define NANENG_PHY_FC_REG08 (0x08 * 4)
+#define NANENG_PHY_FC_REG09 (0x09 * 4)
+#define NANENG_PHY_FC_REG0A (0x0A * 4)
+#define NANENG_PHY_FC_REG0B (0x0B * 4)
+#define NANENG_PHY_FC_REG0C (0x0C * 4)
+#define NANENG_PHY_FC_REG0D (0x0D * 4)
+#define NANENG_PHY_FC_REG0E (0x0E * 4)
+#define NANENG_PHY_FC_REG0F (0x0F * 4)
+#define NANENG_PHY_FC_REG0F_BYTE 0x0F
+
+#define NANENG_PHY_FC_REG10 (0x10 * 4)
+#define NANENG_PHY_FC_REG11 (0x11 * 4)
+#define NANENG_PHY_FC_REG12 (0x12 * 4)
+#define NANENG_PHY_FC_REG13 (0x13 * 4)
+#define NANENG_PHY_FC_REG14 (0x14 * 4)
+#define NANENG_PHY_FC_REG15 (0x15 * 4)
+#define NANENG_PHY_FC_REG16 (0x16 * 4)
+#define NANENG_PHY_FC_REG17 (0x17 * 4)
+#define NANENG_PHY_FC_REG18 (0x18 * 4)
+#define NANENG_PHY_FC_REG19 (0x19 * 4)
+#define NANENG_PHY_FC_REG1A (0x1A * 4)
+#define NANENG_PHY_FC_REG1B (0x1B * 4)
+#define NANENG_PHY_FC_REG1C (0x1C * 4)
+#define NANENG_PHY_FC_REG1D (0x1D * 4)
+#define NANENG_PHY_FC_REG1E (0x1E * 4)
+#define NANENG_PHY_FC_REG1F (0x1F * 4)
+
+#if CONFIG_USBDEV_EP_NUM != 8
+#error beken chips only support 8 endpoints
+#endif
+
+#if CONFIG_USBHOST_PIPE_NUM != 8
+#error beken chips only support 8 pipes
+#endif
+
+// clang-format off
+static struct musb_fifo_cfg musb_device_table[] = {
+{ .ep_num = 0, .style = FIFO_TXRX, .maxpacket = 64, },
+{ .ep_num = 1, .style = FIFO_TX, .maxpacket = 1024, },
+{ .ep_num = 1, .style = FIFO_RX, .maxpacket = 1024, },
+{ .ep_num = 2, .style = FIFO_TX, .maxpacket = 512, },
+{ .ep_num = 2, .style = FIFO_RX, .maxpacket = 512, },
+{ .ep_num = 3, .style = FIFO_TX, .maxpacket = 512, },
+{ .ep_num = 3, .style = FIFO_RX, .maxpacket = 512, },
+{ .ep_num = 4, .style = FIFO_TX, .maxpacket = 512, },
+{ .ep_num = 4, .style = FIFO_RX, .maxpacket = 512, },
+{ .ep_num = 5, .style = FIFO_TX, .maxpacket = 512, },
+{ .ep_num = 5, .style = FIFO_RX, .maxpacket = 512, },
+{ .ep_num = 6, .style = FIFO_TXRX, .maxpacket = 512, },
+{ .ep_num = 7, .style = FIFO_TXRX, .maxpacket = 512, }
+};
+
+static struct musb_fifo_cfg musb_host_table[] = {
+{ .ep_num = 0, .style = FIFO_TXRX, .maxpacket = 64, },
+{ .ep_num = 1, .style = FIFO_TX, .maxpacket = 1024, },
+{ .ep_num = 1, .style = FIFO_RX, .maxpacket = 1024, },
+{ .ep_num = 2, .style = FIFO_TX, .maxpacket = 512, },
+{ .ep_num = 2, .style = FIFO_RX, .maxpacket = 512, },
+{ .ep_num = 3, .style = FIFO_TX, .maxpacket = 512, },
+{ .ep_num = 3, .style = FIFO_RX, .maxpacket = 512, },
+{ .ep_num = 4, .style = FIFO_TX, .maxpacket = 512, },
+{ .ep_num = 4, .style = FIFO_RX, .maxpacket = 512, },
+{ .ep_num = 5, .style = FIFO_TX, .maxpacket = 512, },
+{ .ep_num = 5, .style = FIFO_RX, .maxpacket = 512, },
+{ .ep_num = 6, .style = FIFO_TXRX, .maxpacket = 512, },
+{ .ep_num = 7, .style = FIFO_TXRX, .maxpacket = 512, }
+};
+// clang-format on
+
+uint8_t usbd_get_musb_fifo_cfg(struct musb_fifo_cfg **cfg)
+{
+ *cfg = musb_device_table;
+ return sizeof(musb_device_table) / sizeof(musb_device_table[0]);
+}
+
+uint8_t usbh_get_musb_fifo_cfg(struct musb_fifo_cfg **cfg)
+{
+ *cfg = musb_host_table;
+ return sizeof(musb_host_table) / sizeof(musb_host_table[0]);
+}
+
+uint32_t usb_get_musb_ram_size(void)
+{
+ return 8192;
+}
+
+extern void USBD_IRQHandler(uint8_t busid);
+
+void USBD_IRQ(void)
+{
+ USBD_IRQHandler(0);
+}
+
+static void bk_analog_layer_usb_sys_related_ops(uint32_t usb_mode, bool ops)
+{
+ extern void delay(INT32 num);
+
+#if 0
+ sys_drv_usb_analog_phy_en(ops, NULL);
+ sys_drv_usb_analog_speed_en(ops, NULL);
+ sys_drv_usb_analog_ckmcu_en(ops, NULL);
+#endif
+ if (ops) {
+ sys_drv_usb_clock_ctrl(true, NULL);
+ delay(100);
+#if 0
+ sys_drv_usb_analog_deepsleep_en(false);
+#endif
+ sys_drv_usb_analog_dp_capability(USB_DP_CAPABILITY_VALUE);
+ sys_drv_usb_analog_dn_capability(USB_DN_CAPABILITY_VALUE);
+ if (!sys_hal_psram_ldo_status()) {
+ sys_drv_psram_ldo_enable(1);
+ }
+ sys_drv_usb_analog_phy_en(1, NULL);
+
+ if (usb_mode == 0) {
+ REG_USB_USR_708 = 0x0;
+ REG_USB_USR_710 &= ~(0x1 << 7);
+ delay(100);
+
+ REG_USB_USR_710 |= (0x1 << 15);
+ //REG_USB_USR_710 |= (0x1<<14);
+ REG_USB_USR_710 |= (0x1 << 16);
+ REG_USB_USR_710 |= (0x1 << 17);
+ REG_USB_USR_710 |= (0x1 << 18);
+ REG_USB_USR_710 |= (0x1 << 19);
+ REG_USB_USR_710 &= ~(0x1 << 20);
+ REG_USB_USR_710 |= (0x1 << 21);
+ REG_USB_USR_710 |= (0x0 << 0);
+ REG_USB_USR_710 |= (0x1 << 5);
+ REG_USB_USR_710 |= (0x1 << 6);
+ REG_USB_USR_710 |= (0x1 << 9);
+ REG_USB_USR_710 |= (0x1 << 10);
+ REG_USB_USR_710 |= (0x1 << 1);
+
+ REG_USB_USR_710 |= (0x1 << 7);
+ REG_USB_USR_708 = 0x1;
+#if 0
+ REG_USB_PHY_00 = 0x08;
+ REG_USB_PHY_01 = 0x02;
+ REG_USB_USR_710 |= (0x1<< 8);
+ while(1){
+ reg = REG_USB_USR_70C;
+ if(reg & 0x100){
+ USB_DRIVER_LOGI("SelfTest Fin!\r\n");
+ USB_DRIVER_LOGI("test end!\r\n");
+ break;
+ } else {
+ USB_DRIVER_LOGI("70c_reg:0x%x\r\n", reg);
+ delay(10000);
+ }
+ }
+ REG_USB_PHY_00 &= ~0x08;
+ REG_USB_PHY_01 &= ~0x02;
+ REG_USB_USR_710 &= ~(0x1<< 8);
+#endif
+ } else {
+ REG_USB_USR_710 |= (0x1 << 15);
+ REG_USB_USR_710 |= (0x1 << 14);
+ REG_USB_USR_710 |= (0x1 << 16);
+ REG_USB_USR_710 |= (0x1 << 17);
+ REG_USB_USR_710 |= (0x1 << 18);
+ REG_USB_USR_710 |= (0x1 << 19);
+ REG_USB_USR_710 &= ~(0x1 << 20);
+ REG_USB_USR_710 |= (0x1 << 21);
+ REG_USB_USR_710 |= (0x0 << 0);
+ REG_USB_USR_710 |= (0x1 << 5);
+ REG_USB_USR_710 |= (0x1 << 6);
+ REG_USB_USR_710 |= (0x1 << 9);
+ REG_USB_USR_710 |= (0x1 << 10);
+ REG_USB_USR_710 |= (0x1 << 7);
+
+ REG_USB_USR_708 = 0x1;
+ }
+ } else {
+ sys_drv_usb_analog_phy_en(0, NULL);
+ sys_drv_usb_clock_ctrl(false, NULL);
+ }
+}
+
+void usb_dc_low_level_init(void)
+{
+#if CONFIG_SYS_CPU0
+ bk_pm_module_vote_sleep_ctrl(PM_SLEEP_MODULE_NAME_USB_1, 0x0, 0x0);
+#endif
+ bk_analog_layer_usb_sys_related_ops(1, true);
+ bk_gpio_set_output_high(CONFIG_USB_VBAT_CONTROL_GPIO_ID);
+
+ bk_pm_module_vote_cpu_freq(PM_DEV_ID_USB_1, PM_CPU_FRQ_120M);
+
+ sys_hal_usb_analog_phy_en(true);
+
+ sys_drv_usb_clock_ctrl(true, NULL);
+ sys_drv_int_enable(USB_INTERRUPT_CTRL_BIT);
+
+ bk_int_isr_register(INT_SRC_USB, USBD_IRQ, NULL);
+ bk_int_set_priority(INT_SRC_USB, 2);
+}
+
+void usb_dc_low_level_deinit(void)
+{
+ bk_pm_module_vote_cpu_freq(PM_DEV_ID_USB_1, PM_CPU_FRQ_DEFAULT);
+ sys_hal_usb_analog_phy_en(false);
+ sys_drv_usb_clock_ctrl(false, NULL);
+ sys_drv_int_disable(USB_INTERRUPT_CTRL_BIT);
+ bk_int_isr_unregister(INT_SRC_USB);
+ bk_analog_layer_usb_sys_related_ops(1, false);
+ sys_drv_dev_clk_pwr_up(CLK_PWR_ID_USB_1, CLK_PWR_CTRL_PWR_DOWN);
+}
+
+extern void USBH_IRQHandler(uint8_t busid);
+
+void USBH_IRQ(void)
+{
+ USBH_IRQHandler(0);
+}
+
+#define NANENG_PHY_CFG 1
+#define USB_PHY_BASE (SOC_USB_REG_BASE + 0x400)
+
+#define HWREG(x) \
+ (*((volatile uint32_t *)(x)))
+#define HWREGH(x) \
+ (*((volatile uint16_t *)(x)))
+#define HWREGB(x) \
+ (*((volatile uint8_t *)(x)))
+
+void usb_hc_low_level_init(struct usbh_bus *bus)
+{
+#if CONFIG_SYS_CPU0
+ bk_pm_module_vote_sleep_ctrl(PM_SLEEP_MODULE_NAME_USB_1, 0x0, 0x0);
+#endif
+ bk_analog_layer_usb_sys_related_ops(0, true);
+ bk_gpio_set_output_high(CONFIG_USB_VBAT_CONTROL_GPIO_ID);
+
+#if NANENG_PHY_CFG
+ //NANENG_PHY_CFG_HSRX_TEST
+ HWREGB(USB_PHY_BASE + NANENG_PHY_FC_REG0F) |= (0x1 << 4);
+ //disconnect value 640mv
+ HWREGB(USB_PHY_BASE + NANENG_PHY_FC_REG0B) = 0x7C;
+#endif
+ bk_int_isr_register(INT_SRC_USB, USBH_IRQ, NULL);
+ sys_drv_int_enable(USB_INTERRUPT_CTRL_BIT);
+}
+
+void usb_hc_low_level_deinit(struct usbh_bus *bus)
+{
+ sys_drv_int_disable(USB_INTERRUPT_CTRL_BIT);
+ bk_int_isr_unregister(INT_SRC_USB);
+ sys_drv_dev_clk_pwr_up(CLK_PWR_ID_USB_1, CLK_PWR_CTRL_PWR_DOWN);
+ bk_analog_layer_usb_sys_related_ops(0, false);
+}
\ No newline at end of file
diff --git a/components/drivers/usb/cherryusb/port/musb/usb_glue_es.c b/components/drivers/usb/cherryusb/port/musb/usb_glue_es.c
new file mode 100644
index 0000000000..adfc293c39
--- /dev/null
+++ b/components/drivers/usb/cherryusb/port/musb/usb_glue_es.c
@@ -0,0 +1,53 @@
+/*
+ * Copyright (c) 2024, sakumisu
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+#include "usb_config.h"
+#include "stdint.h"
+#include "usb_musb_reg.h"
+
+#if CONFIG_USBDEV_EP_NUM != 6
+#error es32 chips only support 6 endpoints
+#endif
+
+#if CONFIG_USBHOST_PIPE_NUM != 6
+#error es32 chips only support 6 pipes
+#endif
+
+// clang-format off
+static struct musb_fifo_cfg musb_device_table[] = {
+{ .ep_num = 0, .style = FIFO_TXRX, .maxpacket = 64, },
+{ .ep_num = 1, .style = FIFO_TXRX, .maxpacket = 1024, },
+{ .ep_num = 2, .style = FIFO_TXRX, .maxpacket = 512, },
+{ .ep_num = 3, .style = FIFO_TXRX, .maxpacket = 512, },
+{ .ep_num = 4, .style = FIFO_TXRX, .maxpacket = 512, },
+{ .ep_num = 5, .style = FIFO_TXRX, .maxpacket = 512, },
+};
+
+static struct musb_fifo_cfg musb_host_table[] = {
+{ .ep_num = 0, .style = FIFO_TXRX, .maxpacket = 64, },
+{ .ep_num = 1, .style = FIFO_TXRX, .maxpacket = 1024, },
+{ .ep_num = 2, .style = FIFO_TXRX, .maxpacket = 512, },
+{ .ep_num = 3, .style = FIFO_TXRX, .maxpacket = 512, },
+{ .ep_num = 4, .style = FIFO_TXRX, .maxpacket = 512, },
+{ .ep_num = 5, .style = FIFO_TXRX, .maxpacket = 512, },
+};
+// clang-format on
+
+uint8_t usbd_get_musb_fifo_cfg(struct musb_fifo_cfg **cfg)
+{
+ *cfg = musb_device_table;
+ return sizeof(musb_device_table) / sizeof(musb_device_table[0]);
+}
+
+uint8_t usbh_get_musb_fifo_cfg(struct musb_fifo_cfg **cfg)
+{
+ *cfg = musb_host_table;
+ return sizeof(musb_host_table) / sizeof(musb_host_table[0]);
+}
+
+uint32_t usb_get_musb_ram_size(void)
+{
+ return 4096;
+}
\ No newline at end of file
diff --git a/components/drivers/usb/cherryusb/port/musb/usb_glue_sunxi.c b/components/drivers/usb/cherryusb/port/musb/usb_glue_sunxi.c
index c30681bfea..433923048f 100644
--- a/components/drivers/usb/cherryusb/port/musb/usb_glue_sunxi.c
+++ b/components/drivers/usb/cherryusb/port/musb/usb_glue_sunxi.c
@@ -1,5 +1,59 @@
+/*
+ * Copyright (c) 2024, sakumisu
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
#include "usb_config.h"
+#include "stdint.h"
+#include "usb_musb_reg.h"
#ifndef CONFIG_USB_MUSB_SUNXI
#error must define CONFIG_USB_MUSB_SUNXI when use sunxi chips
-#endif
\ No newline at end of file
+#endif
+
+#if CONFIG_USBDEV_EP_NUM != 4
+#error sunxi chips only support 4 endpoints
+#endif
+
+#if CONFIG_USBHOST_PIPE_NUM != 4
+#error sunxi chips only support 4 pipes
+#endif
+
+// clang-format off
+static struct musb_fifo_cfg musb_device_table[] = {
+{ .ep_num = 0, .style = FIFO_TXRX, .maxpacket = 64, },
+{ .ep_num = 1, .style = FIFO_TX, .maxpacket = 1024, },
+{ .ep_num = 1, .style = FIFO_RX, .maxpacket = 1024, },
+{ .ep_num = 2, .style = FIFO_TX, .maxpacket = 512, },
+{ .ep_num = 2, .style = FIFO_RX, .maxpacket = 512, },
+{ .ep_num = 3, .style = FIFO_TX, .maxpacket = 512, },
+{ .ep_num = 3, .style = FIFO_RX, .maxpacket = 512, },
+};
+
+static struct musb_fifo_cfg musb_host_table[] = {
+{ .ep_num = 0, .style = FIFO_TXRX, .maxpacket = 64, },
+{ .ep_num = 1, .style = FIFO_TX, .maxpacket = 1024, },
+{ .ep_num = 1, .style = FIFO_RX, .maxpacket = 1024, },
+{ .ep_num = 2, .style = FIFO_TX, .maxpacket = 512, },
+{ .ep_num = 2, .style = FIFO_RX, .maxpacket = 512, },
+{ .ep_num = 3, .style = FIFO_TX, .maxpacket = 512, },
+{ .ep_num = 3, .style = FIFO_RX, .maxpacket = 512, },
+};
+// clang-format on
+
+uint8_t usbd_get_musb_fifo_cfg(struct musb_fifo_cfg **cfg)
+{
+ *cfg = musb_device_table;
+ return sizeof(musb_device_table) / sizeof(musb_device_table[0]);
+}
+
+uint8_t usbh_get_musb_fifo_cfg(struct musb_fifo_cfg **cfg)
+{
+ *cfg = musb_host_table;
+ return sizeof(musb_host_table) / sizeof(musb_host_table[0]);
+}
+
+uint32_t usb_get_musb_ram_size(void)
+{
+ return 8192;
+}
\ No newline at end of file
diff --git a/components/drivers/usb/cherryusb/port/musb/usb_hc_musb.c b/components/drivers/usb/cherryusb/port/musb/usb_hc_musb.c
index ef700fbfc6..b5d7e36cec 100644
--- a/components/drivers/usb/cherryusb/port/musb/usb_hc_musb.c
+++ b/components/drivers/usb/cherryusb/port/musb/usb_hc_musb.c
@@ -16,10 +16,6 @@
#define USB_BASE (bus->hcd.reg_base)
-#if CONFIG_USBHOST_PIPE_NUM != 4
-#error musb host ip only supports 4 pipe num
-#endif
-
#ifdef CONFIG_USB_MUSB_SUNXI
#define MUSB_FADDR_OFFSET 0x98
#define MUSB_POWER_OFFSET 0x40
@@ -124,10 +120,6 @@
#define USB_FIFO_BASE(ep_idx) (USB_BASE + MUSB_FIFO_OFFSET + 0x4 * ep_idx)
-#ifndef CONIFG_USB_MUSB_PIPE_NUM
-#define CONIFG_USB_MUSB_PIPE_NUM 5
-#endif
-
typedef enum {
USB_EP0_STATE_SETUP = 0x0, /**< SETUP DATA */
USB_EP0_STATE_IN_DATA, /**< IN DATA */
@@ -243,6 +235,56 @@ static void musb_read_packet(struct usbh_bus *bus, uint8_t ep_idx, uint8_t *buff
}
}
+static uint32_t musb_get_fifo_size(uint16_t mps, uint16_t *used)
+{
+ uint32_t size;
+
+ for (uint8_t i = USB_TXFIFOSZ_SIZE_8; i <= USB_TXFIFOSZ_SIZE_2048; i++) {
+ size = (8 << i);
+ if (mps <= size) {
+ *used = size;
+ return i;
+ }
+ }
+
+ *used = 0;
+ return USB_TXFIFOSZ_SIZE_8;
+}
+
+static uint32_t usbh_musb_fifo_config(struct usbh_bus *bus, struct musb_fifo_cfg *cfg, uint32_t offset)
+{
+ uint16_t fifo_used;
+ uint8_t c_size;
+ uint16_t c_off;
+
+ c_off = offset >> 3;
+ c_size = musb_get_fifo_size(cfg->maxpacket, &fifo_used);
+
+ musb_set_active_ep(bus, cfg->ep_num);
+
+ switch (cfg->style) {
+ case FIFO_TX:
+ HWREGB(USB_BASE + MUSB_TXFIFOSZ_OFFSET) = c_size & 0x0f;
+ HWREGH(USB_BASE + MUSB_TXFIFOADD_OFFSET) = c_off;
+ break;
+ case FIFO_RX:
+ HWREGB(USB_BASE + MUSB_RXFIFOSZ_OFFSET) = c_size & 0x0f;
+ HWREGH(USB_BASE + MUSB_RXFIFOADD_OFFSET) = c_off;
+ break;
+ case FIFO_TXRX:
+ HWREGB(USB_BASE + MUSB_TXFIFOSZ_OFFSET) = c_size & 0x0f;
+ HWREGH(USB_BASE + MUSB_TXFIFOADD_OFFSET) = c_off;
+ HWREGB(USB_BASE + MUSB_RXFIFOSZ_OFFSET) = c_size & 0x0f;
+ HWREGH(USB_BASE + MUSB_RXFIFOADD_OFFSET) = c_off;
+ break;
+
+ default:
+ break;
+ }
+
+ return (offset + fifo_used);
+}
+
void musb_control_urb_init(struct usbh_bus *bus, uint8_t chidx, struct usbh_urb *urb, struct usb_setup_packet *setup, uint8_t *buffer, uint32_t buflen)
{
uint8_t old_ep_index;
@@ -269,7 +311,7 @@ void musb_control_urb_init(struct usbh_bus *bus, uint8_t chidx, struct usbh_urb
musb_set_active_ep(bus, old_ep_index);
}
-void musb_bulk_urb_init(struct usbh_bus *bus, uint8_t chidx, struct usbh_urb *urb, uint8_t *buffer, uint32_t buflen)
+int musb_bulk_urb_init(struct usbh_bus *bus, uint8_t chidx, struct usbh_urb *urb, uint8_t *buffer, uint32_t buflen)
{
uint8_t old_ep_index;
uint8_t speed = USB_TXTYPE1_SPEED_FULL;
@@ -286,6 +328,11 @@ void musb_bulk_urb_init(struct usbh_bus *bus, uint8_t chidx, struct usbh_urb *ur
}
if (urb->ep->bEndpointAddress & 0x80) {
+ if ((8 << HWREGB(USB_BASE + MUSB_RXFIFOSZ_OFFSET)) < USB_GET_MAXPACKETSIZE(urb->ep->wMaxPacketSize)) {
+ USB_LOG_ERR("Ep %02x fifo is overflow\r\n", urb->ep->bEndpointAddress);
+ return -USB_ERR_RANGE;
+ }
+
HWREGB(USB_RXADDR_BASE(chidx)) = urb->hport->dev_addr;
HWREGB(USB_BASE + MUSB_IND_RXTYPE_OFFSET) = (urb->ep->bEndpointAddress & 0x0f) | speed | USB_TXTYPE1_PROTO_BULK;
HWREGB(USB_BASE + MUSB_IND_RXINTERVAL_OFFSET) = 0;
@@ -296,6 +343,11 @@ void musb_bulk_urb_init(struct usbh_bus *bus, uint8_t chidx, struct usbh_urb *ur
HWREGH(USB_BASE + MUSB_RXIE_OFFSET) |= (1 << chidx);
} else {
+ if ((8 << HWREGB(USB_BASE + MUSB_TXFIFOSZ_OFFSET)) < USB_GET_MAXPACKETSIZE(urb->ep->wMaxPacketSize)) {
+ USB_LOG_ERR("Ep %02x fifo is overflow\r\n", urb->ep->bEndpointAddress);
+ return -USB_ERR_RANGE;
+ }
+
HWREGB(USB_TXADDR_BASE(chidx)) = urb->hport->dev_addr;
HWREGB(USB_BASE + MUSB_IND_TXTYPE_OFFSET) = (urb->ep->bEndpointAddress & 0x0f) | speed | USB_TXTYPE1_PROTO_BULK;
HWREGB(USB_BASE + MUSB_IND_TXINTERVAL_OFFSET) = 0;
@@ -307,16 +359,16 @@ void musb_bulk_urb_init(struct usbh_bus *bus, uint8_t chidx, struct usbh_urb *ur
}
musb_write_packet(bus, chidx, buffer, buflen);
- HWREGB(USB_BASE + MUSB_IND_TXCSRH_OFFSET) &= ~USB_TXCSRH1_MODE;
HWREGB(USB_BASE + MUSB_IND_TXCSRH_OFFSET) |= USB_TXCSRH1_MODE;
HWREGB(USB_BASE + MUSB_IND_TXCSRL_OFFSET) = USB_TXCSRL1_TXRDY;
HWREGH(USB_BASE + MUSB_TXIE_OFFSET) |= (1 << chidx);
}
musb_set_active_ep(bus, old_ep_index);
+ return 0;
}
-void musb_intr_urb_init(struct usbh_bus *bus, uint8_t chidx, struct usbh_urb *urb, uint8_t *buffer, uint32_t buflen)
+int musb_intr_urb_init(struct usbh_bus *bus, uint8_t chidx, struct usbh_urb *urb, uint8_t *buffer, uint32_t buflen)
{
uint8_t old_ep_index;
uint8_t speed = USB_TXTYPE1_SPEED_FULL;
@@ -333,6 +385,11 @@ void musb_intr_urb_init(struct usbh_bus *bus, uint8_t chidx, struct usbh_urb *ur
}
if (urb->ep->bEndpointAddress & 0x80) {
+ if ((8 << HWREGB(USB_BASE + MUSB_RXFIFOSZ_OFFSET)) < USB_GET_MAXPACKETSIZE(urb->ep->wMaxPacketSize)) {
+ USB_LOG_ERR("Ep %02x fifo is overflow\r\n", urb->ep->bEndpointAddress);
+ return -USB_ERR_RANGE;
+ }
+
HWREGB(USB_RXADDR_BASE(chidx)) = urb->hport->dev_addr;
HWREGB(USB_BASE + MUSB_IND_RXTYPE_OFFSET) = (urb->ep->bEndpointAddress & 0x0f) | speed | USB_TXTYPE1_PROTO_INT;
HWREGB(USB_BASE + MUSB_IND_RXINTERVAL_OFFSET) = urb->ep->bInterval;
@@ -343,6 +400,11 @@ void musb_intr_urb_init(struct usbh_bus *bus, uint8_t chidx, struct usbh_urb *ur
HWREGH(USB_BASE + MUSB_RXIE_OFFSET) |= (1 << chidx);
} else {
+ if ((8 << HWREGB(USB_BASE + MUSB_TXFIFOSZ_OFFSET)) < USB_GET_MAXPACKETSIZE(urb->ep->wMaxPacketSize)) {
+ USB_LOG_ERR("Ep %02x fifo is overflow\r\n", urb->ep->bEndpointAddress);
+ return -USB_ERR_RANGE;
+ }
+
HWREGB(USB_TXADDR_BASE(chidx)) = urb->hport->dev_addr;
HWREGB(USB_BASE + MUSB_IND_TXTYPE_OFFSET) = (urb->ep->bEndpointAddress & 0x0f) | speed | USB_TXTYPE1_PROTO_INT;
HWREGB(USB_BASE + MUSB_IND_TXINTERVAL_OFFSET) = urb->ep->bInterval;
@@ -354,13 +416,13 @@ void musb_intr_urb_init(struct usbh_bus *bus, uint8_t chidx, struct usbh_urb *ur
}
musb_write_packet(bus, chidx, buffer, buflen);
- HWREGB(USB_BASE + MUSB_IND_TXCSRH_OFFSET) &= ~USB_TXCSRH1_MODE;
HWREGB(USB_BASE + MUSB_IND_TXCSRH_OFFSET) |= USB_TXCSRH1_MODE;
HWREGB(USB_BASE + MUSB_IND_TXCSRL_OFFSET) = USB_TXCSRL1_TXRDY;
HWREGH(USB_BASE + MUSB_TXIE_OFFSET) |= (1 << chidx);
}
musb_set_active_ep(bus, old_ep_index);
+ return 0;
}
static int usbh_reset_port(struct usbh_bus *bus, const uint8_t port)
@@ -422,7 +484,9 @@ __WEAK void usb_hc_low_level_deinit(struct usbh_bus *bus)
int usb_hc_init(struct usbh_bus *bus)
{
uint8_t regval;
- uint32_t fifo_offset = 0;
+ uint16_t offset = 0;
+ uint8_t cfg_num;
+ struct musb_fifo_cfg *cfg;
memset(&g_musb_hcd[bus->hcd.hcd_id], 0, sizeof(struct musb_hcd));
@@ -432,21 +496,16 @@ int usb_hc_init(struct usbh_bus *bus)
usb_hc_low_level_init(bus);
- musb_set_active_ep(bus, 0);
- HWREGB(USB_BASE + MUSB_IND_TXINTERVAL_OFFSET) = 0;
- HWREGB(USB_BASE + MUSB_TXFIFOSZ_OFFSET) = USB_TXFIFOSZ_SIZE_64;
- HWREGH(USB_BASE + MUSB_TXFIFOADD_OFFSET) = 0;
- HWREGB(USB_BASE + MUSB_RXFIFOSZ_OFFSET) = USB_TXFIFOSZ_SIZE_64;
- HWREGH(USB_BASE + MUSB_RXFIFOADD_OFFSET) = 0;
- fifo_offset += 64;
+ cfg_num = usbh_get_musb_fifo_cfg(&cfg);
- for (uint8_t i = 1; i < CONIFG_USB_MUSB_PIPE_NUM; i++) {
- musb_set_active_ep(bus, i);
- HWREGB(USB_BASE + MUSB_TXFIFOSZ_OFFSET) = USB_TXFIFOSZ_SIZE_512;
- HWREGH(USB_BASE + MUSB_TXFIFOADD_OFFSET) = fifo_offset;
- HWREGB(USB_BASE + MUSB_RXFIFOSZ_OFFSET) = USB_TXFIFOSZ_SIZE_512;
- HWREGH(USB_BASE + MUSB_RXFIFOADD_OFFSET) = fifo_offset;
- fifo_offset += 512;
+ for (uint8_t i = 0; i < cfg_num; i++) {
+ offset = usbh_musb_fifo_config(bus, &cfg[i], offset);
+ }
+
+ if (offset > usb_get_musb_ram_size()) {
+ USB_LOG_ERR("offset:%d is overflow, please check your table\r\n", offset);
+ while (1) {
+ }
}
/* Enable USB interrupts */
@@ -625,8 +684,6 @@ int usbh_submit_urb(struct usbh_urb *urb)
bus = urb->hport->bus;
- flags = usb_osal_enter_critical_section();
-
if (USB_GET_ENDPOINT_TYPE(urb->ep->bmAttributes) == USB_ENDPOINT_TYPE_CONTROL) {
chidx = 0;
} else {
@@ -637,6 +694,8 @@ int usbh_submit_urb(struct usbh_urb *urb)
}
}
+ flags = usb_osal_enter_critical_section();
+
pipe = &g_musb_hcd[bus->hcd.hcd_id].pipe_pool[chidx];
pipe->chidx = chidx;
pipe->urb = urb;
@@ -645,18 +704,22 @@ int usbh_submit_urb(struct usbh_urb *urb)
urb->errorcode = -USB_ERR_BUSY;
urb->actual_length = 0;
- usb_osal_sem_reset(pipe->waitsem);
-
switch (USB_GET_ENDPOINT_TYPE(urb->ep->bmAttributes)) {
case USB_ENDPOINT_TYPE_CONTROL:
pipe->ep0_state = USB_EP0_STATE_SETUP;
musb_control_urb_init(bus, 0, urb, urb->setup, urb->transfer_buffer, urb->transfer_buffer_length);
break;
case USB_ENDPOINT_TYPE_BULK:
- musb_bulk_urb_init(bus, chidx, urb, urb->transfer_buffer, urb->transfer_buffer_length);
+ ret = musb_bulk_urb_init(bus, chidx, urb, urb->transfer_buffer, urb->transfer_buffer_length);
+ if (ret < 0) {
+ return ret;
+ }
break;
case USB_ENDPOINT_TYPE_INTERRUPT:
- musb_intr_urb_init(bus, chidx, urb, urb->transfer_buffer, urb->transfer_buffer_length);
+ ret = musb_intr_urb_init(bus, chidx, urb, urb->transfer_buffer, urb->transfer_buffer_length);
+ if (ret < 0) {
+ return ret;
+ }
break;
case USB_ENDPOINT_TYPE_ISOCHRONOUS:
return -USB_ERR_NOTSUPP;
@@ -869,7 +932,7 @@ void USBH_IRQHandler(uint8_t busid)
struct usbh_bus *bus;
bus = &g_usbhost_bus[busid];
-
+
is = HWREGB(USB_BASE + MUSB_IS_OFFSET);
txis = HWREGH(USB_BASE + MUSB_TXIS_OFFSET);
rxis = HWREGH(USB_BASE + MUSB_RXIS_OFFSET);
@@ -920,7 +983,7 @@ void USBH_IRQHandler(uint8_t busid)
handle_ep0(bus);
}
- for (ep_idx = 1; ep_idx < CONIFG_USB_MUSB_PIPE_NUM; ep_idx++) {
+ for (ep_idx = 1; ep_idx < CONFIG_USBHOST_PIPE_NUM; ep_idx++) {
if (txis & (1 << ep_idx)) {
HWREGH(USB_BASE + MUSB_TXIS_OFFSET) = (1 << ep_idx);
@@ -966,7 +1029,7 @@ void USBH_IRQHandler(uint8_t busid)
}
rxis &= HWREGH(USB_BASE + MUSB_RXIE_OFFSET);
- for (ep_idx = 1; ep_idx < CONIFG_USB_MUSB_PIPE_NUM; ep_idx++) {
+ for (ep_idx = 1; ep_idx < CONFIG_USBHOST_PIPE_NUM; ep_idx++) {
if (rxis & (1 << ep_idx)) {
HWREGH(USB_BASE + MUSB_RXIS_OFFSET) = (1 << ep_idx); // clear isr flag
diff --git a/components/drivers/usb/cherryusb/port/musb/usb_musb_reg.h b/components/drivers/usb/cherryusb/port/musb/usb_musb_reg.h
index 99d2cdfb61..885bdd4a27 100644
--- a/components/drivers/usb/cherryusb/port/musb/usb_musb_reg.h
+++ b/components/drivers/usb/cherryusb/port/musb/usb_musb_reg.h
@@ -3868,4 +3868,19 @@ typedef struct { /*!< USB0 Structure
#define USB_MODE_DEV 0x00000003
#define USB_MODE_OTG 0x00000000
+#define FIFO_TX 0
+#define FIFO_RX 1
+#define FIFO_TXRX 2
+
+struct musb_fifo_cfg {
+ uint8_t ep_num;
+ uint8_t style;
+ uint8_t mode;
+ uint32_t maxpacket;
+};
+
+uint8_t usbd_get_musb_fifo_cfg(struct musb_fifo_cfg **cfg);
+uint8_t usbh_get_musb_fifo_cfg(struct musb_fifo_cfg **cfg);
+uint32_t usb_get_musb_ram_size(void);
+
#endif