From c27bded97ee67172ac3fe2281bb817c6423849f6 Mon Sep 17 00:00:00 2001 From: luckfox-eng29 Date: Mon, 12 Aug 2024 20:18:38 +0800 Subject: [PATCH] project:build.sh:optimize the method of determining whether the Ubuntu image is local sysdrv:Makefile:modify the method of compiling WiFi/BT drivers sysdrv:drv_ko:wifi:aic8800dc:optimize Bluetooth transmission sysdrv:tools:board:buildroot:resolve the issue where the USB cannot automatically obtain an IP address sysdrv:tools:board:luckfox_config:add an optional setting for UART3M1 on the Luckfox Pico Mini sysdrv:source:kernel:arch:arm:boot:dts:eliminate display noise on the LF40-72720-ARK sysdrv:source:uboot:rkbin:bin:rv11:resolve the issue of certain SD card models not being recognized Refactor:sysdrv:Makefile:obtain WiFi/BT drivers from source compilation on the Ubuntu system Perf:sysdrv:drv_ko:wifi:aic8800dc:expand WiFi/Bluetooth rfkill management methods, increase Bluetooth communication baud rate, and reduce communication lag Fix:sysdrv:tools:board:buildroot:resolve the issue where the `rkipc` program overwrites the IP address of USB0 when the camera is activated on the Luckfox Pico Ultra Fix:source:uboot:rkbin:bin:rv11:resolve the issue where, in the presence of an image on SPI NAND, romboot prioritizes using `.bin` from SPI NAND, causing the SD card to be unrecognized Signed-off-by: luckfox-eng29 --- project/app/wifi_app/wifi/librkwifibt.so | Bin 270756 -> 271236 bytes project/build.sh | 2 +- sysdrv/Makefile | 7 +- sysdrv/drv_ko/wifi/aic8800dc/Kconfig | 3 +- .../wifi/aic8800dc/aic8800_bsp/Makefile | 58 +- .../aic8800dc/aic8800_bsp/aic8800d80_compat.c | 47 +- .../aic8800dc/aic8800_bsp/aic8800dc_compat.c | 380 +- .../aic8800dc/aic8800_bsp/aic8800dc_compat.h | 3 + .../aic8800dc/aic8800_bsp/aic_bsp_driver.c | 36 +- .../aic8800dc/aic8800_bsp/aic_bsp_driver.h | 37 +- .../wifi/aic8800dc/aic8800_bsp/aic_bsp_main.c | 42 +- .../wifi/aic8800dc/aic8800_bsp/aicsdio.c | 176 +- .../wifi/aic8800dc/aic8800_bsp/aicsdio.h | 1 + .../aic8800dc/aic8800_bsp/aicsdio_txrxif.c | 2 + .../aic8800dc/aic8800_bsp/rwnx_version_gen.h | 2 +- .../wifi/aic8800dc/aic8800_btlpm/Makefile | 25 +- .../wifi/aic8800dc/aic8800_fdrv/Makefile | 73 +- .../wifi/aic8800dc/aic8800_fdrv/aic_btsdio.c | 1310 ++++++ .../wifi/aic8800dc/aic8800_fdrv/aic_btsdio.h | 549 +++ .../aic8800dc/aic8800_fdrv/aic_priv_cmd.c | 1776 +++++++ .../aic8800dc/aic8800_fdrv/aic_priv_cmd.h | 33 + .../wifi/aic8800dc/aic8800_fdrv/aic_vendor.c | 154 +- .../aic8800_fdrv/aicwf_compat_8800d80.c | 10 +- .../aic8800_fdrv/aicwf_compat_8800dc.c | 88 + .../wifi/aic8800dc/aic8800_fdrv/aicwf_debug.h | 6 + .../wifi/aic8800dc/aic8800_fdrv/aicwf_sdio.c | 154 +- .../wifi/aic8800dc/aic8800_fdrv/aicwf_sdio.h | 11 + .../aic8800dc/aic8800_fdrv/aicwf_tcp_ack.c | 2 +- .../aic8800dc/aic8800_fdrv/aicwf_tcp_ack.h | 4 +- .../wifi/aic8800dc/aic8800_fdrv/lmac_msg.h | 159 +- .../wifi/aic8800dc/aic8800_fdrv/regdb.c | 1 + .../aic8800dc/aic8800_fdrv/rwnx_debugfs.c | 142 +- .../wifi/aic8800dc/aic8800_fdrv/rwnx_main.c | 1502 +----- .../wifi/aic8800dc/aic8800_fdrv/rwnx_main.h | 14 - .../aic8800dc/aic8800_fdrv/rwnx_mod_params.c | 2 + .../wifi/aic8800dc/aic8800_fdrv/rwnx_msg_rx.c | 21 +- .../wifi/aic8800dc/aic8800_fdrv/rwnx_msg_tx.c | 274 +- .../wifi/aic8800dc/aic8800_fdrv/rwnx_msg_tx.h | 6 + .../aic8800dc/aic8800_fdrv/rwnx_platform.c | 99 + .../aic8800dc/aic8800_fdrv/rwnx_platform.h | 3 + .../wifi/aic8800dc/aic8800_fdrv/rwnx_rx.c | 7 +- .../wifi/aic8800dc/aic8800_fdrv/rwnx_tx.c | 12 +- .../wifi/aic8800dc/aic8800_fdrv/rwnx_txq.c | 19 + .../aic8800dc/aic8800_fdrv/rwnx_version_gen.h | 2 +- .../aic8800dc/aic8800_fdrv/rwnx_wakelock.c | 4 + .../fmacfw_calib_8800dc_h_u02.bin | Bin 39804 -> 36092 bytes .../fmacfw_calib_8800dc_hbt_u02.bin} | Bin 39804 -> 39796 bytes .../aic8800dc_fw/fmacfw_calib_8800dc_u02.bin | Bin 40164 -> 40284 bytes .../fmacfw_patch_8800dc_h_u02.bin | Bin 16388 -> 20508 bytes .../fmacfw_patch_8800dc_hbt_u02.bin | Bin 0 -> 21116 bytes .../aic8800dc_fw/fmacfw_patch_8800dc_u02.bin | Bin 31600 -> 30264 bytes .../fmacfw_patch_tbl_8800dc_h_u02.bin | Bin 456 -> 600 bytes .../fmacfw_patch_tbl_8800dc_hbt_u02.bin | Bin 0 -> 568 bytes .../fmacfw_patch_tbl_8800dc_u02.bin | Bin 728 -> 816 bytes .../aic8800dc_fw/fw_patch_8800dc_u02.bin | Bin 18344 -> 18360 bytes .../aic8800dc_fw/fw_patch_8800dc_u02h.bin | Bin 4544 -> 14240 bytes .../fw_patch_table_8800dc_u02.bin | Bin 752 -> 760 bytes .../fw_patch_table_8800dc_u02h.bin | Bin 448 -> 528 bytes .../aic8800dc_fw/lmacfw_rf_8800dc.bin | Bin 175315 -> 170410 bytes .../dts/rv1106-luckfox-pico-ultra-ipc.dtsi | 2 +- .../boot/dts/rv1106g-luckfox-pico-ultra-w.dts | 22 +- .../drivers/video/logo/logo_linux_clut224.ppm | 4124 ++++++++--------- .../uboot/rkbin/bin/rv11/rv1106_spl_v1.01.bin | Bin 148028 -> 157930 bytes sysdrv/source/uboot/u-boot/drivers/mmc/mmc.c | 5 + sysdrv/tools/board/android-tools/S50usbdevice | 375 +- .../{S90usb0config => S99usb0config} | 0 sysdrv/tools/board/buildroot/S99hciinit | 2 +- sysdrv/tools/board/buildroot/busybox.config | 2 +- sysdrv/tools/board/emmc/emmc_wifi_bt_init.sh | 15 +- .../board/emmc/emmc_wifi_ko/aic8800_bsp.ko | Bin 73076 -> 0 bytes .../board/emmc/emmc_wifi_ko/aic8800_btlpm.ko | Bin 6256 -> 0 bytes .../board/emmc/emmc_wifi_ko/aic8800_fdrv.ko | Bin 374852 -> 0 bytes .../aic8800dc_fw/aic_userconfig_8800dc.txt | 56 - .../aic8800dc_fw/aic_userconfig_8800dw.txt | 56 - .../aic8800dc_fw/fmacfw_calib_8800dc_u02.bin | Bin 40164 -> 0 bytes .../fmacfw_patch_8800dc_h_u02.bin | Bin 16388 -> 0 bytes .../fmacfw_patch_8800dc_ipc_u02.bin | Bin 26984 -> 0 bytes .../aic8800dc_fw/fmacfw_patch_8800dc_u02.bin | Bin 31600 -> 0 bytes .../fmacfw_patch_tbl_8800dc_h_u02.bin | Bin 456 -> 0 bytes .../fmacfw_patch_tbl_8800dc_ipc_u02.bin | Bin 504 -> 0 bytes .../fmacfw_patch_tbl_8800dc_u02.bin | Bin 728 -> 0 bytes .../aic8800dc_fw/fw_adid_8800dc_u02.bin | Bin 1468 -> 0 bytes .../aic8800dc_fw/fw_adid_8800dc_u02h.bin | Bin 1476 -> 0 bytes .../aic8800dc_fw/fw_patch_8800dc_u02.bin | Bin 18344 -> 0 bytes .../aic8800dc_fw/fw_patch_8800dc_u02h.bin | Bin 4544 -> 0 bytes .../fw_patch_table_8800dc_u02.bin | Bin 752 -> 0 bytes .../fw_patch_table_8800dc_u02h.bin | Bin 448 -> 0 bytes .../aic8800dc_fw/lmacfw_rf_8800dc.bin | Bin 175315 -> 0 bytes sysdrv/tools/board/emmc/emmc_wifi_ko/ccm.ko | Bin 12720 -> 0 bytes .../tools/board/emmc/emmc_wifi_ko/cfg80211.ko | Bin 225140 -> 0 bytes sysdrv/tools/board/emmc/emmc_wifi_ko/ctr.ko | Bin 6772 -> 0 bytes .../board/emmc/emmc_wifi_ko/insmod_wifi.sh | 24 - .../tools/board/emmc/emmc_wifi_ko/libarc4.ko | Bin 3112 -> 0 bytes .../board/luckfox_config/S99luckfoxconfigload | 3 + .../tools/board/luckfox_config/luckfox-config | 6 +- 95 files changed, 7806 insertions(+), 4144 deletions(-) create mode 100755 sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/aic_btsdio.c create mode 100755 sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/aic_btsdio.h create mode 100755 sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/aic_priv_cmd.c create mode 100755 sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/aic_priv_cmd.h rename sysdrv/{tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fmacfw_calib_8800dc_h_u02.bin => drv_ko/wifi/aic8800dc/aic8800dc_fw/fmacfw_calib_8800dc_hbt_u02.bin} (61%) create mode 100755 sysdrv/drv_ko/wifi/aic8800dc/aic8800dc_fw/fmacfw_patch_8800dc_hbt_u02.bin create mode 100755 sysdrv/drv_ko/wifi/aic8800dc/aic8800dc_fw/fmacfw_patch_tbl_8800dc_hbt_u02.bin rename sysdrv/tools/board/android-tools/{S90usb0config => S99usb0config} (100%) delete mode 100644 sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800_bsp.ko delete mode 100644 sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800_btlpm.ko delete mode 100644 sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800_fdrv.ko delete mode 100755 sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/aic_userconfig_8800dc.txt delete mode 100755 sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/aic_userconfig_8800dw.txt delete mode 100755 sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fmacfw_calib_8800dc_u02.bin delete mode 100755 sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fmacfw_patch_8800dc_h_u02.bin delete mode 100755 sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fmacfw_patch_8800dc_ipc_u02.bin delete mode 100755 sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fmacfw_patch_8800dc_u02.bin delete mode 100755 sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fmacfw_patch_tbl_8800dc_h_u02.bin delete mode 100755 sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fmacfw_patch_tbl_8800dc_ipc_u02.bin delete mode 100755 sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fmacfw_patch_tbl_8800dc_u02.bin delete mode 100755 sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fw_adid_8800dc_u02.bin delete mode 100755 sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fw_adid_8800dc_u02h.bin delete mode 100755 sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fw_patch_8800dc_u02.bin delete mode 100755 sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fw_patch_8800dc_u02h.bin delete mode 100755 sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fw_patch_table_8800dc_u02.bin delete mode 100755 sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fw_patch_table_8800dc_u02h.bin delete mode 100755 sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/lmacfw_rf_8800dc.bin delete mode 100644 sysdrv/tools/board/emmc/emmc_wifi_ko/ccm.ko delete mode 100644 sysdrv/tools/board/emmc/emmc_wifi_ko/cfg80211.ko delete mode 100644 sysdrv/tools/board/emmc/emmc_wifi_ko/ctr.ko delete mode 100755 sysdrv/tools/board/emmc/emmc_wifi_ko/insmod_wifi.sh delete mode 100644 sysdrv/tools/board/emmc/emmc_wifi_ko/libarc4.ko diff --git a/project/app/wifi_app/wifi/librkwifibt.so b/project/app/wifi_app/wifi/librkwifibt.so index 2ae9821fac58ce7f93e3c61d18368d1d77680b23..1497aed27818c54eaecc5d61b32dc8f0806b35dc 100755 GIT binary patch delta 11600 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 = rd_version_val; + if (rd_version_val > 0x06090100) { + patch_buff_addr = rd_patch_addr + 12; + ret = rwnx_send_dbg_mem_read_req(sdiodev, patch_buff_addr, &rd_patch_addr_cfm); + if (ret) { + printk("patch buf rd fail\n"); + return ret; + } + patch_buff_base = rd_patch_addr_cfm.memdata; + patch_addr = start_addr = patch_buff_base; + } + #endif + ret = rwnx_send_dbg_mem_write_req(sdiodev, AIC_PATCH_ADDR(magic_num), AIC_PATCH_MAGIG_NUM); if (ret) { printk("0x%x write fail\n", AIC_PATCH_ADDR(magic_num)); diff --git a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_bsp/aic8800dc_compat.c b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_bsp/aic8800dc_compat.c index 2bbb087ba..15bb3d6de 100755 --- a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_bsp/aic8800dc_compat.c +++ b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_bsp/aic8800dc_compat.c @@ -25,16 +25,18 @@ u32 syscfg_tbl_8800dc_sdio_u02[][2] = { {0x40030084, 0x0011E800}, {0x40030080, 0x00000001}, {0x4010001C, 0x00000000}, +}; #ifdef CONFIG_OOB - {0x40504044, 0x2},//oob_enable - {0x40500060, 0x03020700}, - {0x40500040, 0}, - {0x40100030, 1}, - {0x40241020, 1}, - {0x402400f0, 0x340022}, +u32 oobcfg_tbl_8800dc_sdio_u02[][2] = { + {0x40504044, 0x2},//oob_enable + {0x40500060, 0x03020700}, + {0x40500040, 0}, + {0x40100030, 1}, + {0x40241020, 1}, + {0x402400f0, 0x340022}, +}; #endif //CONFIG_OOB -}; u32 syscfg_tbl_masked_8800dc[][3] = { //#ifdef CONFIG_PMIC_SETTING @@ -1321,7 +1323,7 @@ uint32_t agc_cfg_ram[] = { 0x00000000 }; - +#if !defined(CONFIG_EXT_FEM_8800DCDW) uint32_t txgain_map[96] = { #ifdef CONFIG_FPGA_VERIFICATION 0x20c0c971, @@ -1459,8 +1461,8 @@ uint32_t txgain_map[96] = { 0x00ffc88b, 0x00ffc979, 0x00ffc989, - 0x00ffca7d, - 0x00ffca88, + 0x00ffcc4b, + 0x00ffcc54, 0x00ffcc5e, 0x00ffcc69, 0x00ffcc78, @@ -1492,8 +1494,8 @@ uint32_t txgain_map[96] = { 0x00ffc88b, 0x00ffc979, 0x00ffc989, - 0x00ffca7d, - 0x00ffca88, + 0x00ffcc4b, + 0x00ffcc54, 0x00ffcc5e, 0x00ffcc69, 0x00ffcc78, @@ -1501,9 +1503,9 @@ uint32_t txgain_map[96] = { 0x00ffcd70, 0x00ffcd80, 0x00ffcd90, - 0x00ffce80, - 0x00ffce93, - 0x00ffcf90, + 0x00ffcf68, + 0x00ffcf75, + 0x00ffcf83, 0x00ffc080, 0x00ffc090, 0x00ffc180, @@ -1562,8 +1564,8 @@ const uint32_t txgain_map_h[96] = 0xffc879, //8 0xffc96b, //9 0xffc979, //10 - 0xffca6b, //11 - 0xffca79, //12 + 0xffcc45, //11 + 0xffcc4d, //12 0xffcc56, //13 0xffcc60, //14 0xffcc6b, //15 @@ -1595,15 +1597,15 @@ const uint32_t txgain_map_h[96] = 0xffc879, //8 0xffc96b, //9 0xffc979, //10 - 0xffca6b, //11 - 0xffca79, //12 + 0xffcc45, //11 + 0xffcc4d, //12 0xffcc56, //13 0xffcc60, //14 0xffcc6b, //15 0xffcc79, //16 0xffcd72, //17 - 0xffce60, //18 - 0xffce72, //19 + 0xffcf5b, //18 + 0xffcf66, //19 0xffcf72, //20 0xffcf80, //21 0xffcf90, //22 @@ -1626,6 +1628,213 @@ const uint32_t txgain_map_h[96] = 0xffc86b, //7 }; +#else /* #ifdef CONFIG_EXT_FEM_8800DCDW */ +const uint32_t txgain_map_femkct[96] = +{ + //11b + 0x00ffd780,//15 + 0x00ffd872,//16 + 0x00ffd880,//17 + 0x00ffd972,//18 + 0x00ffd980,//19 + 0x00ffda72,//20 + 0x00ffda80,//21 + 0x00ffdb72,//22 + 0x00ffdb80,//23 + 0x00ffdc72,//24 + 0x00ffdc80,//25 + 0x00ffdd72,//26 + 0x00ffdd80,//27 + 0x00ffde72,//28 + 0x00ffde80,//29 + 0x00ffdf72,//30 + 0x00ffd072,//-1 + 0x00ffd072,//0 + 0x00ffd080,//1 + 0x00ffd172,//2 + 0x00ffd180,//3 + 0x00ffd272,//4 + 0x00ffd280,//5 + 0x00ffd36d,//6 + 0x00ffd379,//7 + 0x00ffd46d,//8 + 0x00ffd479,//9 + 0x00ffd572,//10 + 0x00ffd580,//11 + 0x00ffd672,//12 + 0x00ffd680,//13 + 0x00ffd772,//14 + //high + 0x00ffc872,//11 + 0x00ffc880,//12 + 0x00ffc972,//13 + 0x00ffc980,//14 + 0x00ffca72,//15 + 0x00ffca80,//16 + 0x00ffcb72,//17 + 0x00ffcb80,//18 + 0x00ffcc72,//19 + 0x00ffcc80,//20 + 0x00ffcd72,//21 + 0x00ffcd80,//22 + 0x00ffce72,//23 + 0x00ffce80,//24 + 0x00ffcf72,//25 + 0x00ffcf80,//26 + 0x00ffc072,//-5 + 0x00ffc080,//-4 + 0x00ffc172,//-3 + 0x00ffc180,//-2 + 0x00ffc272,//-1 + 0x00ffc280,//0 + 0x00ffc372,//1 + 0x00ffc380,//2 + 0x00ffc472,//3 + 0x00ffc480,//4 + 0x00ffc572,//5 + 0x00ffc580,//6 + 0x00ffc672,//7 + 0x00ffc680,//8 + 0x00ffc772,//9 + 0x00ffc780,//10 + //low + 0x00ffc872,//11 + 0x00ffc880,//12 + 0x00ffc972,//13 + 0x00ffc980,//14 + 0x00ffca72,//15 + 0x00ffca80,//16 + 0x00ffcb72,//17 + 0x00ffcb80,//18 + 0x00ffcc72,//19 + 0x00ffcc80,//20 + 0x00ffcd72,//21 + 0x00ffcd80,//22 + 0x00ffce72,//23 + 0x00ffce80,//24 + 0x00ffcf72,//26 + 0x00ffcf80,//27 + 0x00ffc072,//-5 + 0x00ffc080,//-4 + 0x00ffc172,//-3 + 0x00ffc180,//-2 + 0x00ffc272,//-1 + 0x00ffc280,//0 + 0x00ffc372,//1 + 0x00ffc380,//2 + 0x00ffc472,//3 + 0x00ffc480,//4 + 0x00ffc572,//5 + 0x00ffc580,//6 + 0x00ffc672,//7 + 0x00ffc680,//8 + 0x00ffc772,//9 + 0x00ffc780,//10 +}; + +const uint32_t txgain_map_femkct_h[96] = +{ + //11b + 0x00ffd872,//15 + 0x00ffd880,//16 + 0x00ffd972,//17 + 0x00ffd980,//18 + 0x00ffd990,//19 + 0x00ffda72,//20 + 0x00ffda80,//21 + 0x00ffdb72,//22 + 0x00ffdb80,//23 + 0x00ffdc72,//24 + 0x00ffdc80,//25 + 0x00ffdd72,//26 + 0x00ffdd80,//27 + 0x00ffde72,//28 + 0x00ffde80,//29 + 0x00ffdf72,//30 + 0x00ffd072,//-1 + 0x00ffd072,//0 + 0x00ffd080,//1 + 0x00ffd172,//2 + 0x00ffd180,//3 + 0x00ffd272,//4 + 0x00ffd280,//5 + 0x00ffd379,//6 + 0x00ffd46d,//7 + 0x00ffd479,//8 + 0x00ffd572,//9 + 0x00ffd580,//10 + 0x00ffd672,//11 + 0x00ffd680,//12 + 0x00ffd772,//13 + 0x00ffd780,//14 + //high + 0x00ffc880,//11 + 0x00ffc972,//12 + 0x00ffc980,//13 + 0x00ffca72,//14 + 0x00ffca80,//15 + 0x00ffcb72,//16 + 0x00ffcb80,//17 + 0x00ffcc72,//18 + 0x00ffcc80,//19 + 0x00ffcc90,//20 + 0x00ffcd72,//21 + 0x00ffcd80,//22 + 0x00ffce72,//23 + 0x00ffce80,//24 + 0x00ffcf72,//25 + 0x00ffcf80,//26 + 0x00ffc080,//-5 + 0x00ffc172,//-4 + 0x00ffc180,//-3 + 0x00ffc272,//-2 + 0x00ffc280,//-1 + 0x00ffc372,//0 + 0x00ffc380,//1 + 0x00ffc472,//2 + 0x00ffc480,//3 + 0x00ffc572,//4 + 0x00ffc580,//5 + 0x00ffc672,//6 + 0x00ffc680,//7 + 0x00ffc772,//8 + 0x00ffc780,//9 + 0x00ffc872,//10 + //low + 0x00ffc880,//11 + 0x00ffc972,//12 + 0x00ffc980,//13 + 0x00ffca72,//14 + 0x00ffca80,//15 + 0x00ffcb72,//16 + 0x00ffcb80,//17 + 0x00ffcc72,//18 + 0x00ffcc80,//19 + 0x00ffcc90,//20 + 0x00ffcd72,//21 + 0x00ffcd80,//22 + 0x00ffce72,//23 + 0x00ffce80,//24 + 0x00ffcf72,//25 + 0x00ffcf80,//26 + 0x00ffc080,//-5 + 0x00ffc172,//-4 + 0x00ffc180,//-3 + 0x00ffc272,//-2 + 0x00ffc280,//-1 + 0x00ffc372,//0 + 0x00ffc380,//1 + 0x00ffc472,//2 + 0x00ffc480,//3 + 0x00ffc572,//4 + 0x00ffc580,//5 + 0x00ffc672,//6 + 0x00ffc680,//7 + 0x00ffc772,//8 + 0x00ffc780,//9 + 0x00ffc872,//10 +}; +#endif u32 jump_tbl[][2] = { @@ -1687,10 +1896,61 @@ u32 patch_tbl_rf_func[][2] = {0x00110bf0, 0x00180001}, }; + +//adap test +u32 adaptivity_patch_tbl_8800dc[][2] = { + {0x000C, 0x0000320A}, //linkloss_thd + {0x009C, 0x00000000}, //ac_param_conf + {0x0128, 0xF6140001}, //tx_adaptivity_en +}; +//adap test + + static u8 chip_id = 0; #define CHIP_ID_H_MASK 0xC0 #define IS_CHIP_ID_H() ((chip_id & CHIP_ID_H_MASK) == CHIP_ID_H_MASK) +//Crystal provided by CPU (start) +int set_bbpll_config(struct aic_sdio_dev *rwnx_hw){ +// {0x40505010, 0x7C301010},//bbpll + int ret = 0; + struct dbg_mem_read_cfm rd_mem_addr_cfm; + + //Read crystal provided by CPU or not. + ret = rwnx_send_dbg_mem_read_req(rwnx_hw, 0x40500148, &rd_mem_addr_cfm); + if (ret) { + AICWFDBG(LOGERROR, "%x rd fail: %d\n", 0x40500148, ret); + return -1; + } + + AICWFDBG(LOGDEBUG, "%s rd_mem_addr_cfm.memdata:%x \r\n", __func__, rd_mem_addr_cfm.memdata); + + if(!(rd_mem_addr_cfm.memdata & 0x01)){ + AICWFDBG(LOGINFO, "%s Crystal not provided by CPU \r\n", __func__); + return 0; + }else{ + AICWFDBG(LOGINFO, "%s Crystal provided by CPU \r\n", __func__); + //Read 0x40505010 value to check bbpll set or not. + ret = rwnx_send_dbg_mem_read_req(rwnx_hw, 0x40505010, &rd_mem_addr_cfm); + if(ret < 0){ + AICWFDBG(LOGERROR, "%s error ret_val:%d\r\n", __func__, ret); + return -1; + } + + if((rd_mem_addr_cfm.memdata >> 29) == 3){ + AICWFDBG(LOGERROR, "%s Not need to set \r\n", __func__); + return 0; + }else{ + rd_mem_addr_cfm.memdata |= ((0x1 << 29) | (0x1 << 30)); + rd_mem_addr_cfm.memdata &= (~(0x1 << 31)); + rwnx_send_dbg_mem_write_req(rwnx_hw, 0x40505010, rd_mem_addr_cfm.memdata); + } + } + return 0; +} +//Crystal provided by CPU (end) + + void system_config_8800dc(struct aic_sdio_dev *rwnx_hw) { int syscfg_num; @@ -1698,6 +1958,9 @@ void system_config_8800dc(struct aic_sdio_dev *rwnx_hw) int ret, cnt; const u32 mem_addr = 0x40500000; struct dbg_mem_read_cfm rd_mem_addr_cfm; +#ifdef CONFIG_OOB + int oobcfg_num; +#endif ret = rwnx_send_dbg_mem_read_req(rwnx_hw, mem_addr, &rd_mem_addr_cfm); if (ret) { @@ -1719,6 +1982,14 @@ void system_config_8800dc(struct aic_sdio_dev *rwnx_hw) //printk("%x=%x\n", rd_mem_addr_cfm.memaddr, rd_mem_addr_cfm.memdata); AICWFDBG(LOGINFO, "chip_id=%x, chip_sub_id=%x!!\n", chip_id, chip_sub_id); + //Crystal provided by CPU (start) + ret = set_bbpll_config(rwnx_hw); + if (ret) { + AICWFDBG(LOGERROR, "set_bbpll_config fail: %d\n", ret); + return; + } + //Crystal provided by CPU (end) + ret = rwnx_send_dbg_mem_read_req(rwnx_hw, 0x40500010, &rd_mem_addr_cfm); AICWFDBG(LOGDEBUG, "[0x40500010]=%x\n", rd_mem_addr_cfm.memdata); @@ -1747,7 +2018,7 @@ void system_config_8800dc(struct aic_sdio_dev *rwnx_hw) return; } } - } else if (chip_sub_id == 1) { + } else if ((chip_sub_id == 1) || (chip_sub_id == 2)) { syscfg_num = sizeof(syscfg_tbl_8800dc_sdio_u02) / sizeof(u32) / 2; for (cnt = 0; cnt < syscfg_num; cnt++) { ret = rwnx_send_dbg_mem_write_req(rwnx_hw, syscfg_tbl_8800dc_sdio_u02[cnt][0], syscfg_tbl_8800dc_sdio_u02[cnt][1]); @@ -1758,7 +2029,18 @@ void system_config_8800dc(struct aic_sdio_dev *rwnx_hw) } } } - +#ifdef CONFIG_OOB + if ((chip_sub_id == 1) || (chip_sub_id == 2)) { + oobcfg_num = sizeof(oobcfg_tbl_8800dc_sdio_u02) / sizeof(u32) / 2; + for (cnt = 0; cnt < oobcfg_num; cnt++) { + ret = rwnx_send_dbg_mem_write_req(rwnx_hw, oobcfg_tbl_8800dc_sdio_u02[cnt][0], oobcfg_tbl_8800dc_sdio_u02[cnt][1]); + if (ret) { + AICWFDBG(LOGERROR, "%x write fail: %d\n", oobcfg_tbl_8800dc_sdio_u02[cnt][0], ret); + return; + } + } + } +#endif if (IS_CHIP_ID_H()) { syscfg_num = sizeof(syscfg_tbl_masked_8800dc_h) / sizeof(u32) / 3; p_syscfg_msk_tbl = syscfg_tbl_masked_8800dc_h; @@ -1800,6 +2082,7 @@ void system_config_8800dc(struct aic_sdio_dev *rwnx_hw) } +extern int adap_test; void aicwf_patch_config_8800dc(struct aic_sdio_dev *rwnx_hw) { @@ -1822,6 +2105,11 @@ void aicwf_patch_config_8800dc(struct aic_sdio_dev *rwnx_hw) u32 jump_tbl_size = 0; u32 patch_tbl_func_num = 0; + //adap test + int adap_patch_num = 0; + //adap test + + array2_tbl_t jump_tbl_base = NULL; array2_tbl_t patch_tbl_func_base = NULL; array2_tbl_t patch_tbl_wifisetting_8800dc_base = NULL; @@ -1879,6 +2167,19 @@ void aicwf_patch_config_8800dc(struct aic_sdio_dev *rwnx_hw) } } +//adap test + if(adap_test){ + AICWFDBG(LOGINFO, "%s for adaptivity test \r\n", __func__); + adap_patch_num = sizeof(adaptivity_patch_tbl_8800dc)/sizeof(u32)/2; + for(cnt = 0; cnt < adap_patch_num; cnt++) + { + if((ret = rwnx_send_dbg_mem_write_req(rwnx_hw, wifisetting_cfg_addr + adaptivity_patch_tbl_8800dc[cnt][0], adaptivity_patch_tbl_8800dc[cnt][1]))) { + AICWFDBG(LOGERROR, "%x write fail\n", wifisetting_cfg_addr + adaptivity_patch_tbl_8800dc[cnt][0]); + } + } + } +//adap test + if (ldpc_cfg_size > 512) {// > 0.5KB data for (i = 0; i < (ldpc_cfg_size - 512); i += 512) {//each time write 0.5KB ret = rwnx_send_dbg_mem_block_write_req(rwnx_hw, ldpc_cfg_addr + i, 512, ldpc_cfg_ram + i / 4); @@ -1915,11 +2216,21 @@ void aicwf_patch_config_8800dc(struct aic_sdio_dev *rwnx_hw) #if !defined(CONFIG_FPGA_VERIFICATION) if ((IS_CHIP_ID_H())) { + #if defined(CONFIG_EXT_FEM_8800DCDW) + txgain_cfg_size = sizeof(txgain_map_femkct_h); + txgain_cfg_array = (u32 *)txgain_map_femkct_h; + #else txgain_cfg_size = sizeof(txgain_map_h); txgain_cfg_array = (u32 *)txgain_map_h; + #endif } else { + #if defined(CONFIG_EXT_FEM_8800DCDW) + txgain_cfg_size = sizeof(txgain_map_femkct); + txgain_cfg_array = (u32 *)txgain_map_femkct; + #else txgain_cfg_size = sizeof(txgain_map); txgain_cfg_array = (u32 *)txgain_map; + #endif } ret = rwnx_send_dbg_mem_block_write_req(rwnx_hw, txgain_cfg_addr, txgain_cfg_size, txgain_cfg_array); if (ret) { @@ -2207,4 +2518,25 @@ int aicwf_dpd_result_write_8800dc(void *buf, int buf_len) #endif /* !CONFIG_FORCE_DPD_CALIB */ #endif - +#ifdef CONFIG_LOFT_CALIB +int aicwf_loft_calib_8800dc(struct aic_sdio_dev *sdiodev) +{ + int ret = 0; + uint32_t fw_addr, boot_type; + ret = aicwf_plat_calib_load_8800dc(sdiodev); + if (ret) { + AICWFDBG(LOGINFO, "load calib bin fail: %d\n", ret); + return ret; + } + /* fw start */ + fw_addr = 0x00130009; + boot_type = HOST_START_APP_FNCALL; + AICWFDBG(LOGINFO, "Start app: %08x, %d\n", fw_addr, boot_type); + ret = rwnx_send_dbg_start_app_req(sdiodev, fw_addr, boot_type, NULL); + if (ret) { + AICWFDBG(LOGINFO, "start app fail: %d\n", ret); + return ret; + } + return ret; +} +#endif diff --git a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_bsp/aic8800dc_compat.h b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_bsp/aic8800dc_compat.h index 67074cecf..48bb9531c 100755 --- a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_bsp/aic8800dc_compat.h +++ b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_bsp/aic8800dc_compat.h @@ -30,6 +30,9 @@ int aicwf_dpd_result_load_8800dc(struct aic_sdio_dev *sdiodev, rf_misc_ram_lite_ int aicwf_dpd_result_write_8800dc(void *buf, int buf_len); #endif/* !CONFIG_FORCE_DPD_CALIB */ #endif +#ifdef CONFIG_LOFT_CALIB +int aicwf_loft_calib_8800dc(struct aic_sdio_dev *sdiodev); +#endif #endif diff --git a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_bsp/aic_bsp_driver.c b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_bsp/aic_bsp_driver.c index 5d7e6bbb3..9c665f246 100755 --- a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_bsp/aic_bsp_driver.c +++ b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_bsp/aic_bsp_driver.c @@ -998,7 +998,7 @@ int aicwf_misc_ram_valid_check_8800dc(struct aic_sdio_dev *sdiodev, int *valid_o *valid_out = 0; } if (testmode == FW_RFTEST_MODE) { - + uint32_t vect1 = 0; uint32_t vect2 = 0; cfg_base = RAM_LMAC_FW_ADDR + 0x0004; @@ -1054,26 +1054,30 @@ int aicwf_misc_ram_valid_check_8800dc(struct aic_sdio_dev *sdiodev, int *valid_o } return ret; } +#endif +#if defined(CONFIG_DPD) || defined(CONFIG_LOFT_CALIB) int aicwf_plat_calib_load_8800dc(struct aic_sdio_dev *sdiodev) { int ret = 0; if (chip_sub_id == 1) { ret = rwnx_plat_bin_fw_upload_android(sdiodev, ROM_FMAC_CALIB_ADDR, RWNX_MAC_CALIB_NAME_8800DC_U02); if (ret) { - AICWFDBG(LOGINFO, "load rftest bin fail: %d\n", ret); + AICWFDBG(LOGINFO, "load calib bin fail: %d\n", ret); return ret; } } else if (chip_sub_id == 2) { ret = rwnx_plat_bin_fw_upload_android(sdiodev, ROM_FMAC_CALIB_ADDR, RWNX_MAC_CALIB_NAME_8800DC_H_U02); if (ret) { - AICWFDBG(LOGINFO, "load rftest bin fail: %d\n", ret); + AICWFDBG(LOGINFO, "load calib bin fail: %d\n", ret); return ret; } } return ret; } +#endif +#ifdef CONFIG_DPD #ifndef CONFIG_FORCE_DPD_CALIB int is_file_exist(char* name) { @@ -1168,6 +1172,15 @@ static int rwnx_plat_patch_load(struct aic_sdio_dev *sdiodev) } #endif else + #elif defined(CONFIG_LOFT_CALIB) + if (1) { + AICWFDBG(LOGINFO, "loft calib\n"); + ret = aicwf_loft_calib_8800dc(sdiodev); + if (ret) { + AICWFDBG(LOGINFO, "loft calib fail: %d\n", ret); + return ret; + } + } else #endif { ret = aicwf_misc_ram_init_8800dc(sdiodev); @@ -1920,13 +1933,18 @@ int aicbsp_driver_fw_init(struct aic_sdio_dev *sdiodev) if (rwnx_send_dbg_mem_read_req(sdiodev, mem_addr, &rd_mem_addr_cfm)) return -1; - aicbsp_info.chip_rev = (u8)(rd_mem_addr_cfm.memdata >> 16); + aicbsp_info.chip_rev = (u8)((rd_mem_addr_cfm.memdata >> 16) & 0x3F); + is_chip_id_h = (u8)(((rd_mem_addr_cfm.memdata >> 16) & 0xC0) == 0xC0); btenable = 1; - - if (aicbsp_info.chip_rev == CHIP_REV_U01) - aicbsp_firmware_list = fw_8800d80_u01; - if (aicbsp_info.chip_rev == CHIP_REV_U02 || aicbsp_info.chip_rev == CHIP_REV_U03) - aicbsp_firmware_list = fw_8800d80_u02; + if (is_chip_id_h) { + AICWFDBG(LOGINFO, "IS_CHIP_ID_H \n"); + aicbsp_firmware_list = fw_8800d80_h_u02; + } else { + if (aicbsp_info.chip_rev == CHIP_REV_U01) + aicbsp_firmware_list = fw_8800d80_u01; + if (aicbsp_info.chip_rev == CHIP_REV_U02 || aicbsp_info.chip_rev == CHIP_REV_U03) + aicbsp_firmware_list = fw_8800d80_u02; + } if (aicbsp_system_config_8800d80(sdiodev)) return -1; } diff --git a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_bsp/aic_bsp_driver.h b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_bsp/aic_bsp_driver.h index 4755875ea..566837c60 100755 --- a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_bsp/aic_bsp_driver.h +++ b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_bsp/aic_bsp_driver.h @@ -46,6 +46,7 @@ extern int aicwf_dbg_level_bsp; #define AICWF_LOG "AICWFDBG(" +#ifdef DEBUG #define AICWFDBG(level, args, arg...) \ do { \ if (aicwf_dbg_level_bsp & level) { \ @@ -60,6 +61,12 @@ do { \ } \ } while (0) +#else + +#define AICWFDBG(level, args, arg...) +#define RWNX_DBG(fmt, ...) + +#endif /// Message structure for MSGs from Emb to App struct ipc_e2a_msg { u16 id; ///< Message id. @@ -312,6 +319,8 @@ int aicwf_plat_patch_load_8800dc(struct aic_sdio_dev *sdiodev); int aicwf_plat_rftest_load_8800dc(struct aic_sdio_dev *sdiodev); #ifdef CONFIG_DPD int aicwf_misc_ram_valid_check_8800dc(struct aic_sdio_dev *sdiodev, int *valid_out); +#endif +#if defined(CONFIG_DPD) || defined(CONFIG_LOFT_CALIB) int aicwf_plat_calib_load_8800dc(struct aic_sdio_dev *sdiodev); #endif @@ -371,10 +380,16 @@ int aicbsp_resv_mem_deinit(void); #define RWNX_MAC_CALIB_BASE_NAME_8800DC "fmacfw_calib_8800dc" #define RWNX_MAC_CALIB_NAME_8800DC_U02 RWNX_MAC_CALIB_BASE_NAME_8800DC"_u02.bin" +#ifdef CONFIG_SDIO_BT +#define RWNX_MAC_CALIB_NAME_8800DC_H_U02 RWNX_MAC_CALIB_BASE_NAME_8800DC"_hbt_u02.bin" +#else #define RWNX_MAC_CALIB_NAME_8800DC_H_U02 RWNX_MAC_CALIB_BASE_NAME_8800DC"_h_u02.bin" +#endif -#ifdef CONFIG_DPD +#if defined(CONFIG_DPD) || defined(CONFIG_LOFT_CALIB) #define ROM_FMAC_CALIB_ADDR 0x00130000 +#endif +#ifdef CONFIG_DPD #ifndef CONFIG_FORCE_DPD_CALIB #define FW_DPDRESULT_NAME_8800DC "aic_dpdresult_lite_8800dc.bin" #endif @@ -389,13 +404,21 @@ int aicbsp_resv_mem_deinit(void); #define RWNX_MAC_PATCH_BASE_NAME_8800DC "fmacfw_patch_8800dc" #define RWNX_MAC_PATCH_NAME2_8800DC RWNX_MAC_PATCH_BASE_NAME_8800DC".bin" #define RWNX_MAC_PATCH_NAME2_8800DC_U02 RWNX_MAC_PATCH_BASE_NAME_8800DC"_u02.bin" +#ifdef CONFIG_SDIO_BT +#define RWNX_MAC_PATCH_NAME2_8800DC_H_U02 RWNX_MAC_PATCH_BASE_NAME_8800DC"_hbt_u02.bin" +#else #define RWNX_MAC_PATCH_NAME2_8800DC_H_U02 RWNX_MAC_PATCH_BASE_NAME_8800DC"_h_u02.bin" #endif +#endif #define RWNX_MAC_PATCH_TABLE_NAME_8800DC "fmacfw_patch_tbl_8800dc" #define RWNX_MAC_PATCH_TABLE_8800DC RWNX_MAC_PATCH_TABLE_NAME_8800DC ".bin" #define RWNX_MAC_PATCH_TABLE_8800DC_U02 RWNX_MAC_PATCH_TABLE_NAME_8800DC "_u02.bin" +#ifdef CONFIG_SDIO_BT +#define RWNX_MAC_PATCH_TABLE_8800DC_H_U02 RWNX_MAC_PATCH_TABLE_NAME_8800DC "_hbt_u02.bin" +#else #define RWNX_MAC_PATCH_TABLE_8800DC_H_U02 RWNX_MAC_PATCH_TABLE_NAME_8800DC "_h_u02.bin" +#endif #define RWNX_MAC_RF_PATCH_BASE_NAME_8800DC "fmacfw_rf_patch_8800dc" #define RWNX_MAC_RF_PATCH_NAME_8800DC RWNX_MAC_RF_PATCH_BASE_NAME_8800DC".bin" @@ -492,8 +515,12 @@ enum chip_rev { #define AICBT_BTMODE_DEFAULT_8800d80 AICBT_BTMODE_BT_ONLY_COANT #define AICBT_BTMODE_DEFAULT AICBT_BTMODE_BT_ONLY_SW +#ifdef CONFIG_SDIO_BT +#define AICBT_BTPORT_DEFAULT AICBT_BTPORT_MB +#else #define AICBT_BTPORT_DEFAULT AICBT_BTPORT_UART -#define AICBT_UART_BAUD_DEFAULT AICBT_UART_BAUD_115200 +#endif +#define AICBT_UART_BAUD_DEFAULT AICBT_UART_BAUD_1_5M #define AICBT_UART_FC_DEFAULT AICBT_UART_FLOWCTRL_ENABLE #define AICBT_LPM_ENABLE_DEFAULT 0 #define AICBT_TXPWR_LVL_DEFAULT AICBT_TXPWR_LVL @@ -501,9 +528,8 @@ enum chip_rev { #define AICBT_TXPWR_LVL_DEFAULT_8800d80 AICBT_TXPWR_LVL_8800d80 -#define AIC_IRQ_WAKE_FLAG 0 // 0: rising edge, 1: falling edge -#define FEATURE_SDIO_CLOCK 10000000 // 0: default, other: target clock rate -#define FEATURE_SDIO_CLOCK_V3 50000000 // 0: default, other: target clock rate +#define FEATURE_SDIO_CLOCK 50000000 // 0: default, other: target clock rate +#define FEATURE_SDIO_CLOCK_V3 150000000 // 0: default, other: target clock rate #define FEATURE_SDIO_PHASE 2 // 0: default, 2: 180° struct aicbt_patch_table { @@ -562,5 +588,6 @@ extern const struct aicbsp_firmware fw_8800dc_u02[]; extern const struct aicbsp_firmware fw_8800dc_h_u02[]; extern const struct aicbsp_firmware fw_8800d80_u01[]; extern const struct aicbsp_firmware fw_8800d80_u02[]; +extern const struct aicbsp_firmware fw_8800d80_h_u02[]; #endif diff --git a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_bsp/aic_bsp_main.c b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_bsp/aic_bsp_main.c index e9849cef3..1bbc2fe5d 100755 --- a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_bsp/aic_bsp_main.c +++ b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_bsp/aic_bsp_main.c @@ -27,7 +27,11 @@ const struct aicbsp_firmware fw_u02[] = { .bt_adid = "fw_adid.bin", .bt_patch = "fw_patch.bin", .bt_table = "fw_patch_table.bin", + #ifdef CONFIG_SDIO_BT + .wl_fw = "fmacfwbt.bin" + #else .wl_fw = "fmacfw.bin" + #endif }, [AICBSP_CPMODE_TEST] = { .desc = "rf test mode(sdio u02)", @@ -46,6 +50,8 @@ const struct aicbsp_firmware fw_u03[] = { .bt_table = "fw_patch_table_u03.bin", #ifdef CONFIG_MCU_MESSAGE .wl_fw = "fmacfw_8800m_custmsg.bin" + #elif defined(CONFIG_SDIO_BT) + .wl_fw = "fmacfwbt.bin" #else .wl_fw = "fmacfw.bin" #endif @@ -140,7 +146,33 @@ const struct aicbsp_firmware fw_8800d80_u02[] = { .bt_adid = "fw_adid_8800d80_u02.bin", .bt_patch = "fw_patch_8800d80_u02.bin", .bt_table = "fw_patch_table_8800d80_u02.bin", + #ifdef CONFIG_SDIO_BT + .wl_fw = "fmacfwbt_8800d80_u02.bin" + #else .wl_fw = "fmacfw_8800d80_u02.bin" + #endif + }, + + [AICBSP_CPMODE_TEST] = { + .desc = "rf test mode(8800d80 sdio u02)", + .bt_adid = "fw_adid_8800d80_u02.bin", + .bt_patch = "fw_patch_8800d80_u02.bin", + .bt_table = "fw_patch_table_8800d80_u02.bin", + .wl_fw = "lmacfw_rf_8800d80_u02.bin" + }, +}; + +const struct aicbsp_firmware fw_8800d80_h_u02[] = { + [AICBSP_CPMODE_WORK] = { + .desc = "normal work mode(8800d80 sdio h_u02)", + .bt_adid = "fw_adid_8800d80_u02.bin", + .bt_patch = "fw_patch_8800d80_u02.bin", + .bt_table = "fw_patch_table_8800d80_u02.bin", + #ifdef CONFIG_SDIO_BT + .wl_fw = "fmacfwbt_8800d80_h_u02.bin" + #else + .wl_fw = "fmacfw_8800d80_h_u02.bin" + #endif }, [AICBSP_CPMODE_TEST] = { @@ -157,7 +189,11 @@ struct aicbsp_info_t aicbsp_info = { .hwinfo = AICBSP_HWINFO_DEFAULT, .cpmode = AICBSP_CPMODE_DEFAULT, .fwlog_en = AICBSP_FWLOG_EN_DEFAULT, - .irqf = AIC_IRQ_WAKE_FLAG, +#ifdef CONFIG_IRQ_FALL + .irqf = 1, +#else + .irqf = 0, +#endif }; struct mutex aicbsp_power_lock; @@ -343,7 +379,7 @@ static int __init aicbsp_init(void) } mutex_init(&aicbsp_power_lock); -#ifdef CONFIG_PLATFORM_ROCKCHIP +#if defined CONFIG_PLATFORM_ROCKCHIP || defined CONFIG_PLATFORM_ROCKCHIP2 aicbsp_set_subsys(AIC_BLUETOOTH, AIC_PWR_ON); #endif return 0; @@ -354,7 +390,7 @@ extern struct aic_sdio_dev *aicbsp_sdiodev; static void __exit aicbsp_exit(void) { -#ifdef CONFIG_PLATFORM_ROCKCHIP +#if defined CONFIG_PLATFORM_ROCKCHIP || defined CONFIG_PLATFORM_ROCKCHIP2 if(aicbsp_sdiodev){ aicbsp_sdio_exit(); } diff --git a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_bsp/aicsdio.c b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_bsp/aicsdio.c index fa9df3c82..75d235bf4 100755 --- a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_bsp/aicsdio.c +++ b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_bsp/aicsdio.c @@ -48,6 +48,8 @@ static void aicbsp_platform_power_off(void); struct aic_sdio_dev *aicbsp_sdiodev = NULL; static struct semaphore *aicbsp_notify_semaphore; +static struct semaphore *aicbsp_probe_semaphore = NULL; + static const struct sdio_device_id aicbsp_sdmmc_ids[]; static bool aicbsp_load_fw_in_fdrv = false; @@ -84,10 +86,7 @@ extern int testmode; static int aicbsp_dummy_probe(struct sdio_func *func, const struct sdio_device_id *id) { if (func && (func->num != 2)) - { - printk("func_num = %d \r\n",func->num); return 0; - } if(func->vendor != SDIO_VENDOR_ID_AIC8801 && func->device != SDIO_DEVICE_ID_AIC8801 && @@ -100,10 +99,6 @@ static int aicbsp_dummy_probe(struct sdio_func *func, const struct sdio_device_i printk("VID:%x DID:%X \r\n", func->vendor, func->device); aicbsp_load_fw_in_fdrv = true; } - else - { - printk("VID:%x DID:%X \r\n", func->vendor, func->device); - } if (aicbsp_notify_semaphore) up(aicbsp_notify_semaphore); @@ -190,15 +185,7 @@ int aicbsp_set_subsys(int subsys, int state) aicbsp_sdio_release(aicbsp_sdiodev); #endif -#ifdef CONFIG_PLATFORM_ROCKCHIP -#ifdef CONFIG_GPIO_WAKEUP - //BT_SLEEP:true,BT_WAKEUP:false - rfkill_rk_sleep_bt(true); - printk("%s BT wake default to SLEEP\r\n", __func__); -#endif -#endif - -#ifdef CONFIG_PLATFORM_ROCKCHIP2 +#if defined CONFIG_PLATFORM_ROCKCHIP || defined CONFIG_PLATFORM_ROCKCHIP2 #ifdef CONFIG_GPIO_WAKEUP //BT_SLEEP:true,BT_WAKEUP:false rfkill_rk_sleep_bt(true); @@ -279,6 +266,16 @@ static int aicbsp_sdio_probe(struct sdio_func *func, struct aicwf_bus *bus_if; int err = -ENODEV; + if (func == NULL) { + sdio_err("%s func is null\n", __func__); + return err; + } + + if (aicbsp_probe_semaphore == NULL) { + sdio_err("%s bsp_probe_semaphore is null\n", __func__); + return err; + } + sdio_dbg("%s:%d vid:0x%04X did:0x%04X\n", __func__, func->num, func->vendor, func->device); @@ -298,8 +295,11 @@ static int aicbsp_sdio_probe(struct sdio_func *func, return err; } - func = func->card->sdio_func[1 - 1]; //replace 2 with 1 host = func->card->host; + host->caps |= MMC_CAP_NONREMOVABLE; + + func = func->card->sdio_func[1 - 1]; //replace 2 with 1 + sdio_dbg("%s after replace:%d\n", __func__, func->num); bus_if = kzalloc(sizeof(struct aicwf_bus), GFP_KERNEL); @@ -346,9 +346,11 @@ static int aicbsp_sdio_probe(struct sdio_func *func, sdio_err("sdio bus init err\r\n"); goto fail; } - host->caps |= MMC_CAP_NONREMOVABLE; + aicbsp_platform_init(sdiodev); + up(aicbsp_probe_semaphore); + return 0; fail: aicwf_sdio_func_deinit(sdiodev); @@ -358,33 +360,37 @@ fail: return err; } + static void aicbsp_sdio_remove(struct sdio_func *func) { struct mmc_host *host; struct aicwf_bus *bus_if = NULL; struct aic_sdio_dev *sdiodev = NULL; - sdio_dbg("%s\n", __func__); + AICWFDBG(LOGINFO, "%s\n", __func__); if (aicbsp_sdiodev == NULL) { - sdio_dbg("%s: allready unregister\n", __func__); - return; + AICWFDBG(LOGERROR, "%s: allready unregister\n", __func__); + goto done; + } + if ((func == NULL) || (&func->dev == NULL)) { + AICWFDBG(LOGERROR, "%s, sdio func is null\n", __func__); + goto done; } - bus_if = aicbsp_get_drvdata(&func->dev); - - if (!bus_if) { - AICWFDBG(LOGERROR, "%s bus_if is NULL \r\n", __func__); - return; - } - - func = aicbsp_sdiodev->func; host = func->card->host; host->caps &= ~MMC_CAP_NONREMOVABLE; + bus_if = aicbsp_get_drvdata(&func->dev); + + if (!bus_if) { + AICWFDBG(LOGERROR, "%s bus_if is NULL \r\n", __func__); + goto done; + } + sdiodev = bus_if->bus_priv.sdio; if (!sdiodev) { - AICWFDBG(LOGERROR, "%s sdiodev is NULL \r\n", __func__); - return; + AICWFDBG(LOGERROR, "%s sdiodev is NULL \r\n", __func__); + goto done; } aicwf_sdio_release(sdiodev); @@ -392,29 +398,27 @@ static void aicbsp_sdio_remove(struct sdio_func *func) dev_set_drvdata(&sdiodev->func->dev, NULL); kfree(sdiodev); - kfree(bus_if); + +done: + if (bus_if) + kfree(bus_if); aicbsp_sdiodev = NULL; + aicbsp_probe_semaphore = NULL; sdio_dbg("%s done\n", __func__); } +#ifdef SDIO_REMOVEABLE static int aicbsp_sdio_suspend(struct device *dev) { struct sdio_func *func = dev_to_sdio_func(dev); int err; mmc_pm_flag_t sdio_flags; -#ifdef CONFIG_PLATFORM_ROCKCHIP +#if defined(CONFIG_PLATFORM_ROCKCHIP) || defined(CONFIG_PLATFORM_ROCKCHIP2) #ifdef CONFIG_GPIO_WAKEUP //BT_SLEEP:true,BT_WAKEUP:false rfkill_rk_sleep_bt(false); #endif -#endif - -#ifdef CONFIG_PLATFORM_ROCKCHIP2 -#ifdef CONFIG_GPIO_WAKEUP - //BT_SLEEP:true,BT_WAKEUP:false - rfkill_rk_sleep_bt(false); -#endif #endif sdio_dbg("%s, func->num = %d\n", __func__, func->num); @@ -434,7 +438,7 @@ static int aicbsp_sdio_suspend(struct device *dev) return err; } -#ifdef CONFIG_PLATFORM_ROCKCHIP +#if defined(CONFIG_PLATFORM_ROCKCHIP) || defined(CONFIG_PLATFORM_ROCKCHIP2) #ifdef CONFIG_GPIO_WAKEUP //BT_SLEEP:true,BT_WAKEUP:false rfkill_rk_sleep_bt(true); @@ -442,15 +446,6 @@ static int aicbsp_sdio_suspend(struct device *dev) #endif #endif -#ifdef CONFIG_PLATFORM_ROCKCHIP2 -#ifdef CONFIG_GPIO_WAKEUP - //BT_SLEEP:true,BT_WAKEUP:false - rfkill_rk_sleep_bt(true); - printk("%s BT wake to SLEEP\r\n", __func__); -#endif -#endif - - return 0; } @@ -458,8 +453,16 @@ static int aicbsp_sdio_resume(struct device *dev) { sdio_dbg("%s\n", __func__); +#if defined(CONFIG_PLATFORM_ROCKCHIP) || defined(CONFIG_PLATFORM_ROCKCHIP2) +#ifdef CONFIG_GPIO_WAKEUP + //BT_SLEEP:true,BT_WAKEUP:false + rfkill_rk_sleep_bt(false); +#endif +#endif + return 0; } +#endif static const struct sdio_device_id aicbsp_sdmmc_ids[] = { {SDIO_DEVICE_CLASS(SDIO_CLASS_WLAN)}, @@ -512,7 +515,6 @@ static int aicbsp_platform_power_on(void) rockchip_wifi_set_carddetect(1); #endif /*CONFIG_PLATFORM_ROCKCHIP2*/ - sema_init(&aic_chipup_sem, 0); ret = aicbsp_reg_sdio_notify(&aic_chipup_sem); if (ret) { @@ -528,9 +530,7 @@ static int aicbsp_platform_power_on(void) sunxi_mmc_rescan_card(aicbsp_bus_index); #endif //CONFIG_PLATFORM_ALLWINNER - sdio_dbg("%s Get semaphore ... \n", __func__); - if (down_timeout(&aic_chipup_sem, msecs_to_jiffies(4000)) == 0) { - sdio_dbg("%s Get semaphore success \n", __func__); + if (down_timeout(&aic_chipup_sem, msecs_to_jiffies(2000)) == 0) { aicbsp_unreg_sdio_notify(); if(aicbsp_load_fw_in_fdrv){ printk("%s load fw in fdrv\r\n", __func__); @@ -588,11 +588,22 @@ static void aicbsp_platform_power_off(void) int aicbsp_sdio_init(void) { + struct semaphore aic_chipup_sem; + + sema_init(&aic_chipup_sem, 0); + aicbsp_probe_semaphore = &aic_chipup_sem; + if (sdio_register_driver(&aicbsp_sdio_driver)) { return -1; } else { //may add mmc_rescan here } + if (down_timeout(aicbsp_probe_semaphore, msecs_to_jiffies(2000)) != 0){ + printk("%s aicbsp_sdio_probe fail\r\n", __func__); + return -1; + } + + return 0; } @@ -1618,22 +1629,33 @@ void aicwf_sdio_release_func2(struct aic_sdio_dev *sdiodev) void aicwf_sdio_release(struct aic_sdio_dev *sdiodev) { - struct aicwf_bus *bus_if; + struct aicwf_bus *bus_if = NULL; + struct aicwf_bus *bus_if_t = NULL; int ret = 0; sdio_dbg("%s\n", __func__); + if (sdiodev->func == NULL) { + printk("%s, NULL sdio func\n", __func__); + return; + } bus_if = aicbsp_get_drvdata(sdiodev->dev); - bus_if->state = BUS_DOWN_ST; + if (bus_if) + bus_if->state = BUS_DOWN_ST; - sdio_claim_host(sdiodev->func); - //disable sdio interrupt - ret = aicwf_sdio_writeb(sdiodev, sdiodev->sdio_reg.intr_config_reg, 0x0); - if (ret < 0) { - sdio_err("reg:%d write failed!, ret=%d\n", sdiodev->sdio_reg.intr_config_reg, ret); + bus_if_t = dev_get_drvdata(sdiodev->dev); + + if ((bus_if_t != NULL) && (sdiodev->bus_if == bus_if_t)) { + sdio_dbg("%s bsp release\n", __func__); + sdio_claim_host(sdiodev->func); + //disable sdio interrupt + ret = aicwf_sdio_writeb(sdiodev, sdiodev->sdio_reg.intr_config_reg, 0x0); + if (ret < 0) { + sdio_err("reg:%d write failed!, ret=%d\n", sdiodev->sdio_reg.intr_config_reg, ret); + } + sdio_release_irq(sdiodev->func); + sdio_release_host(sdiodev->func); } - sdio_release_irq(sdiodev->func); - sdio_release_host(sdiodev->func); if(sdiodev->chipid == PRODUCT_ID_AIC8800DC || sdiodev->chipid == PRODUCT_ID_AIC8800DW){ aicwf_sdio_release_func2(sdiodev); @@ -1651,6 +1673,8 @@ void aicwf_sdio_release(struct aic_sdio_dev *sdiodev) rwnx_cmd_mgr_deinit(&sdiodev->cmd_mgr); } + + void aicwf_sdio_reg_init(struct aic_sdio_dev *sdiodev) { sdio_dbg("%s\n", __func__); @@ -1720,7 +1744,6 @@ int aicwf_sdio_func_init(struct aic_sdio_dev *sdiodev) #if 1//SDIO CLOCK SETTING if (feature.sdio_clock > 0) { host->ios.clock = feature.sdio_clock; - // for test host->ops->set_ios(host, &host->ios); sdio_dbg("Set SDIO Clock %d MHz\n", host->ios.clock/1000000); } @@ -1860,16 +1883,35 @@ int aicwf_sdiov3_func_init(struct aic_sdio_dev *sdiodev) void aicwf_sdio_func_deinit(struct aic_sdio_dev *sdiodev) { - sdio_claim_host(sdiodev->func); - sdio_disable_func(sdiodev->func); - sdio_release_host(sdiodev->func); + struct aicwf_bus *bus_if = NULL; + + if (sdiodev->func == NULL) { + sdio_err("%s, NULL sdio func\n", __func__); + return; + } + + bus_if = dev_get_drvdata(sdiodev->dev); + if (bus_if == NULL) { + sdio_err("%s, bus_if is null\n", __func__); + return; + } + + if (sdiodev->bus_if == bus_if) { + sdio_dbg("%s bsp disable\n", __func__); + sdio_claim_host(sdiodev->func); + sdio_disable_func(sdiodev->func); + sdio_release_host(sdiodev->func); + } + if(sdiodev->chipid == PRODUCT_ID_AIC8800DC || sdiodev->chipid == PRODUCT_ID_AIC8800DW){ sdio_claim_host(sdiodev->func_msg); sdio_disable_func(sdiodev->func_msg); sdio_release_host(sdiodev->func_msg); } + } + void *aicwf_sdio_bus_init(struct aic_sdio_dev *sdiodev) { int ret; diff --git a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_bsp/aicsdio.h b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_bsp/aicsdio.h index 582ba94df..68efaf5f6 100755 --- a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_bsp/aicsdio.h +++ b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_bsp/aicsdio.h @@ -108,6 +108,7 @@ struct aic_sdio_dev { struct semaphore pwrctl_wakeup_sema; #endif u16 chipid; + u32 fw_version_uint; struct aic_sdio_reg sdio_reg; void (*sdio_hal_irqhandler) (struct sdio_func *func); }; diff --git a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_bsp/aicsdio_txrxif.c b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_bsp/aicsdio_txrxif.c index 37297f1b8..82bacf945 100755 --- a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_bsp/aicsdio_txrxif.c +++ b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_bsp/aicsdio_txrxif.c @@ -47,12 +47,14 @@ int aicwf_bus_init(uint bus_hdrlen, struct device *dev) if (IS_ERR(bus_if->bustx_thread)) { bus_if->bustx_thread = NULL; txrx_err("aicwf_bustx_thread run fail\n"); + ret = -1; goto fail; } if (IS_ERR(bus_if->busrx_thread)) { bus_if->busrx_thread = NULL; txrx_err("aicwf_bustx_thread run fail\n"); + ret = -1; goto fail; } diff --git a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_bsp/rwnx_version_gen.h b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_bsp/rwnx_version_gen.h index 5185e9229..6ce7186ae 100755 --- a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_bsp/rwnx_version_gen.h +++ b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_bsp/rwnx_version_gen.h @@ -1,4 +1,4 @@ #define RWNX_VERS_REV "241c091M (master)" #define RWNX_VERS_MOD "6.4.3.0" #define RWNX_VERS_BANNER "rwnx v6.4.3.0 - - 241c091M (master)" -#define RELEASE_DATE "2023_1219_3cf85031" +#define RELEASE_DATE "2024_0615_c3cb37b3" diff --git a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_btlpm/Makefile b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_btlpm/Makefile index cd63d62b9..6d59301f9 100755 --- a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_btlpm/Makefile +++ b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_btlpm/Makefile @@ -12,38 +12,23 @@ CONFIG_PLATFORM_AMLOGIC ?= n CONFIG_PLATFORM_UBUNTU ?= y -CONFIG_SUPPORT_LPM = y +CONFIG_SUPPORT_LPM ?= n CONFIG_AUTO_PM ?= n aic8800_btlpm-y := \ aic_bluetooth_main.o \ rfkill.o \ -ifeq ($(CONFIG_PLATFORM_UBUNTU), n) - aic8800_btlpm-$(CONFIG_SUPPORT_LPM) += lpm.o -endif +aic8800_btlpm-$(CONFIG_SUPPORT_LPM) += lpm.o ccflags-y += -DAIC_TRACE_INCLUDE_PATH=$(src) ccflags-$(CONFIG_AUTO_PM) += -DCONFIG_AUTO_PM ifeq ($(CONFIG_PLATFORM_ROCKCHIP), y) -KDIR ?= /home/yaya/E/Rockchip/3229/Android9/rk3229_android9.0_box/kernel -ARCH ?= arm -CROSS_COMPILE ?= /home/yaya/E/Rockchip/3229/Android9/rk3229_android9.0_box/prebuilts/gcc/linux-x86/arm/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf- -#KDIR ?= /home/yaya/E/Rockchip/3229/Android10/SDK/kernel/ -#ARCH ?= arm -#CROSS_COMPILE ?= /home/yaya/E/Rockchip/3229/Android10/SDK/prebuilts/gcc/linux-x86/arm/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf- -#KDIR ?= /home/yaya/E/Rockchip/3288/Android10/kernel/kernel/ -#ARCH ?= arm -#CROSS_COMPILE ?= /home/yaya/E/Rockchip/3288/Android10/tool/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/arm-linux#-gnueabihf- -#KDIR ?= /home/yaya/E/Rockchip/3229/Android7/RK3229_ANDROID7.1_v1.01_20170914/rk3229_Android7.1_v1.01_xml0914/kernel -#ARCH ?= arm -#CROSS_COMPILE ?= /home/yaya/E/Rockchip/3229/Android7/RK3229_ANDROID7.1_v1.01_20170914/rk3229_Android7.1_v1.01_xml0914/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin/arm-eabi- -#KDIR ?= /home/yaya/E/Rockchip/3328/Android9/SDK/SDK/kernel -#ARCH ?= arm64 -#CROSS_COMPILE ?= /home/yaya/E/Rockchip/3328/Android9/SDK/SDK/prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu- - +ARCH = arm64 +KDIR = /home/yaya/E/Rockchip/3566/firefly/Android11.0/Firefly-RK356X_Android11.0_git_20210824/RK356X_Android11.0/kernel +CROSS_COMPILE = /home/yaya/E/Rockchip/3566/firefly/Android11.0/Firefly-RK356X_Android11.0_git_20210824/RK356X_Android11.0/prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu- ccflags-$(CONFIG_PLATFORM_ROCKCHIP) += -DCONFIG_PLATFORM_ROCKCHIP ccflags-y += -DANDROID_PLATFORM endif diff --git a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/Makefile b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/Makefile index 778cef87f..390d72fa4 100755 --- a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/Makefile +++ b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/Makefile @@ -1,8 +1,8 @@ EXTRA_CFLAGS += $(USER_EXTRA_CFLAGS) EXTRA_CFLAGS += -Wno-implicit-fallthrough -EXTRA_CFLAGS += -Wno-unused-function +#EXTRA_CFLAGS += -Wno-unused-function #EXTRA_CFLAGS += -Wno-maybe-uninitialized -# EXTRA_CFLAGS += -Wno-unused-variable +#EXTRA_CFLAGS += -Wno-unused-variable RWNX_VERS_NUM := 6.4.3.0 @@ -73,6 +73,7 @@ CONFIG_RADAR_OR_IR_DETECT =n CONFIG_DOWNLOAD_FW =n CONFIG_RFTEST=y CONFIG_USB_BT =y +CONFIG_SDIO_BT=n CONFIG_USE_5G ?= y CONFIG_SDIO_PWRCTRL ?= y CONFIG_CREATE_TRACE_POINTS = n @@ -80,7 +81,7 @@ CONFIG_TXRX_THREAD_PRIO = y # CONFIG_COEX = n for BT_ONLY, CONFIG_COEX =y for combo and sw CONFIG_COEX = y CONFIG_RX_NETIF_RECV_SKB = y -CONFIG_GPIO_WAKEUP = n +CONFIG_GPIO_WAKEUP ?= n CONFIG_SET_VENDOR_EXTENSION_IE = n CONFIG_SUPPORT_REALTIME_CHANGE_MAC = y CONFIG_WPA3_FOR_OLD_KERNEL ?= n @@ -91,19 +92,35 @@ CONFIG_WIFI_SUSPEND_FOR_LINUX = n # Need to set fw path in BOARD_KERNEL_CMDLINE CONFIG_USE_FW_REQUEST = n CONFIG_USE_P2P0=n +CONFIG_TX_NETIF_FLOWCTRL = n +CONFIG_ONE_TXQ = n CONFIG_BR_SUPPORT =n BR_NAME = br0 CONFIG_FDRV_NO_REG_SDIO=n CONFIG_SCHED_SCAN = n -CONFIG_OOB = n +CONFIG_OOB ?= n CONFIG_USE_CUSTOMER_MAC = n -CONFIG_PREALLOC_TXQ = y +CONFIG_PREALLOC_TXQ ?= y CONFIG_DPD = y CONFIG_FORCE_DPD_CALIB = y -CONFIG_FILTER_TCP_ACK =n -CONFIG_RESV_MEM_SUPPORT = y +CONFIG_LOFT_CALIB = n +CONFIG_FILTER_TCP_ACK =y +CONFIG_RESV_MEM_SUPPORT ?= y CONFIG_GKI = n CONFIG_TEMP_COMP = n +CONFIG_EXT_FEM_8800DCDW = n +# CONFIG_MCC = n for sta and p2p concurrent in same channel. +CONFIG_MCC = y + +ifneq ($(CONFIG_WIRELESS_EXT), y) +CONFIG_USE_WIRELESS_EXT = n +endif + +ifeq ($(CONFIG_EXT_FEM_8800DCDW), y) +CONFIG_DPD = n +CONFIG_FORCE_DPD_CALIB = n +CONFIG_LOFT_CALIB = y +endif # Support of MU-MIMO transmission (need FW support) ifeq ($(CONFIG_RWNX_BFMER), y) @@ -153,6 +170,7 @@ $(MODULE_NAME)-y := \ aicwf_compat_8800d80.o \ rwnx_wakelock.o \ regdb.o \ + aic_priv_cmd.o \ aicwf_rx_prealloc.o $(MODULE_NAME)-$(CONFIG_BR_SUPPORT) += aic_br_ext.o @@ -166,6 +184,7 @@ $(MODULE_NAME)-$(CONFIG_SDIO_SUPPORT) += sdio_host.o $(MODULE_NAME)-$(CONFIG_SDIO_SUPPORT) += aicwf_txrxif.o $(MODULE_NAME)-$(CONFIG_SDIO_SUPPORT) += aicwf_sdio.o $(MODULE_NAME)-$(CONFIG_FILTER_TCP_ACK) += aicwf_tcp_ack.o +$(MODULE_NAME)-$(CONFIG_SDIO_BT) += aic_btsdio.o $(MODULE_NAME)-$(CONFIG_USB_SUPPORT) += usb_host.o $(MODULE_NAME)-$(CONFIG_USB_SUPPORT) += aicwf_txrxif.o @@ -245,10 +264,14 @@ ccflags-$(CONFIG_USE_CUSTOMER_MAC) += -DCONFIG_USE_CUSTOMER_MAC ccflags-$(CONFIG_PREALLOC_TXQ) += -DCONFIG_PREALLOC_TXQ ccflags-$(CONFIG_DPD) += -DCONFIG_DPD ccflags-$(CONFIG_FORCE_DPD_CALIB) += -DCONFIG_FORCE_DPD_CALIB -DCONFIG_DPD +ccflags-$(CONFIG_LOFT_CALIB) += -DCONFIG_LOFT_CALIB ccflags-$(CONFIG_FILTER_TCP_ACK) += -DCONFIG_FILTER_TCP_ACK +ccflags-$(CONFIG_SDIO_BT) += -DCONFIG_SDIO_BT ccflags-$(CONFIG_RESV_MEM_SUPPORT) += -DCONFIG_RESV_MEM_SUPPORT ccflags-$(CONFIG_GKI) += -DCONFIG_GKI ccflags-$(CONFIG_TEMP_COMP) += -DCONFIG_TEMP_COMP +ccflags-$(CONFIG_EXT_FEM_8800DCDW) += -DCONFIG_EXT_FEM_8800DCDW +ccflags-$(CONFIG_MCC) += -DCONFIG_MCC ifeq ($(CONFIG_SDIO_SUPPORT), y) @@ -287,8 +310,13 @@ ccflags-$(CONFIG_ARP_OFFLOAD) += -DAICWF_ARP_OFFLOAD ccflags-$(CONFIG_RADAR_DETECT) += -DRADAR_OR_IR_DETECT ccflags-$(CONFIG_DOWNLOAD_FW) += -DCONFIG_DOWNLOAD_FW ccflags-$(CONFIG_RX_NETIF_RECV_SKB) += -DCONFIG_RX_NETIF_RECV_SKB +ccflags-$(CONFIG_ONE_TXQ) += -DCONFIG_ONE_TXQ +ccflags-$(CONFIG_TX_NETIF_FLOWCTRL) += -DCONFIG_TX_NETIF_FLOWCTRL -# Platform support list +ccflags-y += -DAIC_TRACE_INCLUDE_PATH=$(src) +MAKEFLAGS +=-j$(shell nproc) + +########## Platform support list ########## CONFIG_PLATFORM_ROCKCHIP ?= n CONFIG_PLATFORM_ROCKCHIP2 ?= n CONFIG_PLATFORM_ALLWINNER ?= n @@ -296,32 +324,10 @@ CONFIG_PLATFORM_INGENIC_T20 ?= n CONFIG_PLATFORM_AMLOGIC ?= n CONFIG_PLATFORM_UBUNTU ?= y -ccflags-y += -DAIC_TRACE_INCLUDE_PATH=$(src) - ifeq ($(CONFIG_PLATFORM_ROCKCHIP), y) -#KDIR ?= /home/yaya/E/Rockchip/3229/Android7/RK3229_ANDROID7.1_v1.01_20170914/rk3229_Android7.1_v1.01_xml0914/kernel -#ARCH ?= arm -#CROSS_COMPILE ?= /home/yaya/E/Rockchip/3229/Android7/RK3229_ANDROID7.1_v1.01_20170914/rk3229_Android7.1_v1.01_xml0914/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin/arm-eabi- -#KDIR ?= /home/yaya/E/Rockchip/3399/rk3399-android-10/kernel -#ARCH ?= arm64 -#CROSS_COMPILE ?= /home/yaya/E/Rockchip/3399/rk3399-android-10/prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu- -#KDIR ?= /home/yaya/E/Rockchip/3288/Android10/kernel/kernel/ -#ARCH ?= arm -#CROSS_COMPILE ?= /home/yaya/E/Rockchip/3288/Android10/tool/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf- -#KDIR ?= /home/yaya/E/Rockchip/3229/Android9/rk3229_android9.0_box/kernel -#ARCH ?= arm -#CROSS_COMPILE ?= /home/yaya/E/Rockchip/3229/Android9/rk3229_android9.0_box/prebuilts/gcc/linux-x86/arm/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf- -#KDIR ?= /home/yaya/E/Rockchip/3566/Android/kernel -#ARCH ?= arm64 -#CROSS_COMPILE ?= /home/yaya/E/Rockchip/3566/Android/prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu- -#KDIR ?= /home/yaya/E/Rockchip/3328/Android9/SDK/kernel/ -#ARCH ?= arm64 -#CROSS_COMPILE ?= /home/yaya/E/Rockchip/3328/Android9/SDK/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu- -#KDIR ?= /home/yaya/E/Rockchip/3566/oudu/kernel -KDIR ?= ~/E/Rockchip/3566/Android11/rk3566_rk3568_android11_oranth/kernel -#KDIR ?= /home/yaya/E/Rockchip/3566/shengteng/kernel -ARCH ?= arm64 -CROSS_COMPILE ?= ~/E/Rockchip/3566/Android11/rk3566_rk3568_android11_oranth/prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu- +ARCH := arm64 +KDIR ?= /home/yaya/E/Rockchip/3566/firefly/Android11.0/Firefly-RK356X_Android11.0_git_20210824/RK356X_Android11.0/kernel +CROSS_COMPILE := /home/yaya/E/Rockchip/3566/firefly/Android11.0/Firefly-RK356X_Android11.0_git_20210824/RK356X_Android11.0/prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu- ccflags-$(CONFIG_PLATFORM_ROCKCHIP) += -DCONFIG_PLATFORM_ROCKCHIP ccflags-y += -DANDROID_PLATFORM endif @@ -363,6 +369,7 @@ MODDESTDIR ?= /lib/modules/$(KVER)/kernel/drivers/net/wireless/ ARCH ?= x86_64 CROSS_COMPILE ?= endif +########################################### all: modules diff --git a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/aic_btsdio.c b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/aic_btsdio.c new file mode 100755 index 000000000..643f94698 --- /dev/null +++ b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/aic_btsdio.c @@ -0,0 +1,1310 @@ +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "aic_btsdio.h" +#include "rwnx_msg_tx.h" + +static spinlock_t queue_lock; + +static inline struct sk_buff *bt_skb_alloc(unsigned int len, gfp_t how) +{ + struct sk_buff *skb; + + if ((skb = alloc_skb(len + BT_SKB_RESERVE, how))) { + skb_reserve(skb, BT_SKB_RESERVE); + bt_cb(skb)->incoming = 0; + } + return skb; +} + +static spinlock_t queue_lock; +static spinlock_t dlfw_lock; +static volatile uint16_t dlfw_dis_state = 0; + +/* Global parameters for bt usb char driver */ +#define BT_CHAR_DEVICE_NAME "aicbt_dev" +struct mutex btchr_mutex; +static struct sk_buff_head btchr_readq; +static wait_queue_head_t btchr_read_wait; +static wait_queue_head_t bt_dlfw_wait; +static int bt_char_dev_registered; +static dev_t bt_devid; /* bt char device number */ +static struct cdev bt_char_dev; /* bt character device structure */ +static struct class *bt_char_class; /* device class for usb char driver */ +static int bt_reset = 0; +//int aic_queue_cnt(void); +/* HCI device & lock */ +DEFINE_RWLOCK(hci_dev_lock); + +struct hci_dev *ghdev = NULL; + +static struct sk_buff *aic_skb_queue[QUEUE_SIZE]; +static int aic_skb_queue_front = 0; +static int aic_skb_queue_rear = 0; + +static inline int check_set_dlfw_state_value(uint16_t change_value) +{ + spin_lock(&dlfw_lock); + if(!dlfw_dis_state) { + dlfw_dis_state = change_value; + } + spin_unlock(&dlfw_lock); + return dlfw_dis_state; +} + +static inline void set_dlfw_state_value(uint16_t change_value) +{ + spin_lock(&dlfw_lock); + dlfw_dis_state = change_value; + spin_unlock(&dlfw_lock); +} + +static void print_acl(struct sk_buff *skb, int direction) +{ +#if PRINT_ACL_DATA + //uint wlength = skb->len; + u16 *handle = (u16 *)(skb->data); + u16 len = *(handle+1); + //u8 *acl_data = (u8 *)(skb->data); + + AICBT_INFO("aic %s: direction %d, handle %04x, len %d", + __func__, direction, *handle, len); +#endif +} + +static void print_sco(struct sk_buff *skb, int direction) +{ +#if PRINT_SCO_DATA + uint wlength = skb->len; + u16 *handle = (u16 *)(skb->data); + u8 len = *(u8 *)(handle+1); + //u8 *sco_data =(u8 *)(skb->data); + + AICBT_INFO("aic %s: direction %d, handle %04x, len %d,wlength %d", + __func__, direction, *handle, len,wlength); +#endif +} + +int bt_bypass_event(struct sk_buff *skb) +{ + int ret = 0; + u8 *opcode = (u8*)(skb->data); + //u8 len = *(opcode+1); + //printk("bypass_event %x,%x,%x,%x,%x\r\n",opcode[0],opcode[1],opcode[2],opcode[3],opcode[4]); + + switch(opcode[1]) { + case HCI_EV_LE_Meta: + { + u8 subevent_code; + subevent_code = opcode[3]; + switch(subevent_code){ + case HCI_BLE_ADV_PKT_RPT_EVT: + case HCI_LE_EXTENDED_ADVERTISING_REPORT_EVT: + { + if(aic_queue_cnt() > (QUEUE_SIZE-490)){ + printk("more adv report bypass\r\n"); + ret = 1; + } + } + break; + } + } + break; + default: + break; + } + return ret; +} + +int bt_sdio_recv(u8 *data,u32 data_len) +{ + struct sk_buff *skb; + int type= data[0]; + struct hci_dev *hdev; + u32 len = data_len; + //int ret=0; + hdev = hci_dev_get(0); + if (!hdev) { + AICWFDBG(LOGERROR,"%s: Failed to get hci dev[NULL]", __func__); + return -ENODEV; + } + + //printk("%s type %x len %d \n",__func__,type,len); + //bt_data_dump("bt_recv", ind->bt_data, 64); + + /*#if (CONFIG_BLUEDROID) || (HCI_VERSION_CODE < KERNEL_VERSION(3, 18, 0)) + if (hci_recv_fragment(hdev, type, + ind->bt_data[0], + ind->data_len) < 0) { + AICWFDBG(LOGERROR,"%s: Corrupted event packet", __func__); + hdev->stat.err_rx++; + } + #endif*/ + skb = alloc_skb(len,GFP_ATOMIC); + if(!skb){ + AICWFDBG(LOGERROR, "alloc skb fail %s \n",__func__); + } + memcpy(skb_put(skb,len) ,data, len); + if(bt_bypass_event(skb)){ + kfree_skb(skb); + return 0; + } + //bt_data_dump("bt_skb", skb, skb->len); + + if(aic_enqueue(skb)<0){ + kfree_skb(skb); + }else{ + //printk("wake up \n"); + wake_up_interruptible(&btchr_read_wait); + } + return 0; +} + + +static int bypass_event(struct sk_buff *skb) +{ + int ret = 0; + u8 *opcode = (u8*)(skb->data); + //u8 len = *(opcode+1); + //printk("bypass_event %x,%x,%x,%x,%x\r\n",opcode[0],opcode[1],opcode[2],opcode[3],opcode[4]); + + switch(*opcode) { +#ifdef CONFIG_SUPPORT_VENDOR_APCF + case HCI_EV_CMD_COMPLETE: + { + u16 sub_opcpde; + sub_opcpde = ((u16)opcode[3]|(u16)(opcode[4])<<8); + if(sub_opcpde == 0xfd57){ + if(vendor_apcf_sent_done){ + vendor_apcf_sent_done--; + printk("apcf bypass\r\n"); + ret = 1; + } + } + } + break; +#endif//CONFIG_SUPPORT_VENDOR_APCF + case HCI_EV_LE_Meta: + { + u8 subevent_code; + subevent_code = opcode[2]; + switch(subevent_code){ + case HCI_BLE_ADV_PKT_RPT_EVT: + case HCI_LE_EXTENDED_ADVERTISING_REPORT_EVT: + { + if(aic_queue_cnt() > (QUEUE_SIZE-100)){ + printk("more adv report bypass\r\n"); + ret = 1; + } + } + break; + } + } + break; + default: + break; + } + return ret; +} +static void print_event(struct sk_buff *skb) +{ +#if PRINT_CMD_EVENT + //uint wlength = skb->len; + //uint icount = 0; + u8 *opcode = (u8*)(skb->data); + //u8 len = *(opcode+1); + + printk("aic %s ", __func__); + switch (*opcode) { + case HCI_EV_INQUIRY_COMPLETE: + printk("HCI_EV_INQUIRY_COMPLETE"); + break; + case HCI_EV_INQUIRY_RESULT: + printk("HCI_EV_INQUIRY_RESULT"); + break; + case HCI_EV_CONN_COMPLETE: + printk("HCI_EV_CONN_COMPLETE"); + break; + case HCI_EV_CONN_REQUEST: + printk("HCI_EV_CONN_REQUEST"); + break; + case HCI_EV_DISCONN_COMPLETE: + printk("HCI_EV_DISCONN_COMPLETE"); + break; + case HCI_EV_AUTH_COMPLETE: + printk("HCI_EV_AUTH_COMPLETE"); + break; + case HCI_EV_REMOTE_NAME: + printk("HCI_EV_REMOTE_NAME"); + break; + case HCI_EV_ENCRYPT_CHANGE: + printk("HCI_EV_ENCRYPT_CHANGE"); + break; + case HCI_EV_CHANGE_LINK_KEY_COMPLETE: + printk("HCI_EV_CHANGE_LINK_KEY_COMPLETE"); + break; + case HCI_EV_REMOTE_FEATURES: + printk("HCI_EV_REMOTE_FEATURES"); + break; + case HCI_EV_REMOTE_VERSION: + printk("HCI_EV_REMOTE_VERSION"); + break; + case HCI_EV_QOS_SETUP_COMPLETE: + printk("HCI_EV_QOS_SETUP_COMPLETE"); + break; + case HCI_EV_CMD_COMPLETE: + printk("HCI_EV_CMD_COMPLETE"); + break; + case HCI_EV_CMD_STATUS: + printk("HCI_EV_CMD_STATUS"); + break; + case HCI_EV_ROLE_CHANGE: + printk("HCI_EV_ROLE_CHANGE"); + break; + case HCI_EV_NUM_COMP_PKTS: + printk("HCI_EV_NUM_COMP_PKTS"); + break; + case HCI_EV_MODE_CHANGE: + printk("HCI_EV_MODE_CHANGE"); + break; + case HCI_EV_PIN_CODE_REQ: + printk("HCI_EV_PIN_CODE_REQ"); + break; + case HCI_EV_LINK_KEY_REQ: + printk("HCI_EV_LINK_KEY_REQ"); + break; + case HCI_EV_LINK_KEY_NOTIFY: + printk("HCI_EV_LINK_KEY_NOTIFY"); + break; + case HCI_EV_CLOCK_OFFSET: + printk("HCI_EV_CLOCK_OFFSET"); + break; + case HCI_EV_PKT_TYPE_CHANGE: + printk("HCI_EV_PKT_TYPE_CHANGE"); + break; + case HCI_EV_PSCAN_REP_MODE: + printk("HCI_EV_PSCAN_REP_MODE"); + break; + case HCI_EV_INQUIRY_RESULT_WITH_RSSI: + printk("HCI_EV_INQUIRY_RESULT_WITH_RSSI"); + break; + case HCI_EV_REMOTE_EXT_FEATURES: + printk("HCI_EV_REMOTE_EXT_FEATURES"); + break; + case HCI_EV_SYNC_CONN_COMPLETE: + printk("HCI_EV_SYNC_CONN_COMPLETE"); + break; + case HCI_EV_SYNC_CONN_CHANGED: + printk("HCI_EV_SYNC_CONN_CHANGED"); + break; + case HCI_EV_SNIFF_SUBRATE: + printk("HCI_EV_SNIFF_SUBRATE"); + break; + case HCI_EV_EXTENDED_INQUIRY_RESULT: + printk("HCI_EV_EXTENDED_INQUIRY_RESULT"); + break; + case HCI_EV_IO_CAPA_REQUEST: + printk("HCI_EV_IO_CAPA_REQUEST"); + break; + case HCI_EV_SIMPLE_PAIR_COMPLETE: + printk("HCI_EV_SIMPLE_PAIR_COMPLETE"); + break; + case HCI_EV_REMOTE_HOST_FEATURES: + printk("HCI_EV_REMOTE_HOST_FEATURES"); + break; + default: + printk("unknow event"); + break; + } + printk("\n"); +#if 0 + printk("%02x,len:%d,", *opcode,len); + for (icount = 2; (icount < wlength) && (icount < 24); icount++) + printk("%02x ", *(opcode+icount)); + printk("\n"); +#endif +#endif +} + + +static inline ssize_t sdio_put_user(struct sk_buff *skb, + char __user *buf, int count) +{ + char __user *ptr = buf; + int len = min_t(unsigned int, skb->len, count); + + if (copy_to_user(ptr, skb->data, len)) + return -EFAULT; + + return len; +} + +int aic_enqueue(struct sk_buff *skb) +{ + unsigned long flags = 0; + int ret = 0; + spin_lock_irqsave(&queue_lock, flags); + if (aic_skb_queue_front == (aic_skb_queue_rear + 1) % QUEUE_SIZE) { + /* + * If queue is full, current solution is to drop + * the following entries. + */ + AICBT_WARN("%s: Queue is full, entry will be dropped", __func__); + ret = -1; + } else { + aic_skb_queue[aic_skb_queue_rear] = skb; + + aic_skb_queue_rear++; + aic_skb_queue_rear %= QUEUE_SIZE; + + } + spin_unlock_irqrestore(&queue_lock, flags); + return ret; +} + +static struct sk_buff *aic_dequeue_try(unsigned int deq_len) +{ + struct sk_buff *skb; + struct sk_buff *skb_copy; + unsigned long flags = 0; + + spin_lock_irqsave(&queue_lock, flags); + if (aic_skb_queue_front == aic_skb_queue_rear) { + AICBT_WARN("%s: Queue is empty", __func__); + spin_unlock_irqrestore(&queue_lock, flags); + return NULL; + } + + skb = aic_skb_queue[aic_skb_queue_front]; + if (deq_len >= skb->len) { + + aic_skb_queue_front++; + aic_skb_queue_front %= QUEUE_SIZE; + + /* + * Return skb addr to be dequeued, and the caller + * should free the skb eventually. + */ + spin_unlock_irqrestore(&queue_lock, flags); + return skb; + } else { + skb_copy = pskb_copy(skb, GFP_ATOMIC); + skb_pull(skb, deq_len); + /* Return its copy to be freed */ + spin_unlock_irqrestore(&queue_lock, flags); + return skb_copy; + } +} + +static inline int is_queue_empty(void) +{ + return (aic_skb_queue_front == aic_skb_queue_rear) ? 1 : 0; +} + +void aic_clear_queue(void) +{ + struct sk_buff *skb; + unsigned long flags = 0; + + spin_lock_irqsave(&queue_lock, flags); + while(!is_queue_empty()) { + skb = aic_skb_queue[aic_skb_queue_front]; + aic_skb_queue[aic_skb_queue_front] = NULL; + aic_skb_queue_front++; + aic_skb_queue_front %= QUEUE_SIZE; + if (skb) { + kfree_skb(skb); + } + } + spin_unlock_irqrestore(&queue_lock, flags); +} + +int aic_queue_cnt(void) +{ + int ret_cnt = 0; + unsigned long flags = 0; + + spin_lock_irqsave(&queue_lock, flags); + if(is_queue_empty()) { + ret_cnt = 0; + }else{ + if(aic_skb_queue_rear > aic_skb_queue_front){ + ret_cnt = aic_skb_queue_rear-aic_skb_queue_front; + }else{ + ret_cnt = aic_skb_queue_rear+QUEUE_SIZE-aic_skb_queue_front; + } + } + spin_unlock_irqrestore(&queue_lock, flags); + return ret_cnt; +} + +/* + * AicSemi - Integrate from hci_core.c + */ + +/* Get HCI device by index. + * Device is held on return. */ +struct hci_dev *hci_dev_get(int index) +{ + if (index != 0) + return NULL; + + return ghdev; +} + +/* ---- HCI ioctl helpers ---- */ +static int hci_dev_open(__u16 dev) +{ + struct hci_dev *hdev; + int ret = 0; + + AICBT_DBG("%s: dev %d", __func__, dev); + + hdev = hci_dev_get(dev); + if (!hdev) { + AICBT_ERR("%s: Failed to get hci dev[Null]", __func__); + return -ENODEV; + } + + /*if (test_bit(HCI_UNREGISTER, &hdev->dev_flags)) { + ret = -ENODEV; + goto done; + } + + if (test_bit(HCI_UP, &hdev->flags)) { + ret = -EALREADY; + goto done; + }*/ + +done: + return ret; +} + +static int hci_dev_do_close(struct hci_dev *hdev) +{ + //if (hdev->flush) + // hdev->flush(hdev); + /* After this point our queues are empty + * and no tasks are scheduled. */ + //hdev->close(hdev); + /* Clear flags */ + hdev->flags = 0; + return 0; +} + +static int hci_dev_close(__u16 dev) +{ + struct hci_dev *hdev; + int err; + hdev = hci_dev_get(dev); + if (!hdev) { + AICBT_ERR("%s: failed to get hci dev[Null]", __func__); + return -ENODEV; + } + + err = hci_dev_do_close(hdev); + + return err; +} + +#if CONFIG_BLUEDROID +static struct hci_dev *hci_alloc_dev(void) +{ + struct hci_dev *hdev; + + hdev = kzalloc(sizeof(struct hci_dev), GFP_KERNEL); + if (!hdev) + return NULL; + + return hdev; +} + +/* Free HCI device */ +static void hci_free_dev(struct hci_dev *hdev) +{ + kfree(hdev); +} + +/* Register HCI device */ +static int hci_register_dev(struct hci_dev *hdev) +{ + int i, id; + + AICBT_DBG("%s: %p name %s bus %d", __func__, hdev, hdev->name, hdev->bus); + /* Do not allow HCI_AMP devices to register at index 0, + * so the index can be used as the AMP controller ID. + */ + id = (hdev->dev_type == HCI_BREDR) ? 0 : 1; + + write_lock(&hci_dev_lock); + + sprintf(hdev->name, "hci%d", id); + hdev->id = id; + hdev->flags = 0; + hdev->dev_flags = 0; + mutex_init(&hdev->lock); + + AICBT_DBG("%s: id %d, name %s", __func__, hdev->id, hdev->name); + + + for (i = 0; i < NUM_REASSEMBLY; i++) + hdev->reassembly[i] = NULL; + + memset(&hdev->stat, 0, sizeof(struct hci_dev_stats)); + atomic_set(&hdev->promisc, 0); + + if (ghdev) { + write_unlock(&hci_dev_lock); + AICBT_ERR("%s: Hci device has been registered already", __func__); + return -1; + } else + ghdev = hdev; + + write_unlock(&hci_dev_lock); + + return id; +} + +/* Unregister HCI device */ +static void hci_unregister_dev(struct hci_dev *hdev) +{ + int i; + + AICBT_DBG("%s: hdev %p name %s bus %d", __func__, hdev, hdev->name, hdev->bus); + set_bit(HCI_UNREGISTER, &hdev->dev_flags); + + write_lock(&hci_dev_lock); + ghdev = NULL; + write_unlock(&hci_dev_lock); + + hci_dev_do_close(hdev); + for (i = 0; i < NUM_REASSEMBLY; i++) + kfree_skb(hdev->reassembly[i]); +} + +static void hci_send_to_stack(struct hci_dev *hdev, struct sk_buff *skb) +{ + struct sk_buff *aic_skb_copy = NULL; + + //AICBT_DBG("%s", __func__); + + if (!hdev) { + AICBT_ERR("%s: Frame for unknown HCI device", __func__); + return; + } + + if (!test_bit(HCI_RUNNING, &hdev->flags)) { + AICBT_ERR("%s: HCI not running", __func__); + return; + } + + aic_skb_copy = pskb_copy(skb, GFP_ATOMIC); + if (!aic_skb_copy) { + AICBT_ERR("%s: Copy skb error", __func__); + return; + } + + memcpy(skb_push(aic_skb_copy, 1), &bt_cb(skb)->pkt_type, 1); + aic_enqueue(aic_skb_copy); + + /* Make sure bt char device existing before wakeup read queue */ + hdev = hci_dev_get(0); + if (hdev) { + //AICBT_DBG("%s: Try to wakeup read queue", __func__); + AICBT_DBG("%s", __func__); + wake_up_interruptible(&btchr_read_wait); + } + + + return; +} + +/* Receive frame from HCI drivers */ +static int hci_recv_frame(struct sk_buff *skb) +{ + struct hci_dev *hdev = (struct hci_dev *) skb->dev; + + if (!hdev || + (!test_bit(HCI_UP, &hdev->flags) && !test_bit(HCI_INIT, &hdev->flags))) { + kfree_skb(skb); + return -ENXIO; + } + + /* Incomming skb */ + bt_cb(skb)->incoming = 1; + + /* Time stamp */ + __net_timestamp(skb); + + if (atomic_read(&hdev->promisc)) { +#ifdef CONFIG_SCO_OVER_HCI + if(bt_cb(skb)->pkt_type == HCI_SCODATA_PKT){ + hci_send_to_alsa_ringbuffer(hdev, skb); + }else{ + if(bt_cb(skb)->pkt_type == HCI_EVENT_PKT){ + if(bypass_event(skb)){ + kfree_skb(skb); + return 0; + } + } + hci_send_to_stack(hdev, skb); + } +#else + if(bt_cb(skb)->pkt_type == HCI_EVENT_PKT){ + if(bypass_event(skb)){ + kfree_skb(skb); + return 0; + } + } + /* Send copy to the sockets */ + hci_send_to_stack(hdev, skb); +#endif + + } + + kfree_skb(skb); + return 0; +} + + + +static int hci_reassembly(struct hci_dev *hdev, int type, void *data, + int count, __u8 index) +{ + int len = 0; + int hlen = 0; + int remain = count; + struct sk_buff *skb; + struct bt_skb_cb *scb; + + //AICBT_DBG("%s", __func__); + + if ((type < HCI_ACLDATA_PKT || type > HCI_EVENT_PKT) || + index >= NUM_REASSEMBLY) + return -EILSEQ; + + skb = hdev->reassembly[index]; + + if (!skb) { + switch (type) { + case HCI_ACLDATA_PKT: + len = HCI_MAX_FRAME_SIZE; + hlen = HCI_ACL_HDR_SIZE; + break; + case HCI_EVENT_PKT: + len = HCI_MAX_EVENT_SIZE; + hlen = HCI_EVENT_HDR_SIZE; + break; + case HCI_SCODATA_PKT: + len = HCI_MAX_SCO_SIZE; + hlen = HCI_SCO_HDR_SIZE; + break; + } + + skb = bt_skb_alloc(len, GFP_ATOMIC); + if (!skb) + return -ENOMEM; + + scb = (void *) skb->cb; + scb->expect = hlen; + scb->pkt_type = type; + + skb->dev = (void *) hdev; + hdev->reassembly[index] = skb; + } + + while (count) { + scb = (void *) skb->cb; + len = min_t(uint, scb->expect, count); + + memcpy(skb_put(skb, len), data, len); + + count -= len; + data += len; + scb->expect -= len; + remain = count; + + switch (type) { + case HCI_EVENT_PKT: + if (skb->len == HCI_EVENT_HDR_SIZE) { + struct hci_event_hdr *h = hci_event_hdr(skb); + scb->expect = h->plen; + + if (skb_tailroom(skb) < scb->expect) { + kfree_skb(skb); + hdev->reassembly[index] = NULL; + return -ENOMEM; + } + } + break; + + case HCI_ACLDATA_PKT: + if (skb->len == HCI_ACL_HDR_SIZE) { + struct hci_acl_hdr *h = hci_acl_hdr(skb); + scb->expect = __le16_to_cpu(h->dlen); + + if (skb_tailroom(skb) < scb->expect) { + kfree_skb(skb); + hdev->reassembly[index] = NULL; + return -ENOMEM; + } + } + break; + + case HCI_SCODATA_PKT: + if (skb->len == HCI_SCO_HDR_SIZE) { + struct hci_sco_hdr *h = hci_sco_hdr(skb); + scb->expect = h->dlen; + + if (skb_tailroom(skb) < scb->expect) { + kfree_skb(skb); + hdev->reassembly[index] = NULL; + return -ENOMEM; + } + } + break; + } + + if (scb->expect == 0) { + /* Complete frame */ + if(HCI_ACLDATA_PKT == type) + print_acl(skb,0); + if(HCI_SCODATA_PKT == type) + print_sco(skb,0); + if(HCI_EVENT_PKT == type) + print_event(skb); + + bt_cb(skb)->pkt_type = type; + hci_recv_frame(skb); + + hdev->reassembly[index] = NULL; + return remain; + } + } + + return remain; +} + +int hci_recv_fragment(struct hci_dev *hdev, int type, void *data, int count) +{ + int rem = 0; + + if (type < HCI_ACLDATA_PKT || type > HCI_EVENT_PKT) + return -EILSEQ; + + while (count) { + rem = hci_reassembly(hdev, type, data, count, type - 1); + if (rem < 0) + return rem; + + data += (count - rem); + count = rem; + } + + return rem; +} +#endif //CONFIG_BLUEDROID + +static int btchr_open(struct inode *inode_p, struct file *file_p) +{ + struct btusb_data *data; + struct hci_dev *hdev; + + AICBT_DBG("%s: BT sdio char device is opening", __func__); + /* Not open unless wanna tracing log */ + /* trace_printk("%s: open....\n", __func__); */ + + hdev = hci_dev_get(0); + if (!hdev) { + AICBT_DBG("%s: Failed to get hci dev[NULL]", __func__); + return -ENODEV; + } + data = GET_DRV_DATA(hdev); + + atomic_inc(&hdev->promisc); + /* + * As bt device is not re-opened when hotplugged out, we cannot + * trust on file's private data(may be null) when other file ops + * are invoked. + */ + file_p->private_data = data; + + mutex_lock(&btchr_mutex); + hci_dev_open(0); + mutex_unlock(&btchr_mutex); + + aic_clear_queue(); + return nonseekable_open(inode_p, file_p); +} + +static int btchr_close(struct inode *inode_p, struct file *file_p) +{ + struct btusb_data *data; + struct hci_dev *hdev; + + AICBT_INFO("%s: BT sdio char device is closing", __func__); + /* Not open unless wanna tracing log */ + /* trace_printk("%s: close....\n", __func__); */ + + data = file_p->private_data; + file_p->private_data = NULL; + +#if CONFIG_BLUEDROID + /* + * If the upper layer closes bt char interfaces, no reset + * action required even bt device hotplugged out. + */ + bt_reset = 0; +#endif + + hdev = hci_dev_get(0); + if (hdev) { + atomic_set(&hdev->promisc, 0); + mutex_lock(&btchr_mutex); + hci_dev_close(0); + mutex_unlock(&btchr_mutex); + } + + return 0; +} + +void bt_data_dump(char* tag, void* data, unsigned long len){ + unsigned long i = 0; + uint8_t* data_ = (uint8_t* )data; + + printk("%s %s len:(%lu)\r\n", __func__, tag, len); + + for (i = 0; i < len; i += 16){ + printk("%02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X\r\n", + data_[0 + i], + data_[1 + i], + data_[2 + i], + data_[3 + i], + data_[4 + i], + data_[5 + i], + data_[6 + i], + data_[7 + i], + data_[8 + i], + data_[9 + i], + data_[10 + i], + data_[11 + i], + data_[12 + i], + data_[13 + i], + data_[14 + i], + data_[15 + i]); + } + +} + +static ssize_t btchr_read(struct file *file_p, + char __user *buf_p, + size_t count, + loff_t *pos_p) +{ + struct hci_dev *hdev; + struct sk_buff *skb; + ssize_t ret = 0; + + while (count) { +#if 1 + hdev = hci_dev_get(0); + if (!hdev) { + /* + * Note: Only when BT device hotplugged out, we wil get + * into such situation. In order to keep the upper layer + * stack alive (blocking the read), we should never return + * EFAULT or break the loop. + */ + AICBT_ERR("%s: Failed to get hci dev[Null]", __func__); + } +#endif + ret = wait_event_interruptible(btchr_read_wait, !is_queue_empty()); + if (ret < 0) { + AICBT_ERR("%s: wait event is signaled %d", __func__, (int)ret); + break; + } + + skb = aic_dequeue_try(count); + //bt_data_dump("btchr_read", skb->data, skb->len); + //printk("btchr_read \n"); + if (skb) { + ret = sdio_put_user(skb, buf_p, count); + if (ret < 0) + AICBT_ERR("%s: Failed to put data to user space", __func__); + kfree_skb(skb); + break; + } + } + + return ret; +} + +#ifdef CONFIG_SUPPORT_VENDOR_APCF +void btchr_external_write(char* buff, int len){ + struct hci_dev *hdev; + struct sk_buff *skb; + int i; + struct btusb_data *data; + + AICBT_INFO("%s \r\n", __func__); + for(i=0;idev = (void *)hdev; + memcpy((__u8 *)skb->data,(__u8 *)buff,len); + skb_put(skb, len); + bt_cb(skb)->pkt_type = *((__u8 *)skb->data); + skb_pull(skb, 1); + data->hdev->send(skb); +} + +EXPORT_SYMBOL(btchr_external_write); +#endif //CONFIG_SUPPORT_VENDOR_APCF + +//extern struct rwnx_plat *g_rwnx_plat; +static ssize_t btchr_write(struct file *file_p, + const char __user *buf_p, + size_t count, + loff_t *pos_p) +{ + struct btusb_data *data = file_p->private_data; + struct hci_dev *hdev; + struct sk_buff *skb; + int err=0; + + AICBT_DBG("%s", __func__); + + hdev = hci_dev_get(0); + if (!hdev) { + AICBT_WARN("%s: Failed to get hci dev[Null]", __func__); + /* + * Note: we bypass the data from the upper layer if bt device + * is hotplugged out. Fortunatelly, H4 or H5 HCI stack does + * NOT check btchr_write's return value. However, returning + * count instead of EFAULT is preferable. + */ + /* return -EFAULT; */ + return count; + } + +#if 0 + /* Never trust on btusb_data, as bt device may be hotplugged out */ + data = GET_DRV_DATA(hdev); + if (!data) { + AICBT_WARN("%s: Failed to get bt usb driver data[Null]", __func__); + return count; + } +#endif + + if (count > HCI_MAX_FRAME_SIZE) + return -EINVAL; + + skb = bt_skb_alloc(count, GFP_ATOMIC); + if (!skb) + return -ENOMEM; + skb_reserve(skb, -1); // Add this line + + if (copy_from_user(skb_put(skb, count), buf_p, count)) { + AICBT_ERR("%s: Failed to get data from user space", __func__); + kfree_skb(skb); + return -EFAULT; + } + + skb->dev = (void *)hdev; + bt_cb(skb)->pkt_type = *((__u8 *)skb->data); + //skb_pull(skb, 1); + //data->hdev->send(skb); + + //bt_data_dump("btwrite", skb->data, skb->len); + err = rwnx_sdio_bt_send_req(g_rwnx_plat->sdiodev->rwnx_hw, skb->len, skb); + if(err<0){ + printk("%s rwnx_sdio_bt_send_req error %d",__func__,err); + } + + kfree_skb(skb); + return count; +} + +static unsigned int btchr_poll(struct file *file_p, poll_table *wait) +{ + struct btusb_data *data = file_p->private_data; + struct hci_dev *hdev; + + //AICBT_DBG("%s: BT sdio char device is polling", __func__); + + /*if(!bt_char_dev_registered) { + AICBT_ERR("%s: char device has not registered!", __func__); + return POLLERR | POLLHUP; + }*/ + //printk("poll wait\n"); + poll_wait(file_p, &btchr_read_wait, wait); + //printk("poll out\n"); + + hdev = hci_dev_get(0); + if (!hdev) { + AICBT_ERR("%s: Failed to get hci dev[Null]", __func__); + //mdelay(URB_CANCELING_DELAY_MS); + return POLLERR | POLLHUP; + return POLLOUT | POLLWRNORM; + } + +#if 0 + /* Never trust on btusb_data, as bt device may be hotplugged out */ + data = GET_DRV_DATA(hdev); + if (!data) { + /* + * When bt device is hotplugged out, btusb_data will + * be freed in disconnect. + */ + AICBT_ERR("%s: Failed to get bt sdio driver data[Null]", __func__); + mdelay(URB_CANCELING_DELAY_MS); + return POLLOUT | POLLWRNORM; + } +#endif + + if (!is_queue_empty()) + return POLLIN | POLLRDNORM; + + return POLLOUT | POLLWRNORM; +} +static long btchr_ioctl(struct file *file_p,unsigned int cmd, unsigned long arg) +{ + int ret = 0; + struct hci_dev *hdev; + struct btusb_data *data; + //firmware_info *fw_info; + + /*if(!bt_char_dev_registered) { + return -ENODEV; + }*/ + + printk("%s cmd support %d \n",__func__,cmd); + +#if 1 + if(check_set_dlfw_state_value(1) != 1) { + AICBT_ERR("%s bt controller is disconnecting!", __func__); + return 0; + } + + hdev = hci_dev_get(0); + if(!hdev) { + AICBT_ERR("%s device is NULL!", __func__); + set_dlfw_state_value(0); + return 0; + } + //data = GET_DRV_DATA(hdev); + //fw_info = data->fw_info; + + AICBT_INFO(" btchr_ioctl DOWN_FW_CFG with Cmd:%d",cmd); + switch (cmd) { + case DOWN_FW_CFG: + AICBT_INFO(" btchr_ioctl DOWN_FW_CFG"); + /*ret = usb_autopm_get_interface(data->intf); + if (ret < 0){ + goto failed; + }*/ + + //ret = download_patch(fw_info,1); + /*usb_autopm_put_interface(data->intf); + if(ret < 0){ + AICBT_ERR("%s:Failed in download_patch with ret:%d",__func__,ret); + goto failed; + } + + ret = hdev->open(hdev); + if(ret < 0){ + AICBT_ERR("%s:Failed in hdev->open(hdev):%d",__func__,ret); + goto failed; + }*/ + set_bit(HCI_UP, &hdev->flags); + set_dlfw_state_value(0); + wake_up_interruptible(&bt_dlfw_wait); + return 1; + case DWFW_CMPLT: + AICBT_INFO(" btchr_ioctl DWFW_CMPLT"); +#if 1 + case SET_ISO_CFG: + AICBT_INFO("btchr_ioctl SET_ISO_CFG"); + if(copy_from_user(&(hdev->voice_setting), (__u16*)arg, sizeof(__u16))){ + AICBT_INFO(" voice settings err"); + } + //hdev->voice_setting = *(uint16_t*)arg; + AICBT_INFO(" voice settings = %d", hdev->voice_setting); + //return 1; +#endif + case GET_USB_INFO: + //ret = download_patch(fw_info,1); + AICBT_INFO(" btchr_ioctl GET_USB_INFO"); + /*ret = hdev->open(hdev); + if(ret < 0){ + AICBT_ERR("%s:Failed in hdev->open(hdev):%d",__func__,ret); + //goto done; + }*/ + set_bit(HCI_UP, &hdev->flags); + set_dlfw_state_value(0); + wake_up_interruptible(&bt_dlfw_wait); + return 1; + case RESET_CONTROLLER: + AICBT_INFO(" btchr_ioctl RESET_CONTROLLER"); + //reset_controller(fw_info); + return 1; + default: + AICBT_ERR("%s:Failed with wrong Cmd:%d",__func__,cmd); + goto failed; + } + failed: + set_dlfw_state_value(0); + wake_up_interruptible(&bt_dlfw_wait); + return ret; +#endif +} + +#ifdef CONFIG_PLATFORM_UBUNTU//AIDEN +typedef u32 compat_uptr_t; +static inline void __user *compat_ptr(compat_uptr_t uptr) +{ + return (void __user *)(unsigned long)uptr; +} +#endif + +#ifdef CONFIG_COMPAT +static long compat_btchr_ioctl (struct file *filp, unsigned int cmd, unsigned long arg) +{ + AICBT_DBG("%s: enter",__func__); + return btchr_ioctl(filp, cmd, (unsigned long) compat_ptr(arg)); +} +#endif +static struct file_operations bt_chrdev_ops = { + open : btchr_open, + release : btchr_close, + read : btchr_read, + write : btchr_write, + poll : btchr_poll, + unlocked_ioctl : btchr_ioctl, +#ifdef CONFIG_COMPAT + compat_ioctl : compat_btchr_ioctl, +#endif +}; + +int btchr_init() +{ + int res = 0; + struct device *dev; + + AICBT_INFO("Register sdio char device interface for BT driver"); + /* + * btchr mutex is used to sync between + * 1) downloading patch and opening bt char driver + * 2) the file operations of bt char driver + */ + mutex_init(&btchr_mutex); + + skb_queue_head_init(&btchr_readq); + init_waitqueue_head(&btchr_read_wait); + init_waitqueue_head(&bt_dlfw_wait); + + bt_char_class = class_create(THIS_MODULE, BT_CHAR_DEVICE_NAME); + if (IS_ERR(bt_char_class)) { + AICBT_ERR("Failed to create bt char class"); + return PTR_ERR(bt_char_class); + } + + res = alloc_chrdev_region(&bt_devid, 0, 1, BT_CHAR_DEVICE_NAME); + if (res < 0) { + AICBT_ERR("Failed to allocate bt char device"); + goto err_alloc; + } + + dev = device_create(bt_char_class, NULL, bt_devid, NULL, BT_CHAR_DEVICE_NAME); + if (IS_ERR(dev)) { + AICBT_ERR("Failed to create bt char device"); + res = PTR_ERR(dev); + goto err_create; + } + + cdev_init(&bt_char_dev, &bt_chrdev_ops); + res = cdev_add(&bt_char_dev, bt_devid, 1); + if (res < 0) { + AICBT_ERR("Failed to add bt char device"); + goto err_add; + } + + return 0; + +err_add: + device_destroy(bt_char_class, bt_devid); +err_create: + unregister_chrdev_region(bt_devid, 1); +err_alloc: + class_destroy(bt_char_class); + return res; +} + +void btchr_exit(void) +{ + AICBT_INFO("Unregister sdio char device interface for BT driver"); + + device_destroy(bt_char_class, bt_devid); + cdev_del(&bt_char_dev); + unregister_chrdev_region(bt_devid, 1); + class_destroy(bt_char_class); + + return; +} + +int hdev_init(void) +{ + struct hci_dev *hdev; + int err=0; + hdev = hci_alloc_dev(); + + err = hci_register_dev(hdev); + if (err < 0) { + hci_free_dev(hdev); + hdev = NULL; + return err; + } + + spin_lock_init(&queue_lock); + + return 0; +} + +void hdev_exit(void) +{ + struct hci_dev *hdev; + hdev = ghdev; + hci_unregister_dev(hdev); + hci_free_dev(hdev); +} + diff --git a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/aic_btsdio.h b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/aic_btsdio.h new file mode 100755 index 000000000..719c2c6bc --- /dev/null +++ b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/aic_btsdio.h @@ -0,0 +1,549 @@ +#ifndef _AICWF_SDIO_BT_H_ +#define _AICWF_SDIO_BT_H_ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + + +#ifdef CONFIG_PLATFORM_UBUNTU +#define CONFIG_BLUEDROID 1 /* bleuz 0, bluedroid 1 */ +#else +#define CONFIG_BLUEDROID 1 /* bleuz 0, bluedroid 1 */ +#endif +/* #define HCI_VERSION_CODE KERNEL_VERSION(3, 14, 41) */ +#define HCI_VERSION_CODE LINUX_VERSION_CODE + + +#define PRINT_CMD_EVENT 1 +#define PRINT_ACL_DATA 1 +#define PRINT_SCO_DATA 1 + +#define AICBT_DBG_FLAG 1 + +#if AICBT_DBG_FLAG +#define AICBT_DBG(fmt, arg...) printk( "aic_btsdio: " fmt "\n" , ## arg) +#else +#define AICBT_DBG(fmt, arg...) +#endif + +#define AICBT_INFO(fmt, arg...) printk("aic_btsdio: " fmt "\n" , ## arg) +#define AICBT_WARN(fmt, arg...) printk("aic_btsdio: " fmt "\n" , ## arg) +#define AICBT_ERR(fmt, arg...) printk("aic_btsdio: " fmt "\n" , ## arg) + +#if LINUX_VERSION_CODE > KERNEL_VERSION(3, 4, 0) +#define GET_DRV_DATA(x) hci_get_drvdata(x) +#else +#define GET_DRV_DATA(x) x->driver_data +#endif + +struct btusb_data { + struct hci_dev *hdev; + //struct usb_device *udev; + //struct usb_interface *intf; + //struct usb_interface *isoc; + + spinlock_t lock; + + unsigned long flags; + + struct work_struct work; + struct work_struct waker; + + /*struct usb_anchor tx_anchor; + struct usb_anchor intr_anchor; + struct usb_anchor bulk_anchor; + struct usb_anchor isoc_anchor; + struct usb_anchor deferred;*/ + int tx_in_flight; + spinlock_t txlock; + +#if (CONFIG_BLUEDROID == 0) +#if HCI_VERSION_CODE >= KERNEL_VERSION(3, 18, 0) + spinlock_t rxlock; + struct sk_buff *evt_skb; + struct sk_buff *acl_skb; + struct sk_buff *sco_skb; +#endif +#endif + + /*struct usb_endpoint_descriptor *intr_ep; + struct usb_endpoint_descriptor *bulk_tx_ep; + struct usb_endpoint_descriptor *bulk_rx_ep; + struct usb_endpoint_descriptor *isoc_tx_ep; + struct usb_endpoint_descriptor *isoc_rx_ep;*/ + + __u8 cmdreq_type; + + unsigned int sco_num; + int isoc_altsetting; + int suspend_count; + uint16_t sco_handle; + +#if (CONFIG_BLUEDROID == 0) +#if HCI_VERSION_CODE >= KERNEL_VERSION(3, 18, 0) + int (*recv_bulk) (struct btusb_data * data, void *buffer, int count); +#endif +#endif + +//#ifdef CONFIG_HAS_EARLYSUSPEND +#if 0 + struct early_suspend early_suspend; +#else + struct notifier_block pm_notifier; + struct notifier_block reboot_notifier; +#endif + //firmware_info *fw_info; + +#ifdef CONFIG_SCO_OVER_HCI + AIC_sco_card_t *pSCOSnd; +#endif +}; + + + +#define QUEUE_SIZE 500 + +/*************************************** +** AicSemi - Integrate from bluetooth.h ** +*****************************************/ +/* Reserv for core and drivers use */ +#define BT_SKB_RESERVE 8 + +/* BD Address */ +typedef struct { + __u8 b[6]; +} __packed bdaddr_t; + +/* Skb helpers */ +struct bt_skb_cb { + __u8 pkt_type; + __u8 incoming; + __u16 expect; + __u16 tx_seq; + __u8 retries; + __u8 sar; + __u8 force_active; +}; + +#define bt_cb(skb) ((struct bt_skb_cb *)((skb)->cb)) + + +/*********************************** +** AicSemi - Integrate from hci.h ** +***********************************/ +#define HCI_MAX_ACL_SIZE 1024 +#define HCI_MAX_SCO_SIZE 255 +#define HCI_MAX_EVENT_SIZE 260 +#define HCI_MAX_FRAME_SIZE (HCI_MAX_ACL_SIZE + 4) + +/* HCI bus types */ +#define HCI_VIRTUAL 0 +#define HCI_USB 1 +#define HCI_PCCARD 2 +#define HCI_UART 3 +#define HCI_RS232 4 +#define HCI_PCI 5 +#define HCI_SDIO 6 + +/* HCI controller types */ +#define HCI_BREDR 0x00 +#define HCI_AMP 0x01 + +/* HCI device flags */ +enum { + HCI_UP, + HCI_INIT, + HCI_RUNNING, + + HCI_PSCAN, + HCI_ISCAN, + HCI_AUTH, + HCI_ENCRYPT, + HCI_INQUIRY, + + HCI_RAW, + + HCI_RESET, +}; + +/* + * BR/EDR and/or LE controller flags: the flags defined here should represent + * states from the controller. + */ +enum { + HCI_SETUP, + HCI_AUTO_OFF, + HCI_MGMT, + HCI_PAIRABLE, + HCI_SERVICE_CACHE, + HCI_LINK_KEYS, + HCI_DEBUG_KEYS, + HCI_UNREGISTER, + + HCI_LE_SCAN, + HCI_SSP_ENABLED, + HCI_HS_ENABLED, + HCI_LE_ENABLED, + HCI_CONNECTABLE, + HCI_DISCOVERABLE, + HCI_LINK_SECURITY, + HCI_PENDING_CLASS, +}; + +/* HCI data types */ +#define HCI_COMMAND_PKT 0x01 +#define HCI_ACLDATA_PKT 0x02 +#define HCI_SCODATA_PKT 0x03 +#define HCI_EVENT_PKT 0x04 +#define HCI_VENDOR_PKT 0xff + +#define HCI_MAX_NAME_LENGTH 248 +#define HCI_MAX_EIR_LENGTH 240 + +#define HCI_OP_READ_LOCAL_VERSION 0x1001 +struct hci_rp_read_local_version { + __u8 status; + __u8 hci_ver; + __le16 hci_rev; + __u8 lmp_ver; + __le16 manufacturer; + __le16 lmp_subver; +} __packed; + +#define HCI_EV_CMD_COMPLETE 0x0e +struct hci_ev_cmd_complete { + __u8 ncmd; + __le16 opcode; +} __packed; + +/* ---- HCI Packet structures ---- */ +#define HCI_COMMAND_HDR_SIZE 3 +#define HCI_EVENT_HDR_SIZE 2 +#define HCI_ACL_HDR_SIZE 4 +#define HCI_SCO_HDR_SIZE 3 + +struct hci_command_hdr { + __le16 opcode; /* OCF & OGF */ + __u8 plen; +} __packed; + +struct hci_event_hdr { + __u8 evt; + __u8 plen; +} __packed; + +struct hci_acl_hdr { + __le16 handle; /* Handle & Flags(PB, BC) */ + __le16 dlen; +} __packed; + +struct hci_sco_hdr { + __le16 handle; + __u8 dlen; +} __packed; + +static inline struct hci_event_hdr *hci_event_hdr(const struct sk_buff *skb) +{ + return (struct hci_event_hdr *) skb->data; +} + +static inline struct hci_acl_hdr *hci_acl_hdr(const struct sk_buff *skb) +{ + return (struct hci_acl_hdr *) skb->data; +} + +static inline struct hci_sco_hdr *hci_sco_hdr(const struct sk_buff *skb) +{ + return (struct hci_sco_hdr *) skb->data; +} + +/* ---- HCI Ioctl requests structures ---- */ +struct hci_dev_stats { + __u32 err_rx; + __u32 err_tx; + __u32 cmd_tx; + __u32 evt_rx; + __u32 acl_tx; + __u32 acl_rx; + __u32 sco_tx; + __u32 sco_rx; + __u32 byte_rx; + __u32 byte_tx; +}; +/* AicSemi - Integrate from hci.h end */ + +/***************************************** +** AicSemi - Integrate from hci_core.h ** +*****************************************/ +struct hci_conn_hash { + struct list_head list; + unsigned int acl_num; + unsigned int sco_num; + unsigned int le_num; +}; + +#define HCI_MAX_SHORT_NAME_LENGTH 10 + +#define NUM_REASSEMBLY 4 +struct hci_dev { + struct mutex lock; + + char name[8]; + unsigned long flags; + __u16 id; + __u8 bus; + __u8 dev_type; + + struct sk_buff *reassembly[NUM_REASSEMBLY]; + + struct hci_conn_hash conn_hash; + + struct hci_dev_stats stat; + +#if LINUX_VERSION_CODE <= KERNEL_VERSION(3, 4, 0) + atomic_t refcnt; + struct module *owner; + void *driver_data; +#endif + + atomic_t promisc; + + struct device *parent; + struct device dev; + + unsigned long dev_flags; + + int (*open)(struct hci_dev *hdev); + int (*close)(struct hci_dev *hdev); + int (*flush)(struct hci_dev *hdev); + int (*send)(struct sk_buff *skb); +#if LINUX_VERSION_CODE <= KERNEL_VERSION(3, 4, 0) + void (*destruct)(struct hci_dev *hdev); +#endif +#if LINUX_VERSION_CODE > KERNEL_VERSION(3, 7, 1) + __u16 voice_setting; +#endif + void (*notify)(struct hci_dev *hdev, unsigned int evt); + int (*ioctl)(struct hci_dev *hdev, unsigned int cmd, unsigned long arg); + u8 *align_data; +}; + +#if LINUX_VERSION_CODE <= KERNEL_VERSION(3, 4, 0) +static inline struct hci_dev *__hci_dev_hold(struct hci_dev *d) +{ + atomic_inc(&d->refcnt); + return d; +} + +static inline void __hci_dev_put(struct hci_dev *d) +{ + if (atomic_dec_and_test(&d->refcnt)) + d->destruct(d); +} +#endif + +static inline void *hci_get_drvdata(struct hci_dev *hdev) +{ + return dev_get_drvdata(&hdev->dev); +} + +static inline void hci_set_drvdata(struct hci_dev *hdev, void *data) +{ + dev_set_drvdata(&hdev->dev, data); +} + +#define SET_HCIDEV_DEV(hdev, pdev) ((hdev)->parent = (pdev)) + + +/* ---- HCI Packet structures ---- */ +#define HCI_COMMAND_HDR_SIZE 3 +#define HCI_EVENT_HDR_SIZE 2 +#define HCI_ACL_HDR_SIZE 4 +#define HCI_SCO_HDR_SIZE 3 + +/* ----- HCI Commands ---- */ +#define HCI_OP_INQUIRY 0x0401 +#define HCI_OP_INQUIRY_CANCEL 0x0402 +#define HCI_OP_EXIT_PERIODIC_INQ 0x0404 +#define HCI_OP_CREATE_CONN 0x0405 +#define HCI_OP_DISCONNECT 0x0406 +#define HCI_OP_ADD_SCO 0x0407 +#define HCI_OP_CREATE_CONN_CANCEL 0x0408 +#define HCI_OP_ACCEPT_CONN_REQ 0x0409 +#define HCI_OP_REJECT_CONN_REQ 0x040a +#define HCI_OP_LINK_KEY_REPLY 0x040b +#define HCI_OP_LINK_KEY_NEG_REPLY 0x040c +#define HCI_OP_PIN_CODE_REPLY 0x040d +#define HCI_OP_PIN_CODE_NEG_REPLY 0x040e +#define HCI_OP_CHANGE_CONN_PTYPE 0x040f +#define HCI_OP_AUTH_REQUESTED 0x0411 +#define HCI_OP_SET_CONN_ENCRYPT 0x0413 +#define HCI_OP_CHANGE_CONN_LINK_KEY 0x0415 +#define HCI_OP_REMOTE_NAME_REQ 0x0419 +#define HCI_OP_REMOTE_NAME_REQ_CANCEL 0x041a +#define HCI_OP_READ_REMOTE_FEATURES 0x041b +#define HCI_OP_READ_REMOTE_EXT_FEATURES 0x041c +#define HCI_OP_READ_REMOTE_VERSION 0x041d +#define HCI_OP_SETUP_SYNC_CONN 0x0428 +#define HCI_OP_ACCEPT_SYNC_CONN_REQ 0x0429 +#define HCI_OP_REJECT_SYNC_CONN_REQ 0x042a +#define HCI_OP_SNIFF_MODE 0x0803 +#define HCI_OP_EXIT_SNIFF_MODE 0x0804 +#define HCI_OP_ROLE_DISCOVERY 0x0809 +#define HCI_OP_SWITCH_ROLE 0x080b +#define HCI_OP_READ_LINK_POLICY 0x080c +#define HCI_OP_WRITE_LINK_POLICY 0x080d +#define HCI_OP_READ_DEF_LINK_POLICY 0x080e +#define HCI_OP_WRITE_DEF_LINK_POLICY 0x080f +#define HCI_OP_SNIFF_SUBRATE 0x0811 +#define HCI_OP_Write_Link_Policy_Settings 0x080d +#define HCI_OP_SET_EVENT_MASK 0x0c01 +#define HCI_OP_RESET 0x0c03 +#define HCI_OP_SET_EVENT_FLT 0x0c05 +#define HCI_OP_Write_Extended_Inquiry_Response 0x0c52 +#define HCI_OP_Write_Simple_Pairing_Mode 0x0c56 +#define HCI_OP_Read_Buffer_Size 0x1005 +#define HCI_OP_Host_Buffer_Size 0x0c33 +#define HCI_OP_Read_Local_Version_Information 0x1001 +#define HCI_OP_Read_BD_ADDR 0x1009 +#define HCI_OP_Read_Local_Supported_Commands 0x1002 +#define HCI_OP_Write_Scan_Enable 0x0c1a +#define HCI_OP_Write_Current_IAC_LAP 0x0c3a +#define HCI_OP_Write_Inquiry_Scan_Activity 0x0c1e +#define HCI_OP_Write_Class_of_Device 0x0c24 +#define HCI_OP_LE_Rand 0x2018 +#define HCI_OP_LE_Set_Random_Address 0x2005 +#define HCI_OP_LE_Set_Extended_Scan_Enable 0x2042 +#define HCI_OP_LE_Set_Extended_Scan_Parameters 0x2041 +#define HCI_OP_Set_Event_Filter 0x0c05 +#define HCI_OP_Write_Voice_Setting 0x0c26 +#define HCI_OP_Change_Local_Name 0x0c13 +#define HCI_OP_Read_Local_Name 0x0c14 +#define HCI_OP_Wirte_Page_Timeout 0x0c18 +#define HCI_OP_LE_Clear_Resolving_List 0x0c29 +#define HCI_OP_LE_Set_Addres_Resolution_Enable_Command 0x0c2e +#define HCI_OP_Write_Inquiry_mode 0x0c45 +#define HCI_OP_Write_Page_Scan_Type 0x0c47 +#define HCI_OP_Write_Inquiry_Scan_Type 0x0c43 + +#define HCI_OP_Delete_Stored_Link_Key 0x0c12 +#define HCI_OP_LE_Read_Local_Resolvable_Address 0x202d +#define HCI_OP_LE_Extended_Create_Connection 0x2043 +#define HCI_OP_Read_Remote_Version_Information 0x041d +#define HCI_OP_LE_Start_Encryption 0x2019 +#define HCI_OP_LE_Add_Device_to_Resolving_List 0x2027 +#define HCI_OP_LE_Set_Privacy_Mode 0x204e +#define HCI_OP_LE_Connection_Update 0x2013 + +/* ----- HCI events---- */ +#define HCI_OP_DISCONNECT 0x0406 +#define HCI_EV_INQUIRY_COMPLETE 0x01 +#define HCI_EV_INQUIRY_RESULT 0x02 +#define HCI_EV_CONN_COMPLETE 0x03 +#define HCI_EV_CONN_REQUEST 0x04 +#define HCI_EV_DISCONN_COMPLETE 0x05 +#define HCI_EV_AUTH_COMPLETE 0x06 +#define HCI_EV_REMOTE_NAME 0x07 +#define HCI_EV_ENCRYPT_CHANGE 0x08 +#define HCI_EV_CHANGE_LINK_KEY_COMPLETE 0x09 + +#define HCI_EV_REMOTE_FEATURES 0x0b +#define HCI_EV_REMOTE_VERSION 0x0c +#define HCI_EV_QOS_SETUP_COMPLETE 0x0d +#define HCI_EV_CMD_COMPLETE 0x0e +#define HCI_EV_CMD_STATUS 0x0f + +#define HCI_EV_ROLE_CHANGE 0x12 +#define HCI_EV_NUM_COMP_PKTS 0x13 +#define HCI_EV_MODE_CHANGE 0x14 +#define HCI_EV_PIN_CODE_REQ 0x16 +#define HCI_EV_LINK_KEY_REQ 0x17 +#define HCI_EV_LINK_KEY_NOTIFY 0x18 +#define HCI_EV_CLOCK_OFFSET 0x1c +#define HCI_EV_PKT_TYPE_CHANGE 0x1d +#define HCI_EV_PSCAN_REP_MODE 0x20 + +#define HCI_EV_INQUIRY_RESULT_WITH_RSSI 0x22 +#define HCI_EV_REMOTE_EXT_FEATURES 0x23 +#define HCI_EV_SYNC_CONN_COMPLETE 0x2c +#define HCI_EV_SYNC_CONN_CHANGED 0x2d +#define HCI_EV_SNIFF_SUBRATE 0x2e +#define HCI_EV_EXTENDED_INQUIRY_RESULT 0x2f +#define HCI_EV_IO_CAPA_REQUEST 0x31 +#define HCI_EV_SIMPLE_PAIR_COMPLETE 0x36 +#define HCI_EV_REMOTE_HOST_FEATURES 0x3d +#define HCI_EV_LE_Meta 0x3e + +/* ULP Event sub code */ +#define HCI_BLE_CONN_COMPLETE_EVT 0x01 +#define HCI_BLE_ADV_PKT_RPT_EVT 0x02 +#define HCI_BLE_LL_CONN_PARAM_UPD_EVT 0x03 +#define HCI_BLE_READ_REMOTE_FEAT_CMPL_EVT 0x04 +#define HCI_BLE_LTK_REQ_EVT 0x05 +#define HCI_BLE_RC_PARAM_REQ_EVT 0x06 +#define HCI_BLE_DATA_LENGTH_CHANGE_EVT 0x07 +#define HCI_BLE_ENHANCED_CONN_COMPLETE_EVT 0x0a +#define HCI_BLE_DIRECT_ADV_EVT 0x0b +#define HCI_BLE_PHY_UPDATE_COMPLETE_EVT 0x0c +#define HCI_LE_EXTENDED_ADVERTISING_REPORT_EVT 0x0D +#define HCI_BLE_PERIODIC_ADV_SYNC_EST_EVT 0x0E +#define HCI_BLE_PERIODIC_ADV_REPORT_EVT 0x0F +#define HCI_BLE_PERIODIC_ADV_SYNC_LOST_EVT 0x10 +#define HCI_BLE_SCAN_TIMEOUT_EVT 0x11 +#define HCI_LE_ADVERTISING_SET_TERMINATED_EVT 0x12 +#define HCI_BLE_SCAN_REQ_RX_EVT 0x13 +#define HCI_BLE_CIS_EST_EVT 0x19 +#define HCI_BLE_CIS_REQ_EVT 0x1a +#define HCI_BLE_CREATE_BIG_CPL_EVT 0x1b +#define HCI_BLE_TERM_BIG_CPL_EVT 0x1c +#define HCI_BLE_BIG_SYNC_EST_EVT 0x1d +#define HCI_BLE_BIG_SYNC_LOST_EVT 0x1e +#define HCI_BLE_REQ_PEER_SCA_CPL_EVT 0x1f + +#define HCI_VENDOR_SPECIFIC_EVT 0xFF /* Vendor specific events */ + +#define CONFIG_MAC_OFFSET_GEN_1_2 (0x3C) //MAC's OFFSET in config/efuse for aic generation 1~2 bluetooth chip +#define CONFIG_MAC_OFFSET_GEN_3PLUS (0x44) //MAC's OFFSET in config/efuse for aic generation 3+ bluetooth chip + +//Define ioctl cmd the same as HCIDEVUP in the kernel +#define DOWN_FW_CFG _IOW('E', 176, int) +//#ifdef CONFIG_SCO_OVER_HCI +//#define SET_ISO_CFG _IOW('H', 202, int) +//#else +#define SET_ISO_CFG _IOW('E', 177, int) +//#endif +#define RESET_CONTROLLER _IOW('E', 178, int) +#define DWFW_CMPLT _IOW('E', 179, int) + +#define GET_USB_INFO _IOR('E', 180, int) + +void bt_data_dump(char* tag, void* data, unsigned long len); +int aic_enqueue(struct sk_buff *skb); +int aic_queue_cnt(void); +int bt_sdio_recv(u8 *data,u32 data_len); + + +int btchr_init(void); +void btchr_exit(void); +int hdev_init(void); +void hdev_exit(void); + + +struct hci_dev *hci_dev_get(int index); +int hci_recv_fragment(struct hci_dev *hdev, int type, void *data, int count); + +#endif//_AICWF_SDIO_BT_H_ + diff --git a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/aic_priv_cmd.c b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/aic_priv_cmd.c new file mode 100755 index 000000000..386a2d5c0 --- /dev/null +++ b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/aic_priv_cmd.c @@ -0,0 +1,1776 @@ +/** + ****************************************************************************** + * + * @file aic_priv_cmd.c + * + * @brief Entry point of the AIC driver + * + * Copyright (C) Aicsemi 2018-2024 + * + ****************************************************************************** + */ + +#include +#include +#include "rwnx_defs.h" +#include "rwnx_msg_tx.h" +#include "rwnx_debugfs.h" +#include "rwnx_main.h" +#include "aicwf_sdio.h" +#include "aic_priv_cmd.h" + +extern int testmode; +static void print_help(const char *cmd); +struct dbg_rftest_cmd_cfm cfm = {{0,}}; + +#ifdef CONFIG_RFTEST +enum { + SET_TX, + SET_TXSTOP, + SET_TXTONE, + SET_RX, + GET_RX_RESULT, + SET_RXSTOP, + SET_RX_METER, + SET_POWER, + SET_XTAL_CAP, + SET_XTAL_CAP_FINE, + GET_EFUSE_BLOCK, + SET_FREQ_CAL, + SET_FREQ_CAL_FINE, + GET_FREQ_CAL, + SET_MAC_ADDR, + GET_MAC_ADDR, + SET_BT_MAC_ADDR, + GET_BT_MAC_ADDR, + SET_VENDOR_INFO, + GET_VENDOR_INFO, + RDWR_PWRMM, + RDWR_PWRIDX, + RDWR_PWRLVL = RDWR_PWRIDX, + RDWR_PWROFST, + RDWR_DRVIBIT, + RDWR_EFUSE_PWROFST, + RDWR_EFUSE_DRVIBIT, + SET_PAPR, + SET_CAL_XTAL, + GET_CAL_XTAL_RES, + SET_COB_CAL, + GET_COB_CAL_RES, + RDWR_EFUSE_USRDATA, + SET_NOTCH, + RDWR_PWROFSTFINE, + RDWR_EFUSE_PWROFSTFINE, + RDWR_EFUSE_SDIOCFG, + RDWR_EFUSE_USBVIDPID, + SET_SRRC, + SET_FSS, + RDWR_EFUSE_HE_OFF, + SET_USB_OFF, + SET_PLL_TEST, + +}; + +typedef struct { + u8_l chan; + u8_l bw; + u8_l mode; + u8_l rate; + u16_l length; + u16_l tx_intv_us; + s8_l max_pwr; +} cmd_rf_settx_t; + +typedef struct { + u8_l val; +} cmd_rf_setfreq_t; + +typedef struct { + u8_l chan; + u8_l bw; +} cmd_rf_rx_t; + +typedef struct { + u8_l block; +} cmd_rf_getefuse_t; + +typedef struct { + u8_l dutid; + u8_l chip_num; + u8_l dis_xtal; +} cmd_rf_setcobcal_t; + +typedef struct { + u16_l dut_rcv_golden_num; + u8_l golden_rcv_dut_num; + s8_l rssi_static; + s8_l snr_static; + s8_l dut_rssi_static; + u16_l reserved; +} cob_result_ptr_t; +#endif + +typedef struct +{ + u8_l func; + u8_l cnt; + u8_l reserved[2]; + u32_l usrdata[3]; // 3 words totally +} cmd_ef_usrdata_t; + +#define CMD_MAXARGS 10 +#define POWER_LEVEL_INVALID_VAL (127) + +#if 0//#include +#define isblank(c) ((c) == ' ' || (c) == '\t') +#define isascii(c) (((unsigned char)(c)) <= 0x7F) + +static int isdigit(unsigned char c) +{ + return ((c >= '0') && (c <='9')); +} + +static int isxdigit(unsigned char c) +{ + if ((c >= '0') && (c <='9')) + return 1; + if ((c >= 'a') && (c <='f')) + return 1; + if ((c >= 'A') && (c <='F')) + return 1; + return 0; +} + +static int islower(unsigned char c) +{ + return ((c >= 'a') && (c <='z')); +} + +static unsigned char toupper(unsigned char c) +{ + if (islower(c)) + c -= 'a'-'A'; + return c; +} +#endif + +static int parse_line (char *line, char *argv[]) +{ + int nargs = 0; + + while (nargs < CMD_MAXARGS) { + /* skip any white space */ + while ((*line == ' ') || (*line == '\t')) { + ++line; + } + + if (*line == '\0') { /* end of line, no more args */ + argv[nargs] = 0; + return nargs; + } + + /* Argument include space should be bracketed by quotation mark */ + if (*line == '\"') { + /* Skip quotation mark */ + line++; + + /* Begin of argument string */ + argv[nargs++] = line; + + /* Until end of argument */ + while (*line && (*line != '\"')) { + ++line; + } + } else { + argv[nargs++] = line; /* begin of argument string */ + + /* find end of string */ + while (*line && (*line != ' ') && (*line != '\t')) { + ++line; + } + } + + if (*line == '\0') { /* end of line, no more args */ + argv[nargs] = 0; + return nargs; + } + + *line++ = '\0'; /* terminate current arg */ + } + + printk("** Too many args (max. %d) **\n", CMD_MAXARGS); + + return nargs; +} + +unsigned int command_strtoul(const char *cp, char **endp, unsigned int base) +{ + unsigned int result = 0, value, is_neg = 0; + + if (*cp == '0') { + cp++; + if ((*cp == 'x') && isxdigit(cp[1])) { + base = 16; + cp++; + } + if (!base) { + base = 8; + } + } + if (!base) { + base = 10; + } + if (*cp == '-') { + is_neg = 1; + cp++; + } + while (isxdigit(*cp) && (value = isdigit(*cp) ? *cp - '0' : (islower(*cp) ? toupper(*cp) : *cp) - 'A' + 10) < base) { + result = result * base + value; + cp++; + } + if (is_neg) + result = (unsigned int)((int)result * (-1)); + + if (endp) + *endp = (char *)cp; + return result; +} + +/* + * aic_priv_cmd handers. + */ +static int aic_priv_cmd_set_tx (struct rwnx_hw *rwnx_hw, int argc, char *argv[], char *command) +{ + cmd_rf_settx_t settx_param; + + if (argc < 6) + return -EINVAL; + + settx_param.chan = command_strtoul(argv[1], NULL, 10); + settx_param.bw = command_strtoul(argv[2], NULL, 10); + settx_param.mode = command_strtoul(argv[3], NULL, 10); + settx_param.rate = command_strtoul(argv[4], NULL, 10); + settx_param.length = command_strtoul(argv[5], NULL, 10); + if (argc > 6) { + settx_param.tx_intv_us = command_strtoul(argv[6], NULL, 10); + } else { + settx_param.tx_intv_us = 10000; // set default val 10ms + } + settx_param.max_pwr = POWER_LEVEL_INVALID_VAL; + AICWFDBG(LOGINFO, "txparam:%d,%d,%d,%d,%d,%d\n", settx_param.chan, settx_param.bw, + settx_param.mode, settx_param.rate, settx_param.length, settx_param.tx_intv_us); + rwnx_send_rftest_req(rwnx_hw, SET_TX, sizeof(cmd_rf_settx_t), (u8_l *)&settx_param, NULL); + return 0; +} + +static int aic_priv_cmd_set_txstop (struct rwnx_hw *rwnx_hw, int argc, char *argv[], char *command) +{ + rwnx_send_rftest_req(rwnx_hw, SET_TXSTOP, 0, NULL, NULL); + return 0; +} + +static int aic_priv_cmd_set_rx (struct rwnx_hw *rwnx_hw, int argc, char *argv[], char *command) +{ + cmd_rf_rx_t setrx_param; + + if (argc < 3) { + return -EINVAL; + } + setrx_param.chan = command_strtoul(argv[1], NULL, 10); + setrx_param.bw = command_strtoul(argv[2], NULL, 10); + rwnx_send_rftest_req(rwnx_hw, SET_RX, sizeof(cmd_rf_rx_t), (u8_l *)&setrx_param, NULL); + return 0; +} + +static int aic_priv_cmd_get_rx_result (struct rwnx_hw *rwnx_hw, int argc, char *argv[], char *command) +{ + rwnx_send_rftest_req(rwnx_hw, GET_RX_RESULT, 0, NULL, &cfm); + memcpy(command, &cfm.rftest_result[0], 8); + return 8; +} + +static int aic_priv_cmd_set_rxstop (struct rwnx_hw *rwnx_hw, int argc, char *argv[], char *command) +{ + rwnx_send_rftest_req(rwnx_hw, SET_RXSTOP, 0, NULL, NULL); + return 0; +} + +static int aic_priv_cmd_set_tx_tone (struct rwnx_hw *rwnx_hw, int argc, char *argv[], char *command) +{ + u8_l func = 0; + u8_l buf[2]; + s8_l freq_ = 0; + + AICWFDBG(LOGINFO, "%s argc:%d\n", argv[0], argc); + if ((argc == 2) || (argc == 3)) { + AICWFDBG(LOGINFO, "argv 1:%s\n",argv[1]); + func = (u8_l)command_strtoul(argv[1], NULL, 16); + if (argc == 3) { + AICWFDBG(LOGINFO, "argv 2:%s\n",argv[2]); + freq_ = (u8_l)command_strtoul(argv[2], NULL, 10); + } else { + freq_ = 0; + }; + buf[0] = func; + buf[1] = (u8_l)freq_; + rwnx_send_rftest_req(rwnx_hw, SET_TXTONE, argc - 1, buf, NULL); + } else { + return -EINVAL; + } + return 0; +} + +static int aic_priv_cmd_set_rx_meter (struct rwnx_hw *rwnx_hw, int argc, char *argv[], char *command) +{ + s8_l freq = 0; + + freq = (int)command_strtoul(argv[1], NULL, 10); + rwnx_send_rftest_req(rwnx_hw, SET_RX_METER, sizeof(freq), (u8_l *)&freq, NULL); + return 0; +} + +static int aic_priv_cmd_set_set_power (struct rwnx_hw *rwnx_hw, int argc, char *argv[], char *command) +{ + u8_l ana_pwr; + u8_l dig_pwr; + u8_l pwr; +#ifdef AICWF_SDIO_SUPPORT + struct aic_sdio_dev *dev = g_rwnx_plat->sdiodev; +#endif +#ifdef AICWF_USB_SUPPORT + struct aic_usb_dev *dev = g_rwnx_plat->usbdev; +#endif + + if (dev->chipid == PRODUCT_ID_AIC8801) { + ana_pwr = command_strtoul(argv[1], NULL, 16); + dig_pwr = command_strtoul(argv[2], NULL, 16); + pwr = (ana_pwr << 4 | dig_pwr); + if (ana_pwr > 0xf || dig_pwr > 0xf) + return -EINVAL; + } else { + ana_pwr = command_strtoul(argv[1], NULL, 10); + pwr = ana_pwr; + if (ana_pwr > 0x1e) + return -EINVAL; + } + AICWFDBG(LOGINFO, "pwr =%x\r\n", pwr); + rwnx_send_rftest_req(rwnx_hw, SET_POWER, sizeof(pwr), (u8_l *)&pwr, NULL); + return 0; +} + +static int aic_priv_cmd_set_xtal_cap (struct rwnx_hw *rwnx_hw, int argc, char *argv[], char *command) +{ + u8_l xtal_cap; + + if (argc < 2) + return -EINVAL; + + xtal_cap = command_strtoul(argv[1], NULL, 10); + AICWFDBG(LOGINFO, "xtal_cap =%x\r\n", xtal_cap); + rwnx_send_rftest_req(rwnx_hw, SET_XTAL_CAP, sizeof(xtal_cap), (u8_l *)&xtal_cap, &cfm); + memcpy(command, &cfm.rftest_result[0], 4); + return 4; +} + +static int aic_priv_cmd_set_xtal_cap_fine (struct rwnx_hw *rwnx_hw, int argc, char *argv[], char *command) +{ + u8_l xtal_cap_fine; + + if (argc < 2) + return -EINVAL; + + xtal_cap_fine = command_strtoul(argv[1], NULL, 10); + AICWFDBG(LOGINFO, "xtal_cap =%x\r\n", xtal_cap_fine); + rwnx_send_rftest_req(rwnx_hw, SET_XTAL_CAP, sizeof(xtal_cap_fine), (u8_l *)&xtal_cap_fine, &cfm); + memcpy(command, &cfm.rftest_result[0], 4); + return 4; +} + +static int aic_priv_cmd_get_efuse_block (struct rwnx_hw *rwnx_hw, int argc, char *argv[], char *command) +{ + cmd_rf_getefuse_t getefuse_param; + + if (argc < 2) + return -EINVAL; + + getefuse_param.block = command_strtoul(argv[1], NULL, 10); + rwnx_send_rftest_req(rwnx_hw, GET_EFUSE_BLOCK, sizeof(cmd_rf_getefuse_t), (u8_l *)&getefuse_param, &cfm); + AICWFDBG(LOGINFO, "get val=%x\r\n", cfm.rftest_result[0]); + memcpy(command, &cfm.rftest_result[0], 4); + return 4; +} + +static int aic_priv_cmd_set_freq_cal (struct rwnx_hw *rwnx_hw, int argc, char *argv[], char *command) +{ + cmd_rf_setfreq_t cmd_setfreq; + + if (argc < 2) + return -EINVAL; + + cmd_setfreq.val = command_strtoul(argv[1], NULL, 16); + AICWFDBG(LOGINFO, "param:%x\r\n", cmd_setfreq.val); + rwnx_send_rftest_req(rwnx_hw, SET_FREQ_CAL, sizeof(cmd_rf_setfreq_t), (u8_l *)&cmd_setfreq, &cfm); + memcpy(command, &cfm.rftest_result[0], 4); + return 4; +} + +static int aic_priv_cmd_set_freq_cal_fine (struct rwnx_hw *rwnx_hw, int argc, char *argv[], char *command) +{ + cmd_rf_setfreq_t cmd_setfreq; + + if (argc < 2) + return -EINVAL; + + cmd_setfreq.val = command_strtoul(argv[1], NULL, 16); + AICWFDBG(LOGINFO, "param:%x\r\n", cmd_setfreq.val); + rwnx_send_rftest_req(rwnx_hw, SET_FREQ_CAL_FINE, sizeof(cmd_rf_setfreq_t), (u8_l *)&cmd_setfreq, &cfm); + memcpy(command, &cfm.rftest_result[0], 4); + return 4; +} + +static int aic_priv_cmd_get_freq_cal (struct rwnx_hw *rwnx_hw, int argc, char *argv[], char *command) +{ + u8_l val; +#ifdef AICWF_SDIO_SUPPORT + struct aic_sdio_dev *dev = g_rwnx_plat->sdiodev; +#endif +#ifdef AICWF_USB_SUPPORT + struct aic_usb_dev *dev = g_rwnx_plat->usbdev; +#endif + + rwnx_send_rftest_req(rwnx_hw, GET_FREQ_CAL, 0, NULL, &cfm); + memcpy(command, &cfm.rftest_result[0], 4); + val = cfm.rftest_result[0]; + if ((dev->chipid == PRODUCT_ID_AIC8800DC) || (dev->chipid == PRODUCT_ID_AIC8800DW)) { + AICWFDBG(LOGINFO, "cap=0x%x (remain:%x), cap_fine=%x (remain:%x)\n", + val & 0xff, (val >> 8) & 0xff, (val >> 16) & 0xff, (val >> 24) & 0xff); + } else { + AICWFDBG(LOGINFO, "cap=0x%x, cap_fine=0x%x\n", val & 0xff, (val >> 8) & 0xff); + } + return 4; +} + +static int aic_priv_cmd_set_mac_addr (struct rwnx_hw *rwnx_hw, int argc, char *argv[], char *command) +{ + u8_l mac_addr[6]; + + if (argc < 7) + return -EINVAL; + + mac_addr[5] = command_strtoul(argv[1], NULL, 16); + mac_addr[4] = command_strtoul(argv[2], NULL, 16); + mac_addr[3] = command_strtoul(argv[3], NULL, 16); + mac_addr[2] = command_strtoul(argv[4], NULL, 16); + mac_addr[1] = command_strtoul(argv[5], NULL, 16); + mac_addr[0] = command_strtoul(argv[6], NULL, 16); + AICWFDBG(LOGINFO, "set macaddr:%x,%x,%x,%x,%x,%x\n", mac_addr[5], mac_addr[4], mac_addr[3], mac_addr[2], mac_addr[1], mac_addr[0]); + rwnx_send_rftest_req(rwnx_hw, SET_MAC_ADDR, sizeof(mac_addr), (u8_l *)&mac_addr, NULL); + return 0; +} + +static int aic_priv_cmd_get_mac_addr (struct rwnx_hw *rwnx_hw, int argc, char *argv[], char *command) +{ + u32_l addr0, addr1; + int rem_cnt = 0; +#ifdef AICWF_SDIO_SUPPORT + struct aic_sdio_dev *dev = g_rwnx_plat->sdiodev; +#endif +#ifdef AICWF_USB_SUPPORT + struct aic_usb_dev *dev = g_rwnx_plat->usbdev; +#endif + + rwnx_send_rftest_req(rwnx_hw, GET_MAC_ADDR, 0, NULL, &cfm); + memcpy(command, &cfm.rftest_result[0], 8); + addr0 = cfm.rftest_result[0]; + if ((dev->chipid == PRODUCT_ID_AIC8800DC) || (dev->chipid == PRODUCT_ID_AIC8800DW)) { + rem_cnt = (cfm.rftest_result[1] >> 16) & 0x00FF; + addr1 = cfm.rftest_result[1] & 0x0000FFFF; + AICWFDBG(LOGINFO, "0x%x,0x%x (remain:%x)\n", addr0, addr1, rem_cnt); + } else { + addr1 = cfm.rftest_result[1]; + AICWFDBG(LOGINFO, "0x%x,0x%x\n", addr0, addr1); + } + return 8; +} + +static int aic_priv_cmd_set_bt_mac_addr (struct rwnx_hw *rwnx_hw, int argc, char *argv[], char *command) +{ + u8_l mac_addr[6]; + + if (argc < 7) + return -EINVAL; + + mac_addr[5] = command_strtoul(argv[1], NULL, 16); + mac_addr[4] = command_strtoul(argv[2], NULL, 16); + mac_addr[3] = command_strtoul(argv[3], NULL, 16); + mac_addr[2] = command_strtoul(argv[4], NULL, 16); + mac_addr[1] = command_strtoul(argv[5], NULL, 16); + mac_addr[0] = command_strtoul(argv[6], NULL, 16); + AICWFDBG(LOGINFO, "set bt macaddr:%x,%x,%x,%x,%x,%x\n", mac_addr[5], mac_addr[4], mac_addr[3], mac_addr[2], mac_addr[1], mac_addr[0]); + rwnx_send_rftest_req(rwnx_hw, SET_BT_MAC_ADDR, sizeof(mac_addr), (u8_l *)&mac_addr, NULL); + return 0; +} + +static int aic_priv_cmd_get_bt_mac_addr (struct rwnx_hw *rwnx_hw, int argc, char *argv[], char *command) +{ + u32_l addr0, addr1; + int rem_cnt = 0; +#ifdef AICWF_SDIO_SUPPORT + struct aic_sdio_dev *dev = g_rwnx_plat->sdiodev; +#endif +#ifdef AICWF_USB_SUPPORT + struct aic_usb_dev *dev = g_rwnx_plat->usbdev; +#endif + + rwnx_send_rftest_req(rwnx_hw, GET_BT_MAC_ADDR, 0, NULL, &cfm); + memcpy(command, &cfm.rftest_result[0], 8); + addr0 = cfm.rftest_result[0]; + if ((dev->chipid == PRODUCT_ID_AIC8800DC) || (dev->chipid == PRODUCT_ID_AIC8800DW)) { + rem_cnt = (cfm.rftest_result[1] >> 16) & 0x00FF; + addr1 = cfm.rftest_result[1] & 0x0000FFFF; + AICWFDBG(LOGINFO, "0x%x,0x%x (remain:%x)\n", addr0, addr1, rem_cnt); + } else { + addr1 = cfm.rftest_result[1]; + AICWFDBG(LOGINFO, "0x%x,0x%x\n", addr0, addr1); + } + return 8; +} + +static int aic_priv_cmd_set_vendor_info (struct rwnx_hw *rwnx_hw, int argc, char *argv[], char *command) +{ + u8_l vendor_info; +#ifdef AICWF_SDIO_SUPPORT + struct aic_sdio_dev *dev = g_rwnx_plat->sdiodev; +#endif +#ifdef AICWF_USB_SUPPORT + struct aic_usb_dev *dev = g_rwnx_plat->usbdev; +#endif + + vendor_info = command_strtoul(argv[1], NULL, 16); + AICWFDBG(LOGINFO, "set vendor info:%x\n", vendor_info); + rwnx_send_rftest_req(rwnx_hw, SET_VENDOR_INFO, 1, &vendor_info, &cfm); + if ((dev->chipid == PRODUCT_ID_AIC8800DC) || (dev->chipid == PRODUCT_ID_AIC8800DW)) { + memcpy(command, &cfm.rftest_result[0], 2); + return 2; + } else { + memcpy(command, &cfm.rftest_result[0], 1); + return 1; + } + AICWFDBG(LOGINFO, "0x%x\n", cfm.rftest_result[0]); +} + +static int aic_priv_cmd_get_vendor_info (struct rwnx_hw *rwnx_hw, int argc, char *argv[], char *command) +{ +#ifdef AICWF_SDIO_SUPPORT + struct aic_sdio_dev *dev = g_rwnx_plat->sdiodev; +#endif +#ifdef AICWF_USB_SUPPORT + struct aic_usb_dev *dev = g_rwnx_plat->usbdev; +#endif + + rwnx_send_rftest_req(rwnx_hw, GET_VENDOR_INFO, 0, NULL, &cfm); + if ((dev->chipid == PRODUCT_ID_AIC8800DC) || (dev->chipid == PRODUCT_ID_AIC8800DW)) { + memcpy(command, &cfm.rftest_result[0], 2); + return 2; + } else { + memcpy(command, &cfm.rftest_result[0], 1); + return 1; + } + AICWFDBG(LOGINFO, "0x%x\n", cfm.rftest_result[0]); +} + +static int aic_priv_cmd_rdwr_pwrmm (struct rwnx_hw *rwnx_hw, int argc, char *argv[], char *command) +{ + if (argc <= 1) { // read cur + rwnx_send_rftest_req(rwnx_hw, RDWR_PWRMM, 0, NULL, &cfm); + } else { // write + u8_l pwrmm = (u8_l)command_strtoul(argv[1], NULL, 16); + pwrmm = (pwrmm) ? 1 : 0; + AICWFDBG(LOGINFO, "set pwrmm = %x\r\n", pwrmm); + rwnx_send_rftest_req(rwnx_hw, RDWR_PWRMM, sizeof(pwrmm), (u8_l *)&pwrmm, &cfm); + } + memcpy(command, &cfm.rftest_result[0], 4); + return 4; +} + +static int aic_priv_cmd_rdwr_pwridx (struct rwnx_hw *rwnx_hw, int argc, char *argv[], char *command) +{ + u8_l func = 0; +#ifdef AICWF_SDIO_SUPPORT + struct aic_sdio_dev *dev = g_rwnx_plat->sdiodev; +#endif +#ifdef AICWF_USB_SUPPORT + struct aic_usb_dev *dev = g_rwnx_plat->usbdev; +#endif + + if (dev->chipid != PRODUCT_ID_AIC8801){ + AICWFDBG(LOGERROR, "unsupported cmd\n"); + return -EINVAL; + } + if (argc > 1) { + func = (u8_l)command_strtoul(argv[1], NULL, 16); + } + if (func == 0) { // read cur + rwnx_send_rftest_req(rwnx_hw, RDWR_PWRIDX, 0, NULL, &cfm); + } else if (func <= 2) { // write 2.4g/5g pwr idx + if (argc > 3) { + u8_l type = (u8_l)command_strtoul(argv[2], NULL, 16); + u8_l pwridx = (u8_l)command_strtoul(argv[3], NULL, 10); + u8_l buf[3] = {func, type, pwridx}; + AICWFDBG(LOGINFO, "set pwridx:[%x][%x]=%x\r\n", func, type, pwridx); + rwnx_send_rftest_req(rwnx_hw, RDWR_PWRIDX, sizeof(buf), buf, &cfm); + } else { + return -EINVAL; + } + } else { + return -EINVAL; + } + memcpy(command, &cfm.rftest_result[0], 9); + return 9; +} + +static int aic_priv_cmd_rdwr_pwrlvl (struct rwnx_hw *rwnx_hw, int argc, char *argv[], char *command) +{ + u8_l func = 0; +#ifdef AICWF_SDIO_SUPPORT + struct aic_sdio_dev *dev = g_rwnx_plat->sdiodev; +#endif +#ifdef AICWF_USB_SUPPORT + struct aic_usb_dev *dev = g_rwnx_plat->usbdev; +#endif + + if (dev->chipid == PRODUCT_ID_AIC8801){ + AICWFDBG(LOGERROR, "unsupported cmd\n"); + return -EINVAL; + } + if (argc > 1) { + func = (u8_l)command_strtoul(argv[1], NULL, 16); + } + if (func == 0) { // read cur + rwnx_send_rftest_req(rwnx_hw, RDWR_PWRLVL, 0, NULL, &cfm); + } else if (func <= 2) { // write 2.4g/5g pwr lvl + if (argc > 4) { + u8_l grp = (u8_l)command_strtoul(argv[2], NULL, 16); + u8_l idx, size; + u8_l buf[14] = {func, grp,}; + if (argc > 12) { // set all grp + AICWFDBG(LOGINFO, "set pwrlvl %s:\n" + " [%x] =", (func == 1) ? "2.4g" : "5g", grp); + if (grp == 1) { // TXPWR_LVL_GRP_11N_11AC + size = 10; + } else { + size = 12; + } + for (idx = 0; idx < size; idx++) { + s8_l pwrlvl = (s8_l)command_strtoul(argv[3 + idx], NULL, 10); + buf[2 + idx] = (u8_l)pwrlvl; + if (idx && !(idx & 0x3)) { + AICWFDBG(LOGINFO, " "); + } + AICWFDBG(LOGINFO, " %2d", pwrlvl); + } + AICWFDBG(LOGINFO, "\n"); + size += 2; + } else { // set grp[idx] + u8_l idx = (u8_l)command_strtoul(argv[3], NULL, 10); + s8_l pwrlvl = (s8_l)command_strtoul(argv[4], NULL, 10); + buf[2] = idx; + buf[3] = (u8_l)pwrlvl; + size = 4; + AICWFDBG(LOGINFO, "set pwrlvl %s:\n" + " [%x][%d] = %d\n", (func == 1) ? "2.4g" : "5g", grp, idx, pwrlvl); + } + rwnx_send_rftest_req(rwnx_hw, RDWR_PWRLVL, size, buf, &cfm); + } else { + AICWFDBG(LOGERROR, "wrong args\n"); + return -EINVAL; + } + } else { + AICWFDBG(LOGERROR, "wrong func: %x\n", func); + return -EINVAL; + } + if(dev->chipid == PRODUCT_ID_AIC8800D80){ + memcpy(command, &cfm.rftest_result[0], 6 * 12); + return (6 * 12); + } else { + memcpy(command, &cfm.rftest_result[0], 3 * 12); + return (3 * 12); + } +} + +static int aic_priv_cmd_rdwr_pwrofst (struct rwnx_hw *rwnx_hw, int argc, char *argv[], char *command) +{ + u8_l func = 0; + int res_len = 0; +#ifdef AICWF_SDIO_SUPPORT + struct aic_sdio_dev *dev = g_rwnx_plat->sdiodev; +#endif +#ifdef AICWF_USB_SUPPORT + struct aic_usb_dev *dev = g_rwnx_plat->usbdev; +#endif + + if (argc > 1) { + func = (u8_l)command_strtoul(argv[1], NULL, 16); + } + if (func == 0) { // read cur + rwnx_send_rftest_req(rwnx_hw, RDWR_PWROFST, 0, NULL, &cfm); + } else if (func <= 2) { // write 2.4g/5g pwr ofst + if ((argc > 4) && (dev->chipid == PRODUCT_ID_AIC8800D80)) { + u8_l type = (u8_l)command_strtoul(argv[2], NULL, 16); + u8_l chgrp = (u8_l)command_strtoul(argv[3], NULL, 16); + s8_l pwrofst = (u8_l)command_strtoul(argv[4], NULL, 10); + u8_l buf[4] = {func, type, chgrp, (u8_l)pwrofst}; + AICWFDBG(LOGINFO, "set pwrofst_%s:[%x][%x]=%d\r\n", (func == 1) ? "2.4g" : "5g", type, chgrp, pwrofst); + rwnx_send_rftest_req(rwnx_hw, RDWR_PWROFST, sizeof(buf), buf, &cfm); + } else if ((argc > 3) && (dev->chipid != PRODUCT_ID_AIC8800D80)) { + u8_l chgrp = (u8_l)command_strtoul(argv[2], NULL, 16); + s8_l pwrofst = (u8_l)command_strtoul(argv[3], NULL, 10); + u8_l buf[3] = {func, chgrp, (u8_l)pwrofst}; + AICWFDBG(LOGINFO, "set pwrofst_%s:[%x]=%d\r\n", (func == 1) ? "2.4g" : "5g", chgrp, pwrofst); + rwnx_send_rftest_req(rwnx_hw, RDWR_PWROFST, sizeof(buf), buf, &cfm); + } else { + return -EINVAL; + } + } else { + AICWFDBG(LOGERROR, "wrong func: %x\n", func); + return -EINVAL; + } + if ((dev->chipid == PRODUCT_ID_AIC8800DC) || (dev->chipid == PRODUCT_ID_AIC8800DW)) { // 3 = 3 (2.4g) + res_len = 3; + } else if (dev->chipid == PRODUCT_ID_AIC8800D80) { // 3 * 2 (2.4g) + 3 * 6 (5g) + res_len = 3 * 3 + 3 * 6; + } else { + res_len = 3 + 4; + } + memcpy(command, &cfm.rftest_result[0], res_len); + return res_len; +} + +static int aic_priv_cmd_rdwr_pwrofstfine (struct rwnx_hw *rwnx_hw, int argc, char *argv[], char *command) +{ + u8_l func = 0; + + if (argc > 1) { + func = (u8_l)command_strtoul(argv[1], NULL, 16); + } + if (func == 0) { // read cur + rwnx_send_rftest_req(rwnx_hw, RDWR_PWROFSTFINE, 0, NULL, &cfm); + } else if (func <= 2) { // write 2.4g/5g pwr ofst + if (argc > 3) { + u8_l chgrp = (u8_l)command_strtoul(argv[2], NULL, 16); + s8_l pwrofst = (u8_l)command_strtoul(argv[3], NULL, 10); + u8_l buf[3] = {func, chgrp, (u8_l)pwrofst}; + AICWFDBG(LOGINFO, "set pwrofstfine:[%x][%x]=%d\r\n", func, chgrp, pwrofst); + rwnx_send_rftest_req(rwnx_hw, RDWR_PWROFSTFINE, sizeof(buf), buf, &cfm); + } else { + AICWFDBG(LOGERROR, "wrong args\n"); + return -EINVAL; + + } + } else { + AICWFDBG(LOGERROR, "wrong func: %x\n", func); + return -EINVAL; + + } + memcpy(command, &cfm.rftest_result[0], 7); + return 7; +} + +static int aic_priv_cmd_rdwr_drvibit (struct rwnx_hw *rwnx_hw, int argc, char *argv[], char *command) +{ + u8_l func = 0; + + if (argc > 1) { + func = (u8_l)command_strtoul(argv[1], NULL, 16); + } + if (func == 0) { // read cur + rwnx_send_rftest_req(rwnx_hw, RDWR_DRVIBIT, 0, NULL, &cfm); + } else if (func == 1) { // write 2.4g pa drv_ibit + if (argc > 2) { + u8_l ibit = (u8_l)command_strtoul(argv[2], NULL, 16); + u8_l buf[2] = {func, ibit}; + AICWFDBG(LOGINFO, "set drvibit:[%x]=%x\r\n", func, ibit); + rwnx_send_rftest_req(rwnx_hw, RDWR_DRVIBIT, sizeof(buf), buf, &cfm); + } else { + AICWFDBG(LOGERROR, "wrong args\n"); + return -EINVAL; + } + } else { + AICWFDBG(LOGERROR, "wrong func: %x\n", func); + return -EINVAL; + } + memcpy(command, &cfm.rftest_result[0], 16); + return 16; +} + +static int aic_priv_cmd_rdwr_efuse_pwrofst (struct rwnx_hw *rwnx_hw, int argc, char *argv[], char *command) +{ + u8_l func = 0; + int res_len = 0; +#ifdef AICWF_SDIO_SUPPORT + struct aic_sdio_dev *dev = g_rwnx_plat->sdiodev; +#endif +#ifdef AICWF_USB_SUPPORT + struct aic_usb_dev *dev = g_rwnx_plat->usbdev; +#endif + + if (argc > 1) { + func = (u8_l)command_strtoul(argv[1], NULL, 16); + } + if (func == 0) { // read cur + rwnx_send_rftest_req(rwnx_hw, RDWR_EFUSE_PWROFST, 0, NULL, &cfm); + } else if (func <= 2) { // write 2.4g/5g pwr ofst + if ((argc > 4) && (dev->chipid == PRODUCT_ID_AIC8800D80)) { + u8_l type = (u8_l)command_strtoul(argv[2], NULL, 16); + u8_l chgrp = (u8_l)command_strtoul(argv[3], NULL, 16); + s8_l pwrofst = (u8_l)command_strtoul(argv[4], NULL, 10); + u8_l buf[4] = {func, type, chgrp, (u8_l)pwrofst}; + AICWFDBG(LOGINFO, "set efuse pwrofst_%s:[%x][%x]=%d\r\n", (func == 1) ? "2.4g" : "5g", type, chgrp, pwrofst); + rwnx_send_rftest_req(rwnx_hw, RDWR_EFUSE_PWROFST, sizeof(buf), buf, &cfm); + } else if ((argc > 3) && (dev->chipid != PRODUCT_ID_AIC8800D80)) { + u8_l chgrp = (u8_l)command_strtoul(argv[2], NULL, 16); + s8_l pwrofst = (u8_l)command_strtoul(argv[3], NULL, 10); + u8_l buf[3] = {func, chgrp, (u8_l)pwrofst}; + AICWFDBG(LOGINFO, "set efuse pwrofst_%s:[%x]=%d\r\n", (func == 1) ? "2.4g" : "5g", chgrp, pwrofst); + rwnx_send_rftest_req(rwnx_hw, RDWR_EFUSE_PWROFST, sizeof(buf), buf, &cfm); + } else { + AICWFDBG(LOGERROR, "wrong args\n"); + return -EINVAL; + } + } else { + AICWFDBG(LOGERROR, "wrong func: %x\n", func); + return -EINVAL; + } + if ((dev->chipid == PRODUCT_ID_AIC8800DC) || (dev->chipid == PRODUCT_ID_AIC8800DW)) { // 6 = 3 (2.4g) * 2 + res_len = 3 * 2; + } else if (dev->chipid == PRODUCT_ID_AIC8800D80) { // 3 * 2 (2.4g) + 3 * 6 (5g) + res_len = (3 * 3 + 3 * 6) * 2; + } else { // 7 = 3(2.4g) + 4(5g) + res_len = 3 + 4; + } + memcpy(command, &cfm.rftest_result[0], res_len); + return res_len; +} + +static int aic_priv_cmd_rdwr_efuse_pwrofstfine (struct rwnx_hw *rwnx_hw, int argc, char *argv[], char *command) +{ + u8_l func = 0; + + if (argc > 1) { + func = (u8_l)command_strtoul(argv[1], NULL, 16); + } + if (func == 0) { // read cur + rwnx_send_rftest_req(rwnx_hw, RDWR_EFUSE_PWROFSTFINE, 0, NULL, &cfm); + } else if (func <= 2) { // write 2.4g/5g pwr ofst + if (argc > 3) { + u8_l chgrp = (u8_l)command_strtoul(argv[2], NULL, 16); + s8_l pwrofst = (u8_l)command_strtoul(argv[3], NULL, 10); + u8_l buf[3] = {func, chgrp, (u8_l)pwrofst}; + AICWFDBG(LOGINFO, "set pwrofstfine:[%x][%x]=%d\r\n", func, chgrp, pwrofst); + rwnx_send_rftest_req(rwnx_hw, RDWR_EFUSE_PWROFSTFINE, sizeof(buf), buf, &cfm); + } else { + AICWFDBG(LOGERROR, "wrong args\n"); + return -EINVAL; + } + } else { + AICWFDBG(LOGERROR, "wrong func: %x\n", func); + return -EINVAL; + } + memcpy(command, &cfm.rftest_result[0], 7); + return 7; +} + +static int aic_priv_cmd_rdwr_efuse_drvibit (struct rwnx_hw *rwnx_hw, int argc, char *argv[], char *command) +{ + u8_l func = 0; + + if (argc > 1) { + func = (u8_l)command_strtoul(argv[1], NULL, 16); + } + if (func == 0) { // read cur + rwnx_send_rftest_req(rwnx_hw, RDWR_EFUSE_DRVIBIT, 0, NULL, &cfm); + } else if (func == 1) { // write 2.4g pa drv_ibit + if (argc > 2) { + u8_l ibit = (u8_l)command_strtoul(argv[2], NULL, 16); + u8_l buf[2] = {func, ibit}; + AICWFDBG(LOGINFO, "set efuse drvibit:[%x]=%x\r\n", func, ibit); + rwnx_send_rftest_req(rwnx_hw, RDWR_EFUSE_DRVIBIT, sizeof(buf), buf, &cfm); + } else { + AICWFDBG(LOGERROR, "wrong args\n"); + return -EINVAL; + } + } else { + AICWFDBG(LOGERROR, "wrong func: %x\n", func); + return -EINVAL; + } + memcpy(command, &cfm.rftest_result[0], 4); + return 4; +} + +static int aic_priv_cmd_rdwr_efuse_usrdata (struct rwnx_hw *rwnx_hw, int argc, char *argv[], char *command) +{ + cmd_ef_usrdata_t cmd_ef_usrdata; + + if (argc <= 1) { // read all + cmd_ef_usrdata.func = 0; + cmd_ef_usrdata.cnt = 3; + } else if (argc >= 2) { // read/write + cmd_ef_usrdata.func = (u8_l)command_strtoul(argv[1], NULL, 10); + cmd_ef_usrdata.cnt = (u8_l)command_strtoul(argv[2], NULL, 10); + if (cmd_ef_usrdata.func == 1) { + int idx; + for (idx = 0; idx < cmd_ef_usrdata.cnt; idx++) { + cmd_ef_usrdata.usrdata[idx] = (u32_l)command_strtoul(argv[3 + idx], NULL, 16); + } + } + } else { + AICWFDBG(LOGERROR, "wrong argc: %x\n", argc); + return -EINVAL; + } + rwnx_send_rftest_req(rwnx_hw, RDWR_EFUSE_USRDATA, sizeof(cmd_ef_usrdata), (u8_l *)&cmd_ef_usrdata, &cfm); + memcpy(command, &cfm.rftest_result[0], 12); + return 12; +} + +static int aic_priv_cmd_rdwr_efuse_sdiocfg (struct rwnx_hw *rwnx_hw, int argc, char *argv[], char *command) +{ + u8_l func = 0; + + if (argc > 1) { + func = (u8_l)command_strtoul(argv[1], NULL, 16); + } + if (func == 0) { // read cur + rwnx_send_rftest_req(rwnx_hw, RDWR_EFUSE_SDIOCFG, 0, NULL, &cfm); + } else if (func == 1) { // write sdiocfg + if (argc > 2) { + u8_l ibit = (u8_l)command_strtoul(argv[2], NULL, 16); + u8_l buf[2] = {func, ibit}; + AICWFDBG(LOGINFO, "set efuse sdiocfg:[%x]=%x\r\n", func, ibit); + rwnx_send_rftest_req(rwnx_hw, RDWR_EFUSE_SDIOCFG, sizeof(buf), buf, &cfm); + } else { + AICWFDBG(LOGERROR, "wrong args\n"); + return -EINVAL; + } + } else { + AICWFDBG(LOGERROR, "wrong func: %x\n", func); + return -EINVAL; + } + memcpy(command, &cfm.rftest_result[0], 4); + return 4; +} + +static int aic_priv_cmd_rdwr_efuse_usbvidpid (struct rwnx_hw *rwnx_hw, int argc, char *argv[], char *command) +{ + u8_l func = 0; + AICWFDBG(LOGINFO, "read/write usb vid/pid into efuse\n"); + if (argc > 1) { + func = (u8_l)command_strtoul(argv[1], NULL, 16); + } + if (func == 0) { // read cur + rwnx_send_rftest_req(rwnx_hw, RDWR_EFUSE_USBVIDPID, 0, NULL, &cfm); + } else if (func == 1) { // write USB vid+pid + if (argc > 2) { + u32_l usb_id = (u32_l)command_strtoul(argv[2], NULL, 16); + u8_l buf[5] = {func, (u8_l)usb_id, (u8_l)(usb_id >> 8), (u8_l)(usb_id >> 16), (u8_l)(usb_id >> 24)}; + AICWFDBG(LOGINFO, "set efuse usb vid/pid:[%x]=%x\r\n", func, usb_id); + rwnx_send_rftest_req(rwnx_hw, RDWR_EFUSE_USBVIDPID, sizeof(buf), buf, &cfm); + } else { + AICWFDBG(LOGERROR, "wrong args\n"); + return -EINVAL; + } + } else { + AICWFDBG(LOGERROR, "wrong func: %x\n", func); + return -EINVAL; + } + memcpy(command, &cfm.rftest_result[0], 4); + return 4; +} + +static int aic_priv_cmd_rdwr_efuse_he_off (struct rwnx_hw *rwnx_hw, int argc, char *argv[], char *command) +{ + u8_l func = 0; + + func = command_strtoul(argv[1], NULL, 10); + AICWFDBG(LOGINFO, "set he off: %d\n", func); + if(func == 1) { + rwnx_send_rftest_req(rwnx_hw, RDWR_EFUSE_HE_OFF, sizeof(func), (u8_l *)&func, &cfm); + AICWFDBG(LOGINFO, "he_off cfm: %d\n", cfm.rftest_result[0]); + memcpy(command, &cfm.rftest_result[0], 4); + return 4; + } + return 0; +} + +static int aic_priv_cmd_set_cal_xtal (struct rwnx_hw *rwnx_hw, int argc, char *argv[], char *command) +{ + rwnx_send_rftest_req(rwnx_hw, SET_CAL_XTAL, 0, NULL, NULL); + return 0; +} + +static int aic_priv_cmd_get_cal_xtal_res (struct rwnx_hw *rwnx_hw, int argc, char *argv[], char *command) +{ + rwnx_send_rftest_req(rwnx_hw, GET_CAL_XTAL_RES, 0, NULL, &cfm); + memcpy(command, &cfm.rftest_result[0], 4); + AICWFDBG(LOGINFO, "cap=0x%x, cap_fine=0x%x\n", cfm.rftest_result[0] & 0x0000ffff, (cfm.rftest_result[0] >> 16) & 0x0000ffff); + return 4; +} + +static int aic_priv_cmd_set_cob_cal (struct rwnx_hw *rwnx_hw, int argc, char *argv[], char *command) +{ + cmd_rf_setcobcal_t setcob_cal; + + if (argc < 3) + return -EINVAL; + setcob_cal.dutid = command_strtoul(argv[1], NULL, 10); + setcob_cal.chip_num = command_strtoul(argv[2], NULL, 10); + setcob_cal.dis_xtal = command_strtoul(argv[3], NULL, 10); + rwnx_send_rftest_req(rwnx_hw, SET_COB_CAL, sizeof(cmd_rf_setcobcal_t), (u8_l *)&setcob_cal, NULL); + return 0; +} + +static int aic_priv_cmd_get_cob_cal_res (struct rwnx_hw *rwnx_hw, int argc, char *argv[], char *command) +{ + u8_l state; + cob_result_ptr_t *cob_result_ptr; + + rwnx_send_rftest_req(rwnx_hw, GET_COB_CAL_RES, 0, NULL, &cfm); + state = (cfm.rftest_result[0] >> 16) & 0x000000ff; + if (!state){ + AICWFDBG(LOGINFO, "cap= 0x%x, cap_fine= 0x%x, freq_ofst= %d Hz\n", + cfm.rftest_result[0] & 0x000000ff, (cfm.rftest_result[0] >> 8) & 0x000000ff, cfm.rftest_result[1]); + cob_result_ptr = (cob_result_ptr_t *) & (cfm.rftest_result[2]); + AICWFDBG(LOGINFO, "golden_rcv_dut= %d , tx_rssi= %d dBm, snr = %d dB\ndut_rcv_godlden= %d , rx_rssi= %d dBm", + cob_result_ptr->golden_rcv_dut_num, cob_result_ptr->rssi_static, cob_result_ptr->snr_static, + cob_result_ptr->dut_rcv_golden_num, cob_result_ptr->dut_rssi_static); + memcpy(command, &cfm.rftest_result, 16); + return 16; + } else { + AICWFDBG(LOGERROR, "cob not idle\n"); + return -EINVAL; + } +} + +static int aic_priv_cmd_do_cob_test (struct rwnx_hw *rwnx_hw, int argc, char *argv[], char *command) +{ + u8_l state; + cmd_rf_setcobcal_t setcob_cal; + cob_result_ptr_t *cob_result_ptr; + + setcob_cal.dutid = 1; + setcob_cal.chip_num = 1; + setcob_cal.dis_xtal = 0; + if (argc > 1) + setcob_cal.dis_xtal = command_strtoul(argv[1], NULL, 10); + rwnx_send_rftest_req(rwnx_hw, SET_COB_CAL, sizeof(cmd_rf_setcobcal_t), (u8_l *)&setcob_cal, NULL); + msleep(2000); + rwnx_send_rftest_req(rwnx_hw, GET_COB_CAL_RES, 0, NULL, &cfm); + state = (cfm.rftest_result[0] >> 16) & 0x000000ff; + if (!state){ + AICWFDBG(LOGINFO, "cap= 0x%x, cap_fine= 0x%x, freq_ofst= %d Hz\n", + cfm.rftest_result[0] & 0x000000ff, (cfm.rftest_result[0] >> 8) & 0x000000ff, cfm.rftest_result[1]); + cob_result_ptr = (cob_result_ptr_t *) & (cfm.rftest_result[2]); + AICWFDBG(LOGINFO, "golden_rcv_dut= %d , tx_rssi= %d dBm, snr = %d dB\ndut_rcv_godlden= %d , rx_rssi= %d dBm", + cob_result_ptr->golden_rcv_dut_num, cob_result_ptr->rssi_static, cob_result_ptr->snr_static, + cob_result_ptr->dut_rcv_golden_num, cob_result_ptr->dut_rssi_static); + memcpy(command, &cfm.rftest_result, 16); + return 16; + } else { + AICWFDBG(LOGERROR, "cob not idle\n"); + return -EINVAL; + } +} + +static int aic_priv_cmd_set_papr (struct rwnx_hw *rwnx_hw, int argc, char *argv[], char *command) +{ + u8_l func = 0; + if (argc > 1) { + func = command_strtoul(argv[1], NULL, 10); + AICWFDBG(LOGINFO, "papr %d\r\n", func); + rwnx_send_rftest_req(rwnx_hw, SET_PAPR, sizeof(func), (u8_l *)&func, NULL); + } else { + return -EINVAL; + } + return 0; +} + +static int aic_priv_cmd_set_notch (struct rwnx_hw *rwnx_hw, int argc, char *argv[], char *command) +{ + u8_l func = 0; + if (argc > 1) { + func = command_strtoul(argv[1], NULL, 10); + AICWFDBG(LOGINFO, "notch %d\r\n", func); + rwnx_send_rftest_req(rwnx_hw, SET_NOTCH, sizeof(func), (u8_l *)&func, NULL); + } else { + return -EINVAL; + } + return 0; +} + +static int aic_priv_cmd_set_srrc (struct rwnx_hw *rwnx_hw, int argc, char *argv[], char *command) +{ + u8_l func = 0; + if (argc > 1) { + func = command_strtoul(argv[1], NULL, 10); + AICWFDBG(LOGINFO, "srrc %d\r\n", func); + rwnx_send_rftest_req(rwnx_hw, SET_SRRC, sizeof(func), (u8_l *)&func, NULL); + } else { + return -EINVAL; + } + return 0; +} + +static int aic_priv_cmd_set_fss (struct rwnx_hw *rwnx_hw, int argc, char *argv[], char *command) +{ + u8_l func = 0; + if (argc > 1) { + func = command_strtoul(argv[1], NULL, 10); + AICWFDBG(LOGINFO, "fss %d\r\n", func); + rwnx_send_rftest_req(rwnx_hw, SET_FSS, sizeof(func), (u8_l *)&func, NULL); + } else { + return -EINVAL; + } + return 0; +} + +static int aic_priv_cmd_set_usb_off (struct rwnx_hw *rwnx_hw, int argc, char *argv[], char *command) +{ + rwnx_send_rftest_req(rwnx_hw, SET_USB_OFF, 0, NULL, NULL); + return 0; +} + +static int aic_priv_cmd_set_pll_test (struct rwnx_hw *rwnx_hw, int argc, char *argv[], char *command) +{ + u8_l func = 0, tx_pwr = 0xc; + s8_l freq = 0; + + if (argc > 1) { + func = command_strtoul(argv[1], NULL, 16); + } + if (argc > 3) { + freq = (s8_l)command_strtoul(argv[2], NULL, 10); + tx_pwr = command_strtoul(argv[3], NULL, 16); + } + if (func <= 1) { + u8_l buf[3] = {func, (u8_l)freq, tx_pwr}; + AICWFDBG(LOGINFO, "set pll_test %d: freq=%d, tx_pwr=0x%x\n", func, freq, tx_pwr); + rwnx_send_rftest_req(rwnx_hw, SET_PLL_TEST, sizeof(buf), buf, &cfm); + } else { + AICWFDBG(LOGERROR, "wrong func: %x\n", func); + return -EINVAL; + } + return 0; +} + +static int aic_priv_cmd_get_txpwr(struct rwnx_hw *rwnx_hw, int argc, char *argv[], char *command) +{ + s8_l power=0; + power = get_txpwr_max(power); + memcpy(command, &power, 1); + return 1; +} + +static int aic_priv_cmd_set_txpwr_loss(struct rwnx_hw *rwnx_hw, int argc, char *argv[], char *command) +{ + s8_l func; + if (argc > 1) { + func = (s8_l)command_strtoul(argv[1], NULL, 10); + printk("set txpwr loss: %d\n", func); + if (g_rwnx_plat->sdiodev->chipid == PRODUCT_ID_AIC8800D80){ + set_txpwr_loss_ofst(func); + rwnx_send_txpwr_lvl_v3_req(g_rwnx_plat->sdiodev->rwnx_hw); + }else{ + AICWFDBG(LOGINFO,"error:don't support ,now only support D40 D80"); + } + } else { + printk("wrong args\n"); + return -EINVAL; + } + return 0; +} + +static int aic_priv_cmd_help (struct rwnx_hw *rwnx_hw, int argc, char *argv[], char *command) +{ + print_help(argc > 0 ? argv[0] : NULL); + return 0; +} + +struct aic_priv_cmd { + const char *cmd; + int (*handler)(struct rwnx_hw *rwnx_hw, int argc, char *argv[], char *command); + const char *usage; +}; + +static const struct aic_priv_cmd aic_priv_commands[] = { + { "set_tx", aic_priv_cmd_set_tx, + " " }, + { "set_txstop", aic_priv_cmd_set_txstop, + "= stop tx " }, + { "set_rx", aic_priv_cmd_set_rx, + " " }, + { "get_rx_result", aic_priv_cmd_get_rx_result, + "= display rx fcsok/total pkt num" }, + { "set_rxstop", aic_priv_cmd_set_rxstop, + "= stop rx " }, + { "set_txtone", aic_priv_cmd_set_tx_tone, + " val = 0/off" }, + { "set_rx_meter", aic_priv_cmd_set_rx_meter, + "= set rx meter " }, + { "set_power", aic_priv_cmd_set_set_power, + " " }, + { "set_xtal_cap", aic_priv_cmd_set_xtal_cap, + " [0 ~ 31]" }, + { "set_xtal_cap_fine", aic_priv_cmd_set_xtal_cap_fine, + " [0 ~ 63]" }, + { "get_efuse_block", aic_priv_cmd_get_efuse_block, + "" }, + { "set_freq_cal", aic_priv_cmd_set_freq_cal, + "" }, + { "set_freq_cal_fine", aic_priv_cmd_set_freq_cal_fine, + "" }, + { "get_freq_cal", aic_priv_cmd_get_freq_cal, + "= display cap & cap fine" }, + { "set_mac_addr", aic_priv_cmd_set_mac_addr, + "= write WiFi MAC into efuse or flash is limited to a maximum of two times" }, + { "get_mac_addr", aic_priv_cmd_get_mac_addr, + "= display WiFi MAC stored in efuse or flash" }, + { "set_bt_mac_addr", aic_priv_cmd_set_bt_mac_addr, + "= write BT MAC into efuse or flash is limited to a maximum of two times" }, + { "get_bt_mac_addr", aic_priv_cmd_get_bt_mac_addr, + "= display BT MAC stored in efuse or flash" }, + { "set_vendor_info", aic_priv_cmd_set_vendor_info, + "= write vendor info into efuse or flash is allowed only once" }, + { "get_vendor_info", aic_priv_cmd_get_vendor_info, + "= display vendor info stored in efuse or flash" }, + { "rdwr_pwrmm", aic_priv_cmd_rdwr_pwrmm, + " = 0/rdwr_pwrlvl, 1/set_power = read/write txpwr manul mode" }, + { "rdwr_pwridx", aic_priv_cmd_rdwr_pwridx, + " " }, + { "rdwr_pwrlvl", aic_priv_cmd_rdwr_pwrlvl, + " " }, + { "rdwr_pwrofst", aic_priv_cmd_rdwr_pwrofst, + " " }, + { "rdwr_pwrofstfine", aic_priv_cmd_rdwr_pwrofstfine, + " " }, + { "rdwr_drvibit", aic_priv_cmd_rdwr_drvibit, + " read/write 8800D pa drvibit" }, + { "set_cal_xtal", aic_priv_cmd_set_cal_xtal, + "= set cal xtal" }, + { "get_cal_xtal_res", aic_priv_cmd_get_cal_xtal_res, + "= get cal xtal result cap & cap_fine" }, + { "set_cob_cal", aic_priv_cmd_set_cob_cal, + " = dut cob test" }, + { "get_cob_cal_res", aic_priv_cmd_get_cob_cal_res, + "= get cob cal result" }, + { "do_cob_test", aic_priv_cmd_do_cob_test, + " = 0/xtal, 1/dis_xtal, 2/only_xtal" }, + { "rdwr_efuse_pwrofst", aic_priv_cmd_rdwr_efuse_pwrofst, + " limited to a maximum of two times" }, + { "rdwr_efuse_pwrofstfine", aic_priv_cmd_rdwr_efuse_pwrofstfine, + " limited to a maximum of two times" }, + { "rdwr_efuse_drvibit", aic_priv_cmd_rdwr_efuse_drvibit, + " = read/write 8800D efuse pa drvibitis allowed only once" }, + { "rdwr_efuse_usrdata", aic_priv_cmd_rdwr_efuse_usrdata, + " = read/write efuse usrdata" }, + { "rdwr_efuse_sdiocfg", aic_priv_cmd_rdwr_efuse_sdiocfg, + " = read/write sdiocfg_bit into efuse" }, + { "rdwr_efuse_usbvidpid", aic_priv_cmd_rdwr_efuse_usbvidpid, + " = read/write usb vid/pid into efuse" }, + { "rdwr_efuse_he_off", aic_priv_cmd_rdwr_efuse_he_off, + " = read/write he_off into efuse" }, + { "set_papr", aic_priv_cmd_set_papr, + " = configure papr filter to optimize sideband suppression" }, + { "set_notch", aic_priv_cmd_set_notch, + " = configure filter to optimize sideband suppression" }, + { "set_srrc", aic_priv_cmd_set_srrc, + " = disable/enable sideband suppression for SRRC" }, + { "set_fss", aic_priv_cmd_set_fss, + " = disable/enable treatment of spurious emissions and burrs" }, + { "set_usb_off", aic_priv_cmd_set_usb_off, + "= off usb configure before usb disconnect" }, + { "set_pll_test", aic_priv_cmd_set_pll_test, + " = use pll test to measure saturation power" }, + { "get_txpwr", aic_priv_cmd_get_txpwr, + "= get userconfig max txpwr" }, + { "set_txpwr_loss",aic_priv_cmd_set_txpwr_loss, + " = txpwr will change ,val can be negative" }, + +//Reserve for new aic_priv_cmd. + { "help", aic_priv_cmd_help, + "= show usage help" }, + { NULL, NULL, NULL } + +}; + + +/* + * Prints command usage, lines are padded with the specified string. + */ +static void print_help(const char *cmd) +{ + int n; + printk("commands:\n"); + for (n = 0; aic_priv_commands[n].cmd; n++) { + if (cmd != NULL) + printk("%s %s\n", aic_priv_commands[n].cmd, aic_priv_commands[n].usage); + } +} + +int handle_private_cmd(struct net_device *net, char *command, u32 cmd_len) +{ + const struct aic_priv_cmd *cmd, *match = NULL; + int count; + int bytes_written = 0; + char *argv[CMD_MAXARGS + 1]; + int argc; + struct rwnx_vif *vif = container_of(net->ieee80211_ptr, struct rwnx_vif, wdev); + struct rwnx_hw *p_rwnx_hw = vif->rwnx_hw; + + RWNX_DBG(RWNX_FN_ENTRY_STR); + + argc = parse_line(command, argv); + if (argc == 0) { + return -1; + } + + count = 0; + cmd = aic_priv_commands; + while (cmd->cmd) { + if (strncasecmp(cmd->cmd, argv[0], strlen(argv[0])) == 0) + { + match = cmd; + if (strcasecmp(cmd->cmd, argv[0]) == 0) { + /* we have an exact match */ + count = 1; + break; + } + count++; + } + cmd++; + } + + if (count > 1) { + AICWFDBG(LOGINFO, "Ambiguous command '%s'; possible commands:", argv[0]); + cmd = aic_priv_commands; + while (cmd->cmd) { + if (strncasecmp(cmd->cmd, argv[0], + strlen(argv[0])) == 0) { + AICWFDBG(LOGINFO, " %s", cmd->cmd); + } + cmd++; + } + AICWFDBG(LOGINFO, "\n"); + } else if (count == 0) { + AICWFDBG(LOGERROR, "Unknown command '%s'\n", argv[0]); + } else { + AICWFDBG(LOGINFO, "match %s", match->cmd); + bytes_written = match->handler(p_rwnx_hw, argc, &argv[0], command); + } + + if (bytes_written < 0) + AICWFDBG(LOGERROR, "wrong param\n"); + + return bytes_written; +} + +#define RWNX_COUNTRY_CODE_LEN 2 +#define CMD_SET_COUNTRY "COUNTRY" +#define CMD_SET_VENDOR_EX_IE "SET_VENDOR_EX_IE" +#define CMD_SET_AP_WPS_P2P_IE "SET_AP_WPS_P2P_IE" +#define CMD_SETSUSPENDMODE "SETSUSPENDMODE" + + +struct ieee80211_regdomain *getRegdomainFromRwnxDB(struct wiphy *wiphy, char *alpha2); +struct ieee80211_regdomain *getRegdomainFromRwnxDBIndex(struct wiphy *wiphy, int index); +extern int reg_regdb_size; + +#ifdef CONFIG_SET_VENDOR_EXTENSION_IE +extern u8_l vendor_extension_data[256]; +extern int vendor_extension_len; + +void set_vendor_extension_ie(char *command){ + + char databyte[3]={0x00, 0x00, 0x00}; + int skip = strlen(CMD_SET_VENDOR_EX_IE) + 1; + int command_index = skip; + int data_index = 0; + + memset(vendor_extension_data, 0, 256); + vendor_extension_len = 0; + memcpy(databyte, command + command_index, 2); + vendor_extension_len = command_strtoul(databyte, NULL, 16); + printk("%s len:%d \r\n", __func__, vendor_extension_len); + + //parser command and save data in vendor_extension_data + for(data_index = 0;data_index < vendor_extension_len; data_index++){ + command_index = command_index + 3; + memcpy(databyte, command + command_index, 2); + vendor_extension_data[data_index] = command_strtoul(databyte, NULL, 16); + } + +} +#endif//CONFIG_SET_VENDOR_EXTENSION_IE + + +int android_priv_cmd(struct net_device *net, struct ifreq *ifr, int cmd) +{ +#define PRIVATE_COMMAND_MAX_LEN 8192 +#define PRIVATE_COMMAND_DEF_LEN 4096 + + struct rwnx_vif *vif = netdev_priv(net); + int ret = 0; + char *command = NULL; + int bytes_written = 0; + android_wifi_priv_cmd priv_cmd; + int buf_size = 0; + int skip = 0; + char *country = NULL; + int setsusp_mode; + struct ieee80211_regdomain *regdomain; + + RWNX_DBG(RWNX_FN_ENTRY_STR); + + ///todo: add our lock + //net_os_wake_lock(net); + + +/* if (!capable(CAP_NET_ADMIN)) { + ret = -EPERM; + goto exit; + }*/ + if (!ifr->ifr_data) { + ret = -EINVAL; + goto exit; + } + +#ifdef CONFIG_COMPAT +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0)) + if (in_compat_syscall()) +#else + if (is_compat_task()) +#endif + { + compat_android_wifi_priv_cmd compat_priv_cmd; + if (copy_from_user(&compat_priv_cmd, ifr->ifr_data, sizeof(compat_android_wifi_priv_cmd))) { + ret = -EFAULT; + goto exit; + } + priv_cmd.buf = compat_ptr(compat_priv_cmd.buf); + priv_cmd.used_len = compat_priv_cmd.used_len; + priv_cmd.total_len = compat_priv_cmd.total_len; + } else +#endif /* CONFIG_COMPAT */ + { + if (copy_from_user(&priv_cmd, ifr->ifr_data, sizeof(android_wifi_priv_cmd))) { + ret = -EFAULT; + goto exit; + } + } + if ((priv_cmd.total_len > PRIVATE_COMMAND_MAX_LEN) || (priv_cmd.total_len < 0)) { + printk("%s: buf length invalid:%d\n", __FUNCTION__, priv_cmd.total_len); + ret = -EINVAL; + goto exit; + } + + buf_size = max(priv_cmd.total_len, PRIVATE_COMMAND_DEF_LEN); + command = kmalloc((buf_size + 1), GFP_KERNEL); + + if (!command) { + printk("%s: failed to allocate memory\n", __FUNCTION__); + ret = -ENOMEM; + goto exit; + } + if (copy_from_user(command, priv_cmd.buf, priv_cmd.total_len)) { + ret = -EFAULT; + goto exit; + } + command[priv_cmd.total_len] = '\0'; + + /* outputs */ + AICWFDBG(LOGINFO, "%s: Android private cmd \"%s\" on %s\n", __FUNCTION__, command, ifr->ifr_name); + AICWFDBG(LOGINFO, "cmd = %d\n", cmd); + AICWFDBG(LOGINFO, "buf_size=%d\n", buf_size); + +#if 1//Handle Android command + if(!strncasecmp(command, CMD_SET_COUNTRY, strlen(CMD_SET_COUNTRY))) { + skip = strlen(CMD_SET_COUNTRY) + 1; + country = command + skip; + if (!country || strlen(country) < RWNX_COUNTRY_CODE_LEN) { + printk("%s: invalid country code\n", __func__); + ret = -EINVAL; + goto exit; + } +#if 0 + for(index = 0; index < reg_regdb_size; index++){ + regdomain = getRegdomainFromRwnxDBIndex(vif->rwnx_hw->wiphy, index); + if((ret = regulatory_set_wiphy_regd(vif->rwnx_hw->wiphy, regdomain))){ + printk("regulatory_set_wiphy_regd fail \r\n"); + }else{ + printk("regulatory_set_wiphy_regd ok \r\n"); + } + } +#endif + AICWFDBG(LOGINFO, "%s country code:%c%c\n", __func__, toupper(country[0]), toupper(country[1])); + regdomain = getRegdomainFromRwnxDB(vif->rwnx_hw->wiphy, country); +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 0, 0) + if((ret = regulatory_set_wiphy_regd(vif->rwnx_hw->wiphy, regdomain))){ + printk("regulatory_set_wiphy_regd fail \r\n"); + } +#else + wiphy_apply_custom_regulatory(vif->rwnx_hw->wiphy, regdomain); +#endif + } +#ifdef CONFIG_SET_VENDOR_EXTENSION_IE + else if(!strncasecmp(command, CMD_SET_VENDOR_EX_IE, strlen(CMD_SET_VENDOR_EX_IE))){ + set_vendor_extension_ie(command); + } +#endif//CONFIG_SET_VENDOR_EXTENSION_IE + else if(!strncasecmp(command, CMD_SET_AP_WPS_P2P_IE, strlen(CMD_SET_AP_WPS_P2P_IE))){ + ret = 0; + goto exit; + } + else if(!strncasecmp(command, CMD_SETSUSPENDMODE, strlen(CMD_SETSUSPENDMODE))){ + skip = strlen(CMD_SET_COUNTRY) + 1; + setsusp_mode = command_strtoul(command + skip, NULL, 10); +#ifdef CONFIG_GPIO_WAKEUP + if (setsusp_mode == 1) { +#if defined(CONFIG_SDIO_PWRCTRL) + aicwf_sdio_pwr_stctl(g_rwnx_plat->sdiodev, SDIO_SLEEP_ST); +#endif//CONFIG_SDIO_PWRCTRL + ret = aicwf_sdio_writeb(g_rwnx_plat->sdiodev, SDIOWIFI_WAKEUP_REG, 2); + if (ret < 0) { + sdio_err("reg:%d write failed!\n", SDIOWIFI_WAKEUP_REG); + } + } + AICWFDBG(LOGINFO, "set suspend mode %d\n", setsusp_mode); +#endif//CONFIG_GPIO_WAKEUP + goto exit; + } +#endif//Handle Android command + + bytes_written = handle_private_cmd(net, command, priv_cmd.total_len); + if (bytes_written >= 0) { + if ((bytes_written == 0) && (priv_cmd.total_len > 0)) { + command[0] = '\0'; + } + if (bytes_written >= priv_cmd.total_len) { + printk("%s: err. bytes_written:%d >= buf_size:%d \n", + __FUNCTION__, bytes_written, buf_size); + goto exit; + } + bytes_written++; + priv_cmd.used_len = bytes_written; + if (copy_to_user(priv_cmd.buf, command, bytes_written)) { + printk("%s: failed to copy data to user buffer\n", __FUNCTION__); + ret = -EFAULT; + } + } else { + /* Propagate the error */ + ret = bytes_written; + } + +exit: + ///todo: add our unlock + //net_os_wake_unlock(net); + kfree(command); + return ret; +} + +#ifdef CONFIG_MCU_MESSAGE +#define CMD_GET_VERSION_STR "GET_VERSION" +#define CMD_GET_SSID_STR "GET_SSID" +#define CMD_SET_SSID_STR "SET_SSID" +#define CMD_GET_PASS_STR "GET_PASS" +#define CMD_SET_PASS_STR "SET_PASS" +#define CMD_GET_VAR_STR "GET_VAR" +#define CMD_SET_VAR_STR "SET_VAR" + +enum custmsg_cmd_tag +{ + CUST_CMD_GET_VERSION = 0, + CUST_CMD_GET_SSID, + CUST_CMD_SET_SSID, + CUST_CMD_GET_PASS, + CUST_CMD_SET_PASS, + CUST_CMD_GET_VAR, + CUST_CMD_SET_VAR, + CUST_CMD_MAX +}; + +int handle_custom_msg(char *command, u32 cmd_len) +{ + int bytes_read = 0, max_bytes_to_read = 0; + struct rwnx_hw *p_rwnx_hw = NULL; + u32 cmd, len = 0, flags = 0; + char *buf = NULL; + struct dbg_custom_msg_cfm *cust_msg_cfm; + printk("cmd,%s,%ld\n",command,strlen(command)); + if (strncasecmp(command, CMD_GET_VERSION_STR, strlen(CMD_GET_VERSION_STR)) == 0) { + cmd = CUST_CMD_GET_VERSION; + max_bytes_to_read = 32; // max str len for version + } else if (strncasecmp(command, CMD_GET_SSID_STR, strlen(CMD_GET_SSID_STR)) == 0) { + cmd = CUST_CMD_GET_SSID; + max_bytes_to_read = 48; // max str len for ssid + } else if (strncasecmp(command, CMD_SET_SSID_STR, strlen(CMD_SET_SSID_STR)) == 0) { + cmd = CUST_CMD_SET_SSID; + len = cmd_len - (strlen(CMD_SET_SSID_STR) + 1); + buf = command + (strlen(CMD_SET_SSID_STR) + 1); + max_bytes_to_read = 0; + } else if (strncasecmp(command, CMD_GET_PASS_STR, strlen(CMD_GET_PASS_STR)) == 0) { + cmd = CUST_CMD_GET_PASS; + max_bytes_to_read = 64; // max str len for PASS + } else if (strncasecmp(command, CMD_SET_PASS_STR, strlen(CMD_SET_PASS_STR)) == 0) { + cmd = CUST_CMD_SET_PASS; + len = cmd_len - (strlen(CMD_SET_PASS_STR) + 1); + buf = command + (strlen(CMD_SET_PASS_STR) + 1); + max_bytes_to_read = 0; + } else if (strncasecmp(command, CMD_GET_VAR_STR, strlen(CMD_GET_VAR_STR)) == 0) { + cmd = CUST_CMD_GET_VAR; + max_bytes_to_read = 64; // max str len for VAR + } else if (strncasecmp(command, CMD_SET_VAR_STR, strlen(CMD_SET_VAR_STR)) == 0) { + cmd = CUST_CMD_SET_VAR; + len = cmd_len - (strlen(CMD_SET_VAR_STR) + 1); + buf = command + (strlen(CMD_SET_VAR_STR) + 1); + max_bytes_to_read = 0; + } else { + printk("invalid cmd: %s\r\n", command); + return -1; + } + if (len < 0) { + printk("invalid len: %d\r\n", len); + return -3; + } + #ifdef AICWF_SDIO_SUPPORT + p_rwnx_hw = g_rwnx_plat->sdiodev->rwnx_hw; + #endif + #ifdef AICWF_USB_SUPPORT + p_rwnx_hw = g_rwnx_plat->usbdev->rwnx_hw; + #endif + cust_msg_cfm = (struct dbg_custom_msg_cfm *)kmalloc((offsetof(struct dbg_custom_msg_cfm, buf) + max_bytes_to_read), GFP_KERNEL); + if (cust_msg_cfm == NULL) { + printk("msg cfm alloc fail\r\n"); + return -2; + } + rwnx_send_dbg_custom_msg_req(p_rwnx_hw, cmd, buf, len, flags, cust_msg_cfm); + bytes_read = cust_msg_cfm->len; + printk("Custom msg cfm: cmd=%d, len=%d, status=%x\n", cust_msg_cfm->cmd, bytes_read, cust_msg_cfm->status); + if (bytes_read) { + memcpy(command, cust_msg_cfm->buf, bytes_read); + command[bytes_read] = '\0'; + } else { + command[0] = '\0'; + } + if (cust_msg_cfm->status) { + printk("cfm status: %x", cust_msg_cfm->status); + } + return bytes_read; +} + +int devipc_cust_msg(struct net_device *net, struct ifreq *ifr, int cmd) +{ +#ifdef PRIVATE_COMMAND_MAX_LEN +#undef PRIVATE_COMMAND_MAX_LEN +#undef PRIVATE_COMMAND_DEF_LEN +#define PRIVATE_COMMAND_MAX_LEN 8192 +#define PRIVATE_COMMAND_DEF_LEN 4096 +#endif + int ret = 0; + char *command = NULL; + int bytes_written = 0; + android_wifi_priv_cmd priv_cmd; + int buf_size = 0; + + RWNX_DBG(RWNX_FN_ENTRY_STR); + + ///todo: add our lock + //net_os_wake_lock(net); + + +/* if (!capable(CAP_NET_ADMIN)) { + ret = -EPERM; + goto exit; + }*/ + if (!ifr->ifr_data) { + ret = -EINVAL; + goto exit; + } + +#ifdef CONFIG_COMPAT +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0)) + if (in_compat_syscall()) +#else + if (is_compat_task()) +#endif + { + compat_android_wifi_priv_cmd compat_priv_cmd; + if (copy_from_user(&compat_priv_cmd, ifr->ifr_data, sizeof(compat_android_wifi_priv_cmd))) { + ret = -EFAULT; + goto exit; + } + priv_cmd.buf = compat_ptr(compat_priv_cmd.buf); + priv_cmd.used_len = compat_priv_cmd.used_len; + priv_cmd.total_len = compat_priv_cmd.total_len; + } else +#endif /* CONFIG_COMPAT */ + { + if (copy_from_user(&priv_cmd, ifr->ifr_data, sizeof(android_wifi_priv_cmd))) { + ret = -EFAULT; + goto exit; + } + } + if ((priv_cmd.total_len > PRIVATE_COMMAND_MAX_LEN) || (priv_cmd.total_len < 0)) { + printk("%s: buf length invalid:%d\n", __FUNCTION__, priv_cmd.total_len); + ret = -EINVAL; + goto exit; + } + + buf_size = max(priv_cmd.total_len, PRIVATE_COMMAND_DEF_LEN); + command = kmalloc((buf_size + 1), GFP_KERNEL); + + if (!command) + { + printk("%s: failed to allocate memory\n", __FUNCTION__); + ret = -ENOMEM; + goto exit; + } + if (copy_from_user(command, priv_cmd.buf, priv_cmd.used_len)) { + ret = -EFAULT; + goto exit; + } + command[priv_cmd.used_len] = '\0'; + + /* outputs */ + printk("%s: Devipc custom msg \"%s\" on %s\n", __FUNCTION__, command, ifr->ifr_name); + printk("cmd = %x\n", cmd); + printk("buf_size=%d\n", buf_size); + + + bytes_written = handle_custom_msg(command, priv_cmd.used_len); + if (bytes_written >= 0) { + if ((bytes_written == 0) && (priv_cmd.total_len > 0)) { + command[0] = '\0'; + } + if (bytes_written >= priv_cmd.total_len) { + printk("%s: err. bytes_written:%d >= buf_size:%d \n", + __FUNCTION__, bytes_written, buf_size); + goto exit; + } + bytes_written++; + priv_cmd.used_len = bytes_written; + if (copy_to_user(priv_cmd.buf, command, bytes_written)) { + printk("%s: failed to copy data to user buffer\n", __FUNCTION__); + ret = -EFAULT; + } + } + else { + /* Propagate the error */ + ret = bytes_written; + } + +exit: + ///todo: add our unlock + //net_os_wake_unlock(net); + kfree(command); + Sreturn ret; +} +#endif + diff --git a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/aic_priv_cmd.h b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/aic_priv_cmd.h new file mode 100755 index 000000000..265658ed1 --- /dev/null +++ b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/aic_priv_cmd.h @@ -0,0 +1,33 @@ +/** + ****************************************************************************** + * + * @file private_cmd.h + * + * Copyright (C) Aicsemi 2018-2024 + * + ****************************************************************************** + */ + +#ifndef _AIC_PRIV_CMD_H_ +#define _AIC_PRIV_CMD_H_ + +#include "rwnx_defs.h" + +typedef struct _android_wifi_priv_cmd { + char *buf; + int used_len; + int total_len; +} android_wifi_priv_cmd; + +#ifdef CONFIG_COMPAT +typedef struct _compat_android_wifi_priv_cmd { + compat_caddr_t buf; + int used_len; + int total_len; +} compat_android_wifi_priv_cmd; +#endif /* CONFIG_COMPAT */ + +int android_priv_cmd(struct net_device *net, struct ifreq *ifr, int cmd); + +#endif /* _AIC_PRIV_CMD_H_ */ + diff --git a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/aic_vendor.c b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/aic_vendor.c index 0cc6d5a39..7dead4b31 100755 --- a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/aic_vendor.c +++ b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/aic_vendor.c @@ -27,6 +27,15 @@ static struct wifi_ring_buffer_status ring_buffer[] = { static struct wlan_driver_wake_reason_cnt_t wake_reason_cnt = { .total_cmd_event_wake = 10, }; + +enum apf_attributes { + APF_ATTRIBUTE_VERSION, + APF_ATTRIBUTE_MAX_LEN, + APF_ATTRIBUTE_PROGRAM, + APF_ATTRIBUTE_PROGRAM_LEN, + APF_ATTRIBUTE_MAX +}; + #endif int aic_dev_start_mkeep_alive(struct rwnx_hw *rwnx_hw, struct rwnx_vif *rwnx_vif, @@ -578,7 +587,69 @@ out_put_fail: return -EMSGSIZE; } -static int aicwf_vendor_apf_subcmd_get_capabilities(struct wiphy *wiphy, struct wireless_dev *wdev, +static int aicwf_vendor_logger_get_tx_pkt_fates(struct wiphy *wiphy, struct wireless_dev *wdev, + const void *data, int len) +{ +#if 0 + int ret = 0, rem, type; + const struct nlattr *iter; + int fate_num; + int fate_data; + + AICWFDBG(LOGDEBUG, "%s Enter\r\n", __func__); + nla_for_each_attr(iter, data, len, rem) { + type = nla_type(iter); + switch (type) { + case LOGGER_ATTRIBUTE_PKT_FATE_NUM: + fate_num = nla_get_u32(iter); + break; + case LOGGER_ATTRIBUTE_PKT_FATE_DATA: + fate_data = nla_get_u64(iter); + break; + default: + AICWFDBG(LOGERROR, "%s(%d), Unknown type: %d\n", __func__, __LINE__, type); + return -EINVAL; + } + } +#endif + /* TODO + * Add handle in the future + */ + return 0; +} + +static int aicwf_vendor_logger_get_rx_pkt_fates(struct wiphy *wiphy, struct wireless_dev *wdev, + const void *data, int len) +{ +#if 0 + int ret = 0, rem, type; + const struct nlattr *iter; + int fate_num; + int fate_data; + + AICWFDBG(LOGDEBUG, "%s Enter\r\n", __func__); + nla_for_each_attr(iter, data, len, rem) { + type = nla_type(iter); + switch (type) { + case LOGGER_ATTRIBUTE_PKT_FATE_NUM: + fate_num = nla_get_u32(iter); + break; + case LOGGER_ATTRIBUTE_PKT_FATE_DATA: + fate_data = nla_get_u64(iter); + break; + default: + AICWFDBG(LOGERROR, "%s(%d), Unknown type: %d\n", __func__, __LINE__, type); + return -EINVAL; + } + } +#endif + /* TODO + * Add handle in the future + */ + return 0; +} + +static int aicwf_vendor_logger_start_pkt_fate_monitoring(struct wiphy *wiphy, struct wireless_dev *wdev, const void *data, int len) { /* TODO @@ -587,6 +658,44 @@ static int aicwf_vendor_apf_subcmd_get_capabilities(struct wiphy *wiphy, struct return 0; } +static int aicwf_vendor_apf_subcmd_get_capabilities(struct wiphy *wiphy, struct wireless_dev *wdev, + const void *data, int len) +{ + int ver, max_len; + int ret = 0; + struct sk_buff *skb = NULL; + + /* APF version */ + ver = 4; + /* APF memory size limit */ + max_len = 2048; + + + skb = cfg80211_vendor_cmd_alloc_reply_skb(wiphy, max_len); + + ret = nla_put_u32(skb, APF_ATTRIBUTE_VERSION, ver); + if (ret < 0) { + AICWFDBG(LOGERROR, "Failed to put APF_ATTRIBUTE_VERSION, ret:%d\n", ret); + goto fail; + } + ret = nla_put_u32(skb, APF_ATTRIBUTE_MAX_LEN, max_len); + if (ret < 0) { + AICWFDBG(LOGERROR, "Failed to put APF_ATTRIBUTE_MAX_LEN, ret:%d\n", ret); + goto fail; + } + + ret = cfg80211_vendor_cmd_reply(skb); + if (unlikely(ret)) { + AICWFDBG(LOGERROR, "vendor command reply failed, ret=%d\n", ret); + } + +fail: + /* TODO + * Add handle in the future + */ + return ret; +} + static int aicwf_vendor_sub_cmd_set_mac(struct wiphy *wiphy, struct wireless_dev *wdev, const void *data, int len) { @@ -855,6 +964,48 @@ const struct wiphy_vendor_command aicwf_vendor_cmd[] = { #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 4, 0) .dumpit = aicwf_dump_interface, #endif +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 3, 0) + .policy = VENDOR_CMD_RAW_DATA, +#endif + }, + { + { + .vendor_id = GOOGLE_OUI, + .subcmd = LOGGER_START_PKT_FATE_MONITORING + }, + .flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV, + .doit = aicwf_vendor_logger_start_pkt_fate_monitoring, +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 4, 0) + .dumpit = aicwf_dump_interface, +#endif +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 3, 0) + .policy = VENDOR_CMD_RAW_DATA, +#endif + }, + { + { + .vendor_id = GOOGLE_OUI, + .subcmd = LOGGER_GET_TX_PKT_FATES + }, + .flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV, + .doit = aicwf_vendor_logger_get_tx_pkt_fates, +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 4, 0) + .dumpit = aicwf_dump_interface, +#endif +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 3, 0) + .policy = VENDOR_CMD_RAW_DATA, +#endif + }, + { + { + .vendor_id = GOOGLE_OUI, + .subcmd = LOGGER_GET_RX_PKT_FATES + }, + .flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV, + .doit = aicwf_vendor_logger_get_rx_pkt_fates, +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 4, 0) + .dumpit = aicwf_dump_interface, +#endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 3, 0) .policy = VENDOR_CMD_RAW_DATA, #endif @@ -889,6 +1040,7 @@ const struct wiphy_vendor_command aicwf_vendor_cmd[] = { .maxattr = WIFI_VENDOR_ATTR_DRIVER_MAX, #endif }, + }; #endif diff --git a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/aicwf_compat_8800d80.c b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/aicwf_compat_8800d80.c index 72eeb93ce..7f50fe6bf 100755 --- a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/aicwf_compat_8800d80.c +++ b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/aicwf_compat_8800d80.c @@ -20,15 +20,17 @@ int aicwf_set_rf_config_8800d80(struct rwnx_hw *rwnx_hw, struct mm_set_rf_calib_ return -1; } + if ((ret = rwnx_send_txpwr_lvl_adj_req(rwnx_hw))) { + return -1; + } + if ((ret = rwnx_send_txpwr_ofst2x_req(rwnx_hw))) { return -1; } - if (testmode == 0) { if ((ret = rwnx_send_rf_calib_req(rwnx_hw, cfm))) { - return -1; - } - } + return -1; + } return 0 ; } diff --git a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/aicwf_compat_8800dc.c b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/aicwf_compat_8800dc.c index f817fc042..c3de44526 100755 --- a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/aicwf_compat_8800dc.c +++ b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/aicwf_compat_8800dc.c @@ -16,6 +16,7 @@ void rwnx_plat_userconfig_parsing2(char *buffer, int size); void rwnx_release_firmware_common(u32** buffer); +#if !defined(CONFIG_EXT_FEM_8800DCDW) u32 wifi_txgain_table_24g_8800dcdw[32] = { 0xA4B22189, //index 0 @@ -160,6 +161,80 @@ u32 wifi_txgain_table_24g_1_8800dcdw_h[32] = 0x00001825, }; +#else /* #ifdef CONFIG_EXT_FEM_8800DCDW */ +// ofdm +uint32_t wifi_txgain_table_24g_8800dcdw_femkct[32] = { + 0x919221C2, //index 0 + 0x00007825, + 0x899221C3, //index 1 + 0x00007825, + 0x8B9221C3, //index 2 + 0x00007825, + 0x929221C3, //index 3 + 0x00007825, + 0x949221C4, //index 4 + 0x00007825, + 0x969221C4, //index 5 + 0x00007825, + 0x949221C6, //index 6 + 0x00007825, + 0x949221C8, //index 7 + 0x00007825, + 0x9C9221C8, //index 8 + 0x00007825, + 0x9C9221CA, //index 9 + 0x00007825, + 0x9C9221CB, //index 10 + 0x00007825, + 0x939221D5, //index 11 + 0x00007825, + 0x9B9221D7, //index 12 + 0x00007825, + 0xA49221D7, //index 13 + 0x00007825, + 0xA79221D7, //index 14 + 0x00007825, + 0xBD9221D7, //index 15 + 0x00007825, +}; + +// 11b +uint32_t wifi_txgain_table_24g_1_8800dcdw_femkct[32] = { + 0x836E20C2, //index 0 + 0x00003024, + 0x856E20C2, //index 1 + 0x00003024, + 0x826E20C3, //index 2 + 0x00003024, + 0x836E20C3, //index 3 + 0x00003024, + 0x856E20C3, //index 4 + 0x00003024, + 0x876E20C3, //index 5 + 0x00003024, + 0x8B6E20C3, //index 6 + 0x00003024, + 0x926E20C4, //index 7 + 0x00003024, + 0x9A6E20C4, //index 8 + 0x00003024, + 0x936E20C5, //index 9 + 0x00003024, + 0x936E20C7, //index 10 + 0x00003024, + 0xA16E20C8, //index 11 + 0x00003024, + 0xA16E20CA, //index 12 + 0x00003024, + 0xA26E20CB, //index 13 + 0x00003024, + 0xAA6E20CD, //index 14 + 0x00003024, + 0xAC7220CF, //index 15 + 0x00003024, +}; +#endif + u32 wifi_rxgain_table_24g_20m_8800dcdw[64] = { 0x82f282d1,//index 0 0x9591a324, @@ -423,6 +498,7 @@ int aicwf_set_rf_config_8800dc(struct rwnx_hw *rwnx_hw, struct mm_set_rf_calib_c if (testmode == 0) { + #if !defined(CONFIG_EXT_FEM_8800DCDW) if (IS_CHIP_ID_H()) { if ((ret = rwnx_send_rf_config_req(rwnx_hw, 0, 1, (u8_l *)wifi_txgain_table_24g_8800dcdw_h, 128))) return -1; @@ -436,6 +512,18 @@ int aicwf_set_rf_config_8800dc(struct rwnx_hw *rwnx_hw, struct mm_set_rf_calib_c if ((ret = rwnx_send_rf_config_req(rwnx_hw, 16, 1, (u8_l *)wifi_txgain_table_24g_1_8800dcdw, 128))) return -1; } + #else /* #ifdef CONFIG_EXT_FEM_8800DCDW */ + { + ret = rwnx_send_rf_config_req(rwnx_hw, 0, 1, (u8_l *)wifi_txgain_table_24g_8800dcdw_femkct, 128); + if (ret) { + return -1; + } + ret = rwnx_send_rf_config_req(rwnx_hw, 16, 1, (u8_l *)wifi_txgain_table_24g_1_8800dcdw_femkct, 128); + if (ret) { + return -1; + } + } + #endif if ((ret = rwnx_send_rf_config_req(rwnx_hw, 0, 0, (u8_l *)wifi_rxgain_table_24g_20m_8800dcdw, 256))) return -1; diff --git a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/aicwf_debug.h b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/aicwf_debug.h index 25a576656..6fdb3ee9e 100755 --- a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/aicwf_debug.h +++ b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/aicwf_debug.h @@ -20,6 +20,8 @@ void rwnx_data_dump(char* tag, void* data, unsigned long len); #define AICWF_LOG "AICWFDBG(" + +#ifdef DEBUG #define AICWFDBG(level, args, arg...) \ do { \ if (aicwf_dbg_level & level) { \ @@ -33,8 +35,12 @@ do { \ printk(AICWF_LOG"LOGTRACE)\t"fmt , ##__VA_ARGS__); \ } \ } while (0) +#else +#define AICWFDBG(level, args, arg...) +#define RWNX_DBG(fmt, ...) +#endif #if 0 #define RWNX_DBG(fmt, ...) \ diff --git a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/aicwf_sdio.c b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/aicwf_sdio.c index 53c9710dd..422532ba2 100755 --- a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/aicwf_sdio.c +++ b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/aicwf_sdio.c @@ -57,6 +57,13 @@ struct proc_dir_entry *wifi_suspend_node; int tx_aggr_counter = 32; module_param_named(tx_aggr_counter, tx_aggr_counter, int, 0644); +#ifdef CONFIG_TX_NETIF_FLOWCTRL +int tx_fc_low_water = AICWF_SDIO_TX_LOW_WATER; +module_param_named(tx_fc_low_water, tx_fc_low_water, int, 0644); + +int tx_fc_high_water = AICWF_SDIO_TX_HIGH_WATER; +module_param_named(tx_fc_high_water, tx_fc_high_water, int, 0644); +#endif int aicwf_sdio_readb(struct aic_sdio_dev *sdiodev, uint regaddr, u8 *val) { @@ -76,6 +83,21 @@ int aicwf_sdio_writeb(struct aic_sdio_dev *sdiodev, uint regaddr, u8 val) return ret; } +#ifdef CONFIG_TX_NETIF_FLOWCTRL +void aicwf_sdio_tx_netif_flowctrl(struct rwnx_hw *rwnx_hw, bool state) +{ + struct rwnx_vif *rwnx_vif; + list_for_each_entry(rwnx_vif, &rwnx_hw->vifs, list) { + if (! rwnx_vif->up) + continue; + if (state) + netif_tx_stop_all_queues(rwnx_vif->ndev);//netif_stop_queue(rwnx_vif->ndev); + else + netif_tx_wake_all_queues(rwnx_vif->ndev);//netif_wake_queue(rwnx_vif->ndev); + } +} +#endif + int aicwf_sdio_flow_ctrl_msg(struct aic_sdio_dev *sdiodev) { int ret = -1; @@ -398,7 +420,9 @@ static int rwnx_register_hostwake_irq(struct device *dev) //ws_rx_sdio = wakeup_source_register(dev, "wifi_rx_sleep"); //ws_sdio_pwrctrl = wakeup_source_register(dev, "sdio_pwrctrl_sleep"); #else +#ifdef ANDROID_PLATFORM wake_lock_init(&irq_wakelock, WAKE_LOCK_SUSPEND, "wifisleep"); +#endif #endif ret = device_init_wakeup(dev, true); if (ret < 0) { @@ -442,8 +466,10 @@ fail1: //wakeup_source_unregister(ws_rx_sdio); //wakeup_source_unregister(ws_sdio_pwrctrl); #else +#ifdef ANDROID_PLATFORM wake_lock_destroy(&irq_wakelock); #endif +#endif #endif//CONFIG_GPIO_WAKEUP return ret; } @@ -681,6 +707,7 @@ void aicwf_sdio_remove_(struct sdio_func *func){ aicwf_sdio_remove(func); } +#ifdef SDIO_REMOVEABLE static int aicwf_sdio_suspend(struct device *dev) { int ret = 0; @@ -764,11 +791,6 @@ static int aicwf_sdio_resume(struct device *dev) aicwf_sdio_pwr_stctl(sdiodev, SDIO_ACTIVE_ST); #endif - #ifdef CONFIG_WIFI_SUSPEND_FOR_LINUX - rwnx_set_wifi_suspend('0'); - #endif//CONFIG_WIFI_SUSPEND_FOR_LINUX - - // aicwf_sdio_hal_irqhandler(sdiodev->func); #if defined(CONFIG_PLATFORM_ROCKCHIP) || defined(CONFIG_PLATFORM_ROCKCHIP2) @@ -786,10 +808,15 @@ static int aicwf_sdio_resume(struct device *dev) #endif atomic_set(&sdiodev->is_bus_suspend, 0); // smp_mb(); + #ifdef CONFIG_WIFI_SUSPEND_FOR_LINUX + rwnx_set_wifi_suspend('0'); + #endif//CONFIG_WIFI_SUSPEND_FOR_LINUX + sdio_dbg("%s exit\n", __func__); return 0; } +#endif static const struct sdio_device_id aicwf_sdmmc_ids[] = { {SDIO_DEVICE(SDIO_VENDOR_ID_AIC8801, SDIO_DEVICE_ID_AIC8801)}, @@ -1259,6 +1286,9 @@ static int aicwf_sdio_tx_msg(struct aic_sdio_dev *sdiodev) static void aicwf_sdio_tx_process(struct aic_sdio_dev *sdiodev) { int err = 0; +#ifdef CONFIG_TX_NETIF_FLOWCTRL + unsigned long flags; +#endif if (sdiodev->bus_if->state == BUS_DOWN_ST) { sdio_err("Bus is down\n"); @@ -1323,6 +1353,19 @@ static void aicwf_sdio_tx_process(struct aic_sdio_dev *sdiodev) } } +#ifdef CONFIG_TX_NETIF_FLOWCTRL + spin_lock_irqsave(&sdiodev->tx_flow_lock, flags); + if (atomic_read(&sdiodev->tx_priv->tx_pktcnt) < tx_fc_low_water) { + //printk("sdiodev->tx_priv->tx_pktcnt < tx_fc_low_water:%d %d\r\n", + // atomic_read(&sdiodev->tx_priv->tx_pktcnt), tx_fc_low_water); + if (sdiodev->flowctrl) { + sdiodev->flowctrl = 0; + aicwf_sdio_tx_netif_flowctrl(sdiodev->rwnx_hw, false); + } + } + spin_unlock_irqrestore(&sdiodev->tx_flow_lock, flags); +#endif + up(&sdiodev->tx_priv->txctl_sema); } @@ -1334,6 +1377,9 @@ static int aicwf_sdio_bus_txdata(struct device *dev, struct sk_buff *pkt) int headroom = 0; struct aicwf_bus *bus_if = dev_get_drvdata(dev); struct aic_sdio_dev *sdiodev = bus_if->bus_priv.sdio; +#ifdef CONFIG_TX_NETIF_FLOWCTRL + unsigned long flags; +#endif if (bus_if->state == BUS_DOWN_ST) { sdio_err("bus_if stopped\n"); @@ -1355,6 +1401,7 @@ static int aicwf_sdio_bus_txdata(struct device *dev, struct sk_buff *pkt) consume_skb(pkt); spin_unlock_bh(&sdiodev->tx_priv->txqlock); return -ENOSR; + goto flowctrl; } else { ret = 0; } @@ -1363,6 +1410,20 @@ static int aicwf_sdio_bus_txdata(struct device *dev, struct sk_buff *pkt) spin_unlock_bh(&sdiodev->tx_priv->txqlock); complete(&bus_if->bustx_trgg); + flowctrl: +#ifdef CONFIG_TX_NETIF_FLOWCTRL + spin_lock_irqsave(&sdiodev->tx_flow_lock, flags); + if (atomic_read(&sdiodev->tx_priv->tx_pktcnt) >= tx_fc_high_water) { + //printk("sdiodev->tx_priv->tx_pktcnt >= tx_fc_high_water:%d %d\r\n", + // atomic_read(&sdiodev->tx_priv->tx_pktcnt), tx_fc_high_water); + if (!sdiodev->flowctrl) { + sdiodev->flowctrl = 1; + aicwf_sdio_tx_netif_flowctrl(sdiodev->rwnx_hw, true); + } + } + spin_unlock_irqrestore(&sdiodev->tx_flow_lock, flags); +#endif + return ret; } @@ -1407,6 +1468,9 @@ int aicwf_sdio_send(struct aicwf_tx_priv *tx_priv, u8 txnow) struct sk_buff *pkt; struct aic_sdio_dev *sdiodev = tx_priv->sdiodev; u32 aggr_len = 0; +#ifdef CONFIG_TX_NETIF_FLOWCTRL + unsigned long flags; +#endif aggr_len = (tx_priv->tail - tx_priv->head); if (((atomic_read(&tx_priv->aggr_count) == 0) && (aggr_len != 0)) @@ -1432,6 +1496,19 @@ int aicwf_sdio_send(struct aicwf_tx_priv *tx_priv, u8 txnow) atomic_dec(&sdiodev->tx_priv->tx_pktcnt); spin_unlock_bh(&sdiodev->tx_priv->txqlock); +#ifdef CONFIG_TX_NETIF_FLOWCTRL + spin_lock_irqsave(&sdiodev->tx_flow_lock, flags); + if (atomic_read(&sdiodev->tx_priv->tx_pktcnt) < tx_fc_low_water) { + //printk("sdiodev->tx_priv->tx_pktcnt < tx_fc_low_water:%d %d\r\n", + // atomic_read(&sdiodev->tx_priv->tx_pktcnt), tx_fc_low_water); + if (sdiodev->flowctrl) { + sdiodev->flowctrl = 0; + aicwf_sdio_tx_netif_flowctrl(sdiodev->rwnx_hw, false); + } + } + spin_unlock_irqrestore(&sdiodev->tx_flow_lock, flags); +#endif + if (tx_priv == NULL || tx_priv->tail == NULL || pkt == NULL) txrx_err("null error\n"); if (aicwf_sdio_aggr(tx_priv, pkt)) { @@ -1575,7 +1652,7 @@ static int aicwf_sdio_bus_start(struct device *dev) #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 4, 0)) #include "uapi/linux/sched/types.h" -#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 17, 0)) +#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0)) #include "linux/sched/types.h" #else #include "linux/sched/rt.h" @@ -1947,15 +2024,16 @@ void aicwf_sdio_hal_irqhandler(struct sdio_func *func) return; } +#ifdef CONFIG_PREALLOC_RX_SKB + if (list_empty(&aic_rx_buff_list.rxbuff_list)) { + printk("%s %d, rxbuff list is empty\n", __func__, __LINE__); + rwnx_wakeup_unlock(sdiodev->rwnx_hw->ws_irqrx); + return; + } +#endif + if (sdiodev->chipid == PRODUCT_ID_AIC8801 || sdiodev->chipid == PRODUCT_ID_AIC8800DC || sdiodev->chipid == PRODUCT_ID_AIC8800DW) { - #ifdef CONFIG_PREALLOC_RX_SKB - if (list_empty(&aic_rx_buff_list.rxbuff_list)) { - printk("%s %d, rxbuff list is empty\n", __func__, __LINE__); - rwnx_wakeup_unlock(sdiodev->rwnx_hw->ws_irqrx); - return; - } - #endif ret = aicwf_sdio_readb(sdiodev, sdiodev->sdio_reg.block_cnt_reg, &intstatus); while (ret || (intstatus & SDIO_OTHER_INTERRUPT)) { sdio_err("ret=%d, intstatus=%x\r\n", ret, intstatus); @@ -2081,24 +2159,32 @@ static struct aicwf_bus_ops aicwf_sdio_bus_ops = { void aicwf_sdio_release(struct aic_sdio_dev *sdiodev) { struct aicwf_bus *bus_if; -#ifdef CONFIG_OOB - int ret; -#endif + int ret; + AICWFDBG(LOGINFO, "%s Enter\n", __func__); bus_if = dev_get_drvdata(sdiodev->dev); bus_if->state = BUS_DOWN_ST; #ifdef CONFIG_OOB - if(sdiodev->oob_enable){ - sdio_claim_host(sdiodev->func); - //disable sdio interrupt - ret = aicwf_sdio_writeb(sdiodev, sdiodev->sdio_reg.intr_config_reg, 0x0); - if (ret < 0) { - AICWFDBG(LOGERROR, "reg:%d write failed!\n", sdiodev->sdio_reg.intr_config_reg); - } - sdio_release_irq(sdiodev->func); - sdio_release_host(sdiodev->func); - } + if(sdiodev->oob_enable){ + sdio_claim_host(sdiodev->func); + //disable sdio interrupt + ret = aicwf_sdio_writeb(sdiodev, sdiodev->sdio_reg.intr_config_reg, 0x0); + if (ret < 0) { + AICWFDBG(LOGERROR, "reg:%d write failed!\n", sdiodev->sdio_reg.intr_config_reg); + } + sdio_release_irq(sdiodev->func); + sdio_release_host(sdiodev->func); + } +#else + sdio_claim_host(sdiodev->func); + //disable sdio interrupt + ret = aicwf_sdio_writeb(sdiodev, sdiodev->sdio_reg.intr_config_reg, 0x0); + if (ret < 0) { + sdio_err("reg:%d write failed!\n", sdiodev->sdio_reg.intr_config_reg); + } + sdio_release_irq(sdiodev->func); + sdio_release_host(sdiodev->func); #endif if (sdiodev->dev) aicwf_bus_deinit(sdiodev->dev); @@ -2404,6 +2490,10 @@ void *aicwf_sdio_bus_init(struct aic_sdio_dev *sdiodev) sdiodev->pwrctl_tsk = NULL; } #endif +#ifdef CONFIG_TX_NETIF_FLOWCTRL + sdiodev->flowctrl = 0; + spin_lock_init(&sdiodev->tx_flow_lock); +#endif ret = aicwf_bus_init(0, sdiodev->dev); if (ret < 0) { @@ -2457,11 +2547,13 @@ void rwnx_set_wifi_suspend(char onoff){ rwnx_send_me_set_lp_level(g_rwnx_plat->sdiodev->rwnx_hw, 0); }else{ printk("%s suspend \r\n", __func__); - rwnx_send_me_set_lp_level(g_rwnx_plat->sdiodev->rwnx_hw, 1); - aicwf_sdio_pwr_stctl(g_rwnx_plat->sdiodev, SDIO_SLEEP_ST); - ret = aicwf_sdio_writeb(g_rwnx_plat->sdiodev, SDIOWIFI_WAKEUP_REG, 2); - if (ret < 0) { - sdio_err("reg:%d write failed!\n", SDIOWIFI_WAKEUP_REG); + ret = rwnx_send_me_set_lp_level(g_rwnx_plat->sdiodev->rwnx_hw, 1); + if (!ret) { + aicwf_sdio_pwr_stctl(g_rwnx_plat->sdiodev, SDIO_SLEEP_ST); + ret = aicwf_sdio_writeb(g_rwnx_plat->sdiodev, SDIOWIFI_WAKEUP_REG, 2); + if (ret < 0) { + sdio_err("reg:%d write failed!\n", SDIOWIFI_WAKEUP_REG); + } } } } diff --git a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/aicwf_sdio.h b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/aicwf_sdio.h index 19ec8472d..4ca6de280 100755 --- a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/aicwf_sdio.h +++ b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/aicwf_sdio.h @@ -57,6 +57,10 @@ #define SDIO_ACTIVE_ST 1 #define DATA_FLOW_CTRL_THRESH 2 +#ifdef CONFIG_TX_NETIF_FLOWCTRL +#define AICWF_SDIO_TX_LOW_WATER 100 +#define AICWF_SDIO_TX_HIGH_WATER 500 +#endif typedef enum { SDIO_TYPE_DATA = 0X00, @@ -110,6 +114,10 @@ struct aic_sdio_dev { struct aicwf_rx_priv *rx_priv; struct aicwf_tx_priv *tx_priv; u32 state; +#ifdef CONFIG_TX_NETIF_FLOWCTRL + u8 flowctrl; + spinlock_t tx_flow_lock; +#endif #if defined(CONFIG_SDIO_PWRCTRL) //for sdio pwr ctrl @@ -139,6 +147,9 @@ void aicwf_sdio_reg_init(struct aic_sdio_dev *sdiodev); int aicwf_sdio_func_init(struct aic_sdio_dev *sdiodev); int aicwf_sdiov3_func_init(struct aic_sdio_dev *sdiodev); void aicwf_sdio_func_deinit(struct aic_sdio_dev *sdiodev); +#ifdef CONFIG_TX_NETIF_FLOWCTRL +void aicwf_sdio_tx_netif_flowctrl(struct rwnx_hw *rwnx_hw, bool state); +#endif int aicwf_sdio_flow_ctrl(struct aic_sdio_dev *sdiodev); int aicwf_sdio_flow_ctrl_msg(struct aic_sdio_dev *sdiodev); #ifdef CONFIG_PREALLOC_RX_SKB diff --git a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/aicwf_tcp_ack.c b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/aicwf_tcp_ack.c index 6d766bc75..fa30efd81 100755 --- a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/aicwf_tcp_ack.c +++ b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/aicwf_tcp_ack.c @@ -7,7 +7,7 @@ struct msg_buf *intf_tcp_alloc_msg(struct msg_buf *msg) { //printk("%s \n",__func__); int len=sizeof(struct msg_buf) ; - msg = kzalloc(len , GFP_KERNEL); + msg = kzalloc(len , /*GFP_KERNEL*/GFP_ATOMIC); if(!msg) printk("%s: alloc failed \n", __func__); memset(msg,0,len); diff --git a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/aicwf_tcp_ack.h b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/aicwf_tcp_ack.h index ff7f11d91..d872e635c 100755 --- a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/aicwf_tcp_ack.h +++ b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/aicwf_tcp_ack.h @@ -36,10 +36,10 @@ struct msg_buf { u8 mode; u16 len; unsigned long timeout;*/ - /* marlin 2 */ + /*unsigned int fifo_id; struct sprdwl_msg_list *msglist;*/ - /* marlin 3 */ + /*unsigned char buffer_type; struct sprdwl_xmit_msg_list *xmit_msg_list; unsigned char msg_type; diff --git a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/lmac_msg.h b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/lmac_msg.h index 10b0fe5d2..92452942d 100755 --- a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/lmac_msg.h +++ b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/lmac_msg.h @@ -394,6 +394,9 @@ enum mm_msg_tag { MM_SET_VENDOR_SWCONFIG_REQ, MM_SET_VENDOR_SWCONFIG_CFM, + MM_SET_TXPWR_LVL_ADJ_REQ, + MM_SET_TXPWR_LVL_ADJ_CFM, + /// MAX number of messages MM_MAX, }; @@ -1160,6 +1163,7 @@ struct mm_set_arpoffload_en_cfm { struct mm_set_agg_disable_req { u8_l disable; u8_l staidx; + u8_l disable_rx; }; struct mm_set_coex_req { @@ -1259,6 +1263,13 @@ typedef struct s8_l pwrlvl_11ax_5g[12]; } txpwr_lvl_conf_v3_t; +typedef struct +{ + u8_l enable; + s8_l pwrlvl_adj_tbl_2g4[3]; + s8_l pwrlvl_adj_tbl_5g[6]; +} txpwr_lvl_adj_conf_t; + typedef struct { u8_l loss_enable; @@ -1274,6 +1285,10 @@ struct mm_set_txpwr_lvl_req }; }; +struct mm_set_txpwr_lvl_adj_req +{ + txpwr_lvl_adj_conf_t txpwr_lvl_adj; +}; typedef struct { u8_l enable; @@ -1834,11 +1849,19 @@ struct me_traffic_ind_req { struct mm_apm_staloss_ind { - u8_l sta_idx; - u8_l vif_idx; - u8_l mac_addr[6]; + u8_l sta_idx; + u8_l vif_idx; + u8_l mac_addr[6]; }; +#ifdef CONFIG_SDIO_BT +struct mm_bt_recv_ind +{ + u32_l data_len; + u8_l bt_data[1024]; +}; +#endif + enum vendor_hwconfig_tag{ ACS_TXOP_REQ = 0, CHANNEL_ACCESS_REQ, @@ -1846,6 +1869,10 @@ enum vendor_hwconfig_tag{ CCA_THRESHOLD_REQ, BWMODE_REQ, CHIP_TEMP_GET_REQ, + AP_PS_LEVEL_SET_REQ, + CUSTOMIZED_FREQ_REQ, + WAKEUP_INFO_REQ, + KEEPALIVE_PKT_REQ, }; enum { @@ -1915,6 +1942,12 @@ struct mm_get_chip_temp_cfm s8_l degree; }; +struct mm_set_ap_ps_level_req +{ + u32_l hwconfig_id; + u8 ap_ps_level; +}; + struct mm_set_vendor_hwconfig_cfm { u32_l hwconfig_id; @@ -1923,6 +1956,31 @@ struct mm_set_vendor_hwconfig_cfm }; }; +struct mm_set_customized_freq_req +{ + u32_l hwconfig_id; + u16_l raw_freq[4]; + u16_l map_freq[4]; +}; + +struct mm_set_wakeup_info_req +{ + u32_l hwconfig_id; + u16_l offset; + u8_l length; + u8_l mask_and_patten[]; + +}; + +struct mm_set_keepalive_req +{ + u32_l hwconfig_id; + u16_l code; + u16_l length; + u32_l intv; + u8_l payload[]; +}; + struct mm_set_txop_req { u16_l txop_bk; @@ -1949,6 +2007,9 @@ enum vendor_swconfig_tag BCN_CFG_REQ = 0, TEMP_COMP_SET_REQ, TEMP_COMP_GET_REQ, + EXT_FLAGS_SET_REQ, + EXT_FLAGS_GET_REQ, + EXT_FLAGS_MASK_SET_REQ, }; struct mm_set_bcn_cfg_req @@ -1985,12 +2046,40 @@ struct mm_get_temp_comp_cfm s8_l degree; }; +struct mm_set_ext_flags_req +{ + u32_l user_flags; +}; + +struct mm_set_ext_flags_cfm +{ + u32_l user_flags; +}; + +struct mm_get_ext_flags_cfm +{ + u32_l user_flags; +}; + +struct mm_mask_set_ext_flags_req +{ + u32_l user_flags_mask; + u32_l user_flags_val; +}; + +struct mm_mask_set_ext_flags_cfm +{ + u32_l user_flags; +}; + struct mm_set_vendor_swconfig_req { u32_l swconfig_id; union { struct mm_set_bcn_cfg_req bcn_cfg_req; struct mm_set_temp_comp_req temp_comp_set_req; + struct mm_set_ext_flags_req ext_flags_set_req; + struct mm_mask_set_ext_flags_req ext_flags_mask_set_req; }; }; @@ -2001,9 +2090,25 @@ struct mm_set_vendor_swconfig_cfm struct mm_set_bcn_cfg_cfm bcn_cfg_cfm; struct mm_set_temp_comp_cfm temp_comp_set_cfm; struct mm_get_temp_comp_cfm temp_comp_get_cfm; + struct mm_set_ext_flags_cfm ext_flags_set_cfm; + struct mm_get_ext_flags_cfm ext_flags_get_cfm; + struct mm_mask_set_ext_flags_cfm ext_flags_mask_set_cfm; }; }; +#ifdef CONFIG_SDIO_BT +struct mm_bt_send_req +{ + u32_l data_len; + u8_l bt_data[1024]; +}; + +struct mm_bt_send_cfm +{ + u8_l status; +}; +#endif + /// Structure containing the parameters of the @ref ME_RC_STATS_REQ message. struct me_rc_stats_req { /// Index of the station for which the RC statistics are requested @@ -2697,22 +2802,36 @@ enum dbg_msg_tag { /// Memory mask write confirm DBG_MEM_MASK_WRITE_CFM, - DBG_RFTEST_CMD_REQ, - DBG_RFTEST_CMD_CFM, - DBG_BINDING_REQ, - DBG_BINDING_CFM, - DBG_BINDING_IND, + DBG_RFTEST_CMD_REQ, + DBG_RFTEST_CMD_CFM, + DBG_BINDING_REQ, + DBG_BINDING_CFM, + DBG_BINDING_IND, - DBG_CUSTOM_MSG_REQ, - DBG_CUSTOM_MSG_CFM, - DBG_CUSTOM_MSG_IND, + DBG_CUSTOM_MSG_REQ, + DBG_CUSTOM_MSG_CFM, + DBG_CUSTOM_MSG_IND, - DBG_GPIO_WRITE_REQ, - DBG_GPIO_WRITE_CFM, - DBG_GPIO_READ_REQ, - DBG_GPIO_READ_CFM, - DBG_GPIO_INIT_REQ, - DBG_GPIO_INIT_CFM, + DBG_GPIO_WRITE_REQ, + DBG_GPIO_WRITE_CFM, + DBG_GPIO_READ_REQ, + DBG_GPIO_READ_CFM, + DBG_GPIO_INIT_REQ, + DBG_GPIO_INIT_CFM, + + /// EF usrdata read request + DBG_EF_USRDATA_READ_REQ, + /// EF usrdata read confirm + DBG_EF_USRDATA_READ_CFM, + /// Memory block read request + DBG_MEM_BLOCK_READ_REQ, + /// Memory block read confirm + DBG_MEM_BLOCK_READ_CFM, + + DBG_PWM_INIT_REQ, + DBG_PWM_INIT_CFM, + DBG_PWM_DEINIT_REQ, + DBG_PWM_DEINIT_CFM, /// Max number of Debug messages DBG_MAX, @@ -2883,6 +3002,12 @@ enum tdls_msg_tag { TDLS_PEER_TRAFFIC_IND_REQ, /// TDLS peer traffic indication confirmation. TDLS_PEER_TRAFFIC_IND_CFM, + +#ifdef CONFIG_SDIO_BT + TDLS_SDIO_BT_SEND_REQ = LMAC_FIRST_MSG(TASK_TDLS)+16, + TDLS_SDIO_BT_SEND_CFM, + TDLS_SDIO_BT_RECV_IND, +#endif /// MAX number of messages TDLS_MAX }; diff --git a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/regdb.c b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/regdb.c index 0f8777066..c984c03f2 100755 --- a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/regdb.c +++ b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/regdb.c @@ -2891,6 +2891,7 @@ const struct ieee80211_regdomain *reg_regdb[] = { ®dom_YT, ®dom_ZA, ®dom_ZW, + NULL, }; int reg_regdb_size = ARRAY_SIZE(reg_regdb); diff --git a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/rwnx_debugfs.c b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/rwnx_debugfs.c index f4594f4bc..f7e2dd2f6 100755 --- a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/rwnx_debugfs.c +++ b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/rwnx_debugfs.c @@ -1334,6 +1334,14 @@ static ssize_t rwnx_dbgfs_vendor_hwconfig_write(struct file *file, printk("CHIP_TEMP_GET_REQ degree=%d\n", addr_out[0]); } break; + case 6://AP_PS_LEVEL_SET_REQ + if (ret != 2) { + printk("param error != 2\n"); + } else { + ret = rwnx_send_vendor_hwconfig_req(priv, hwconfig_id, addr, NULL); + printk("AP_PS_LEVEL_SET_REQ lvl=%d\n", addr[0]); + } + break; default: printk("param error\n"); break; @@ -1346,7 +1354,7 @@ static ssize_t rwnx_dbgfs_vendor_hwconfig_write(struct file *file, return count; } -DEBUGFS_WRITE_FILE_OPS(vendor_hwconfig) +DEBUGFS_WRITE_FILE_OPS(vendor_hwconfig); static ssize_t rwnx_dbgfs_vendor_swconfig_write(struct file *file, const char __user *user_buf, @@ -1400,6 +1408,35 @@ static ssize_t rwnx_dbgfs_vendor_swconfig_write(struct file *file, } break; + case 3: // EXT_FLAGS_SET_REQ + if (ret != 2) { + printk("param error != 2\n"); + } else { + ret = rwnx_send_vendor_swconfig_req(priv, swconfig_id, addr, addr_out); + printk("EXT_FLAGS_SET_REQ set ext_flags=0x%x, get ext_flags=0x%x\n", + addr[0], addr_out[0]); + } + break; + + case 4: // EXT_FLAGS_GET_REQ + if (ret != 1) { + printk("param error != 1\n"); + } else { + ret = rwnx_send_vendor_swconfig_req(priv, swconfig_id, addr, addr_out); + printk("EXT_FLAGS_GET_REQ get ext_flags=0x%x\n", addr_out[0]); + } + break; + + case 5: // EXT_FLAGS_MASK_SET_REQ + if (ret != 3) { + printk("param error != 3\n"); + } else { + ret = rwnx_send_vendor_swconfig_req(priv, swconfig_id, addr, addr_out); + printk("EXT_FLAGS_MASK_SET_REQ set ext_flags mask=0x%x, val=0x%x, get ext_flags=0x%x\n", + addr[0], addr[1], addr_out[0]); + } + break; + default: printk("param error\n"); break; @@ -1413,8 +1450,107 @@ static ssize_t rwnx_dbgfs_vendor_swconfig_write(struct file *file, return count; } -DEBUGFS_WRITE_FILE_OPS(vendor_swconfig) +DEBUGFS_WRITE_FILE_OPS(vendor_swconfig); +static ssize_t rwnx_dbgfs_agg_disable_write(struct file *file, + const char __user *user_buf, + size_t count, loff_t *ppos) +{ + struct rwnx_hw *priv = file->private_data; + char buf[64]; + int agg_disable, agg_disable_rx, sta_idx; + size_t len = min_t(size_t, count, sizeof(buf) - 1); + int ret; + printk("%s\n", __func__); + + if (copy_from_user(buf, user_buf, len)) { + return -EFAULT; + } + + buf[len] = '\0'; + ret = sscanf(buf, "%d %d %d", &agg_disable, &agg_disable_rx, &sta_idx); + if ((ret > 3) || (ret < 2)) { + printk("param error: cnt=%d\n", ret); + } else { + if (ret < 3) { + sta_idx = RWNX_INVALID_STA; + } + printk("disable_agg: T=%d, R=%d, staidx=%d\n", agg_disable, agg_disable_rx, sta_idx); + ret = rwnx_send_disable_agg_req(priv, (u8_l)agg_disable, (u8_l)agg_disable_rx, (u8_l)sta_idx); + if (ret) { + printk("rwnx_send_disable_agg_req fail: %d\n", ret); + } + } + + return count; +} + +DEBUGFS_WRITE_FILE_OPS(agg_disable); + +static ssize_t rwnx_dbgfs_set_roc_write(struct file *file, + const char __user *user_buf, + size_t count, loff_t *ppos) +{ + struct rwnx_hw *priv = file->private_data; + struct rwnx_vif *vif = NULL; + char buf[64]; + int roc_start, chan_freq, duration; + size_t len = min_t(size_t, count, sizeof(buf) - 1); + int ret; + int if_type = NL80211_IFTYPE_STATION; + printk("%s\n", __func__); + + if (copy_from_user(buf, user_buf, len)) { + return -EFAULT; + } + + buf[len] = '\0'; + ret = sscanf(buf, "%d %d %d", &roc_start, &chan_freq, &duration); + + list_for_each_entry(vif, &priv->vifs, list) { + if (RWNX_VIF_TYPE(vif) == if_type) { + break; + } + } + if ((ret > 3) || (ret < 1)) { + printk("param error: cnt=%d\n", ret); + } else if (vif) { + struct ieee80211_channel chan_entry = {0,}; + struct ieee80211_channel *chan = &chan_entry; + struct mm_remain_on_channel_cfm roc_cfm; + if (ret < 3) { + duration = 2000; + if (ret < 2) { + chan_freq = 2412; + } + } + printk("set_roc: start=%d, freq=%d\n", roc_start, chan_freq); + if (roc_start) { + if (chan_freq <= 2484) { + chan->band = NL80211_BAND_2GHZ; + } else { + chan->band = NL80211_BAND_5GHZ; + } + chan->center_freq = chan_freq; + chan->max_power = 18; + ret = rwnx_send_roc(priv, vif, chan, duration, &roc_cfm); + if (ret) { + printk("rwnx_send_roc fail: %d\n", ret); + } else { + printk("roc_cfm: opcode=%x, st=%d, idx=%d\n", roc_cfm.op_code, roc_cfm.status, roc_cfm.chan_ctxt_index); + } + } else { + ret = rwnx_send_cancel_roc(priv); + if (ret) { + printk("rwnx_send_cancel_roc fail: %d\n", ret); + } + } + } + + return count; +} + +DEBUGFS_WRITE_FILE_OPS(set_roc); #ifdef CONFIG_RWNX_FULLMAC @@ -2239,6 +2375,8 @@ int rwnx_dbgfs_register(struct rwnx_hw *rwnx_hw, const char *name) DEBUGFS_ADD_FILE(regdbg, dir_drv, S_IWUSR); DEBUGFS_ADD_FILE(vendor_hwconfig, dir_drv,S_IWUSR); DEBUGFS_ADD_FILE(vendor_swconfig, dir_drv,S_IWUSR); + DEBUGFS_ADD_FILE(agg_disable, dir_drv,S_IWUSR); + DEBUGFS_ADD_FILE(set_roc, dir_drv,S_IWUSR); #ifdef CONFIG_RWNX_P2P_DEBUGFS { diff --git a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/rwnx_main.c b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/rwnx_main.c index b027b727f..8bacc6b03 100755 --- a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/rwnx_main.c +++ b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/rwnx_main.c @@ -52,7 +52,10 @@ #include "aicwf_compat_8800dc.h" #include "aicwf_compat_8800d80.h" #include "rwnx_wakelock.h" - +#ifdef CONFIG_SDIO_BT +#include "aic_btsdio.h" +#endif +#include "aic_priv_cmd.h" #define RW_DRV_DESCRIPTION "RivieraWaves 11nac driver for Linux cfg80211" #define RW_DRV_COPYRIGHT "Copyright(c) 2015-2017 RivieraWaves" @@ -375,7 +378,11 @@ static const struct ieee80211_iface_combination rwnx_combinations[] = { { .limits = rwnx_limits, .n_limits = ARRAY_SIZE(rwnx_limits), +#ifdef CONFIG_MCC .num_different_channels = NX_CHAN_CTXT_CNT, +#else + .num_different_channels = 1, +#endif .max_interfaces = NX_VIRT_DEV_MAX, }, /* Keep this combination as the last one */ @@ -503,8 +510,7 @@ static const int rwnx_hwq2uapsd[NL80211_NUM_ACS] = { extern uint8_t scanning; -// int aicwf_dbg_level = LOGERROR|LOGINFO|LOGDEBUG|LOGTRACE; -int aicwf_dbg_level = LOGERROR; +int aicwf_dbg_level = LOGERROR|LOGINFO|LOGDEBUG|LOGTRACE; module_param(aicwf_dbg_level, int, 0660); int testmode = 0; char aic_fw_path[200]; @@ -972,8 +978,6 @@ static int rwnx_open(struct net_device *dev) #endif /* Device is now started */ - set_bit(RWNX_DEV_STARTED, &rwnx_vif->drv_flags); - atomic_set(&rwnx_vif->drv_conn_state, RWNX_DRV_STATUS_DISCONNECTED); } #ifdef CONFIG_COEX else if ((RWNX_VIF_TYPE(rwnx_vif) == NL80211_IFTYPE_AP || RWNX_VIF_TYPE(rwnx_vif) == NL80211_IFTYPE_P2P_GO)) { @@ -981,6 +985,10 @@ static int rwnx_open(struct net_device *dev) } #endif + set_bit(RWNX_DEV_STARTED, &rwnx_vif->drv_flags); + atomic_set(&rwnx_vif->drv_conn_state, RWNX_DRV_STATUS_DISCONNECTED); + AICWFDBG(LOGDEBUG, "%s rwnx_vif->drv_flags:%d\r\n", __func__, (int)rwnx_vif->drv_flags); + if (RWNX_VIF_TYPE(rwnx_vif) == NL80211_IFTYPE_P2P_CLIENT || RWNX_VIF_TYPE(rwnx_vif) == NL80211_IFTYPE_P2P_GO) { if (!rwnx_hw->is_p2p_alive) { if (rwnx_hw->p2p_dev_vif && !rwnx_hw->p2p_dev_vif->up) { @@ -1003,8 +1011,10 @@ static int rwnx_open(struct net_device *dev) spin_unlock_bh(&rwnx_hw->cb_lock); } rwnx_hw->is_p2p_alive = 1; +#ifndef CONFIG_USE_P2P0 mod_timer(&rwnx_hw->p2p_alive_timer, jiffies + msecs_to_jiffies(1000)); atomic_set(&rwnx_hw->p2p_alive_timer_count, 0); +#endif } } @@ -1026,7 +1036,6 @@ static int rwnx_open(struct net_device *dev) } else { /* Forward the information to the LMAC, * p2p value not used in FMAC configuration, iftype is sufficient */ - error = rwnx_send_add_if (rwnx_hw, rwnx_vif->wdev.address, RWNX_VIF_TYPE(rwnx_vif), false, &add_if_cfm); if (error) { printk("add if fail\n"); @@ -1054,7 +1063,6 @@ static int rwnx_open(struct net_device *dev) rwnx_hw->is_p2p_alive = 1; } #endif - } if (RWNX_VIF_TYPE(rwnx_vif) == NL80211_IFTYPE_MONITOR) { @@ -1212,6 +1220,8 @@ static int rwnx_close(struct net_device *dev) } #ifdef CONFIG_USE_P2P0 if(!rwnx_vif->is_p2p_vif || ( rwnx_vif->is_p2p_vif && rwnx_hw->is_p2p_alive)){ + if (rwnx_vif->is_p2p_vif) + rwnx_hw->is_p2p_alive = 0; #endif rwnx_send_remove_if (rwnx_hw, rwnx_vif->vif_index, false); #ifdef CONFIG_USE_P2P0 @@ -1256,7 +1266,6 @@ static int rwnx_close(struct net_device *dev) } } #endif - clear_bit(RWNX_DEV_STARTED, &rwnx_vif->drv_flags); } #ifdef CONFIG_COEX else { @@ -1264,6 +1273,8 @@ static int rwnx_close(struct net_device *dev) rwnx_send_coex_req(rwnx_hw, 0, 1); } #endif + clear_bit(RWNX_DEV_STARTED, &rwnx_vif->drv_flags); + AICWFDBG(LOGDEBUG, "%s rwnx_vif->drv_flags:%d\r\n", __func__, (int)rwnx_vif->drv_flags); #ifdef CONFIG_GPIO_WAKEUP //open lp mode @@ -1280,1400 +1291,14 @@ static int rwnx_close(struct net_device *dev) return 0; } -#ifdef CONFIG_RFTEST -enum { - SET_TX, - SET_TXSTOP, - SET_TXTONE, - SET_RX, - GET_RX_RESULT, - SET_RXSTOP, - SET_RXMETER, - SET_POWER, - SET_XTAL_CAP, - SET_XTAL_CAP_FINE, - GET_EFUSE, - SET_FREQ_CAL, - SET_FREQ_CAL_FINE, - GET_FREQ_CAL, - SET_MAC_ADDR, - GET_MAC_ADDR, - SET_BT_MAC_ADDR, - GET_BT_MAC_ADDR, - SET_VENDOR_INFO, - GET_VENDOR_INFO, - RDWR_PWRMM, - RDWR_PWRIDX, - RDWR_PWRLVL = RDWR_PWRIDX, - RDWR_PWROFST, - RDWR_DRVIBIT, - RDWR_EFUSE_PWROFST, - RDWR_EFUSE_DRVIBIT, - SET_PAPR, - SET_CAL_XTAL, - GET_CAL_XTAL_RES, - SET_COB_CAL, - GET_COB_CAL_RES, - RDWR_EFUSE_USRDATA, - SET_NOTCH, - RDWR_PWROFSTFINE, - RDWR_EFUSE_PWROFSTFINE, - RDWR_EFUSE_SDIOCFG, - RDWR_EFUSE_USBVIDPID, -}; - -typedef struct { - u8_l chan; - u8_l bw; - u8_l mode; - u8_l rate; - u16_l length; - u16_l tx_intv_us; -} cmd_rf_settx_t; - -typedef struct { - u8_l val; -} cmd_rf_setfreq_t; - -typedef struct { - u8_l chan; - u8_l bw; -} cmd_rf_rx_t; - -typedef struct { - u8_l block; -} cmd_rf_getefuse_t; -typedef struct -{ - u8_l dutid; - u8_l chip_num; - u8_l dis_xtal; -}cmd_rf_setcobcal_t; -typedef struct - { - u16_l dut_rcv_golden_num; - u8_l golden_rcv_dut_num; - s8_l rssi_static; - s8_l snr_static; - s8_l dut_rssi_static; - u16_l reserved; - }cob_result_ptr_t; -#endif - -#define CMD_MAXARGS 10 - -#if 0 -#define isblank(c) ((c) == ' ' || (c) == '\t') -#define isascii(c) (((unsigned char)(c)) <= 0x7F) - -static int isdigit(unsigned char c) -{ - return ((c >= '0') && (c <= '9')); -} - -static int isxdigit(unsigned char c) -{ - if ((c >= '0') && (c <= '9')) - return 1; - if ((c >= 'a') && (c <= 'f')) - return 1; - if ((c >= 'A') && (c <= 'F')) - return 1; - return 0; -} - -static int islower(unsigned char c) -{ - return ((c >= 'a') && (c <= 'z')); -} - -static unsigned char toupper(unsigned char c) -{ - if (islower(c)) - c -= 'a' - 'A'; - return c; -} -#endif - - -static int parse_line (char *line, char *argv[]) -{ - int nargs = 0; - - while (nargs < CMD_MAXARGS) { - /* skip any white space */ - while ((*line == ' ') || (*line == '\t')) { - ++line; - } - - if (*line == '\0') { /* end of line, no more args */ - argv[nargs] = 0; - return nargs; - } - - /* Argument include space should be bracketed by quotation mark */ - if (*line == '\"') { - /* Skip quotation mark */ - line++; - - /* Begin of argument string */ - argv[nargs++] = line; - - /* Until end of argument */ - while (*line && (*line != '\"')) { - ++line; - } - } else { - argv[nargs++] = line; /* begin of argument string */ - - /* find end of string */ - while (*line && (*line != ' ') && (*line != '\t')) { - ++line; - } - } - - if (*line == '\0') { /* end of line, no more args */ - argv[nargs] = 0; - return nargs; - } - - *line++ = '\0'; /* terminate current arg */ - } - - printk("** Too many args (max. %d) **\n", CMD_MAXARGS); - - return nargs; -} - -unsigned int command_strtoul(const char *cp, char **endp, unsigned int base) -{ - unsigned int result = 0, value, is_neg = 0; - - if (*cp == '0') { - cp++; - if ((*cp == 'x') && isxdigit(cp[1])) { - base = 16; - cp++; - } - if (!base) { - base = 8; - } - } - if (!base) { - base = 10; - } - if (*cp == '-') { - is_neg = 1; - cp++; - } - while (isxdigit(*cp) && (value = isdigit(*cp) ? *cp - '0' : (islower(*cp) ? toupper(*cp) : *cp) - 'A' + 10) < base) { - result = result * base + value; - cp++; - } - if (is_neg) - result = (unsigned int)((int)result * (-1)); - - if (endp) - *endp = (char *)cp; - return result; -} - - -int handle_private_cmd(struct net_device *net, char *command, u32 cmd_len) -{ - int bytes_written = 0; - char *para = NULL; - char *cmd = NULL; - char *argv[CMD_MAXARGS + 1]; - int argc; -#ifdef CONFIG_RFTEST - struct dbg_rftest_cmd_cfm cfm; - u8_l mac_addr[6]; - cmd_rf_settx_t settx_param; - cmd_rf_rx_t setrx_param; - int freq; - cmd_rf_getefuse_t getefuse_param; - cmd_rf_setfreq_t cmd_setfreq; - cmd_rf_setcobcal_t setcob_cal; - u8_l ana_pwr; - u8_l dig_pwr; - u8_l pwr; - u8_l xtal_cap; - u8_l xtal_cap_fine; - u8_l vendor_info; - cob_result_ptr_t *cob_result_ptr; - -#endif - - u8_l state; - -#ifdef CONFIG_GPIO_WAKEUP - u8_l setsusp_mode; - int ret = 0; -#endif - - RWNX_DBG(RWNX_FN_ENTRY_STR); - - argc = parse_line(command, argv); - if (argc == 0) { - return -1; - } - - do { -#ifdef CONFIG_RFTEST - if (strcasecmp(argv[0], "GET_RX_RESULT") == 0) { - AICWFDBG(LOGINFO, "get_rx_result\n"); - #ifdef AICWF_SDIO_SUPPORT - rwnx_send_rftest_req(g_rwnx_plat->sdiodev->rwnx_hw, GET_RX_RESULT, 0, NULL, &cfm); - #endif - #ifdef AICWF_USB_SUPPORT - rwnx_send_rftest_req(g_rwnx_plat->usbdev->rwnx_hw, GET_RX_RESULT, 0, NULL, &cfm); - #endif - memcpy(command, &cfm.rftest_result[0], 8); - bytes_written = 8; - } else if (strcasecmp(argv[0], "SET_TX") == 0) { - AICWFDBG(LOGINFO, "set_tx\n"); - if (argc < 6) { - AICWFDBG(LOGERROR, "wrong param\n"); - bytes_written = -EINVAL; - break; - } - settx_param.chan = command_strtoul(argv[1], NULL, 10); - settx_param.bw = command_strtoul(argv[2], NULL, 10); - settx_param.mode = command_strtoul(argv[3], NULL, 10); - settx_param.rate = command_strtoul(argv[4], NULL, 10); - settx_param.length = command_strtoul(argv[5], NULL, 10); - if (argc > 6) { - settx_param.tx_intv_us = command_strtoul(argv[6], NULL, 10); - } else { - settx_param.tx_intv_us = 0; - } - AICWFDBG(LOGINFO, "txparam:%d,%d,%d,%d,%d,%d\n", settx_param.chan, settx_param.bw, - settx_param.mode, settx_param.rate, settx_param.length, settx_param.tx_intv_us); - #ifdef AICWF_SDIO_SUPPORT - rwnx_send_rftest_req(g_rwnx_plat->sdiodev->rwnx_hw, SET_TX, sizeof(cmd_rf_settx_t), (u8_l *)&settx_param, NULL); - #endif - #ifdef AICWF_USB_SUPPORT - rwnx_send_rftest_req(g_rwnx_plat->usbdev->rwnx_hw, SET_TX, sizeof(cmd_rf_settx_t), (u8_l *)&settx_param, NULL); - #endif - } else if (strcasecmp(argv[0], "SET_TXSTOP") == 0) { - AICWFDBG(LOGINFO, "settx_stop\n"); - #ifdef AICWF_SDIO_SUPPORT - rwnx_send_rftest_req(g_rwnx_plat->sdiodev->rwnx_hw, SET_TXSTOP, 0, NULL, NULL); - #endif - #ifdef AICWF_USB_SUPPORT - rwnx_send_rftest_req(g_rwnx_plat->usbdev->rwnx_hw, SET_TXSTOP, 0, NULL, NULL); - #endif - } else if (strcasecmp(argv[0], "SET_TXTONE") == 0) { - AICWFDBG(LOGINFO, "set_tx_tone,argc:%d\n", argc); - if ((argc == 2) || (argc == 3)) { - u8_l func, buf[2]; - s8_l freq; - AICWFDBG(LOGINFO, "argv 1:%s\n", argv[1]); - func = (u8_l)command_strtoul(argv[1], NULL, 16); - if (argc == 3) { - AICWFDBG(LOGINFO, "argv 2:%s\n", argv[2]); - freq = (u8_l)command_strtoul(argv[2], NULL, 10); - } else { - freq = 0; - } - buf[0] = func; - buf[1] = (u8_l)freq; - #ifdef AICWF_SDIO_SUPPORT - rwnx_send_rftest_req(g_rwnx_plat->sdiodev->rwnx_hw, SET_TXTONE, argc - 1, buf, NULL); - #endif - #ifdef AICWF_USB_SUPPORT - rwnx_send_rftest_req(g_rwnx_plat->usbdev->rwnx_hw, SET_TXTONE, argc - 1, buf, NULL); - #endif - } else { - AICWFDBG(LOGERROR, "wrong args\n"); - bytes_written = -EINVAL; - } - } else if (strcasecmp(argv[0], "SET_RX") == 0) { - AICWFDBG(LOGINFO, "set_rx\n"); - if (argc < 3) { - AICWFDBG(LOGERROR, "wrong param\n"); - bytes_written = -EINVAL; - break; - } - setrx_param.chan = command_strtoul(argv[1], NULL, 10); - setrx_param.bw = command_strtoul(argv[2], NULL, 10); - #ifdef AICWF_SDIO_SUPPORT - rwnx_send_rftest_req(g_rwnx_plat->sdiodev->rwnx_hw, SET_RX, sizeof(cmd_rf_rx_t), (u8_l *)&setrx_param, NULL); - #endif - #ifdef AICWF_USB_SUPPORT - rwnx_send_rftest_req(g_rwnx_plat->usbdev->rwnx_hw, SET_RX, sizeof(cmd_rf_rx_t), (u8_l *)&setrx_param, NULL); - #endif - } else if (strcasecmp(argv[0], "SET_RXSTOP") == 0) { - AICWFDBG(LOGINFO, "set_rxstop\n"); - #ifdef AICWF_SDIO_SUPPORT - rwnx_send_rftest_req(g_rwnx_plat->sdiodev->rwnx_hw, SET_RXSTOP, 0, NULL, NULL); - #endif - #ifdef AICWF_USB_SUPPORT - rwnx_send_rftest_req(g_rwnx_plat->usbdev->rwnx_hw, SET_RXSTOP, 0, NULL, NULL); - #endif - } else if (strcasecmp(argv[0], "SET_RX_METER") == 0) { - AICWFDBG(LOGINFO, "set_rx_meter\n"); - freq = (int)command_strtoul(argv[1], NULL, 10); - #ifdef AICWF_SDIO_SUPPORT - rwnx_send_rftest_req(g_rwnx_plat->sdiodev->rwnx_hw, SET_RXMETER, sizeof(freq), (u8_l *)&freq, NULL); - #endif - #ifdef AICWF_USB_SUPPORT - rwnx_send_rftest_req(g_rwnx_plat->usbdev->rwnx_hw, SET_RXMETER, sizeof(freq), (u8_l *)&freq, NULL); - #endif - } else if (strcasecmp(argv[0], "SET_FREQ_CAL") == 0) { - AICWFDBG(LOGINFO, "set_freq_cal\n"); - if (argc < 2) { - AICWFDBG(LOGERROR, "wrong param\n"); - bytes_written = -EINVAL; - break; - } - cmd_setfreq.val = command_strtoul(argv[1], NULL, 16); - AICWFDBG(LOGINFO, "param:%x\r\n", cmd_setfreq.val); - #ifdef AICWF_SDIO_SUPPORT - rwnx_send_rftest_req(g_rwnx_plat->sdiodev->rwnx_hw, SET_FREQ_CAL, sizeof(cmd_rf_setfreq_t), (u8_l *)&cmd_setfreq, &cfm); - #endif - #ifdef AICWF_USB_SUPPORT - rwnx_send_rftest_req(g_rwnx_plat->usbdev->rwnx_hw, SET_FREQ_CAL, sizeof(cmd_rf_setfreq_t), (u8_l *)&cmd_setfreq, &cfm); - #endif - memcpy(command, &cfm.rftest_result[0], 4); - bytes_written = 4; - } else if (strcasecmp(argv[0], "SET_FREQ_CAL_FINE") == 0) { - AICWFDBG(LOGINFO, "set_freq_cal_fine\n"); - if (argc < 2) { - AICWFDBG(LOGERROR, "wrong param\n"); - bytes_written = -EINVAL; - break; - } - cmd_setfreq.val = command_strtoul(argv[1], NULL, 16); - AICWFDBG(LOGINFO, "param:%x\r\n", cmd_setfreq.val); - #ifdef AICWF_SDIO_SUPPORT - rwnx_send_rftest_req(g_rwnx_plat->sdiodev->rwnx_hw, SET_FREQ_CAL_FINE, sizeof(cmd_rf_setfreq_t), (u8_l *)&cmd_setfreq, &cfm); - #endif - #ifdef AICWF_USB_SUPPORT - rwnx_send_rftest_req(g_rwnx_plat->usbdev->rwnx_hw, SET_FREQ_CAL_FINE, sizeof(cmd_rf_setfreq_t), (u8_l *)&cmd_setfreq, &cfm); - #endif - memcpy(command, &cfm.rftest_result[0], 4); - bytes_written = 4; - } else if (strcasecmp(argv[0], "GET_EFUSE") == 0) { - AICWFDBG(LOGINFO, "get_efuse\n"); - if (argc < 2) { - AICWFDBG(LOGERROR, "wrong param\n"); - bytes_written = -EINVAL; - break; - } - getefuse_param.block = command_strtoul(argv[1], NULL, 10); - #ifdef AICWF_SDIO_SUPPORT - rwnx_send_rftest_req(g_rwnx_plat->sdiodev->rwnx_hw, GET_EFUSE, sizeof(cmd_rf_getefuse_t), (u8_l *)&getefuse_param, &cfm); - #endif - #ifdef AICWF_USB_SUPPORT - rwnx_send_rftest_req(g_rwnx_plat->usbdev->rwnx_hw, GET_EFUSE, sizeof(cmd_rf_getefuse_t), (u8_l *)&getefuse_param, &cfm); - #endif - AICWFDBG(LOGINFO, "get val=%x\r\n", cfm.rftest_result[0]); - memcpy(command, &cfm.rftest_result[0], 4); - bytes_written = 4; - } else if (strcasecmp(argv[0], "SET_POWER") == 0) { - AICWFDBG(LOGINFO, "set_power\n"); - if(g_rwnx_plat->sdiodev->chipid == PRODUCT_ID_AIC8801) { - ana_pwr = command_strtoul(argv[1], NULL, 16); - dig_pwr = command_strtoul(argv[2], NULL, 16); - pwr = (ana_pwr << 4 | dig_pwr); - if (ana_pwr > 0xf || dig_pwr > 0xf) { - AICWFDBG(LOGERROR, "invalid param\r\n"); - bytes_written = -EINVAL; - break; - } - } else { - ana_pwr = command_strtoul(argv[1], NULL, 10); - pwr = ana_pwr; - if (ana_pwr > 0x1e) { - AICWFDBG(LOGERROR, "invalid param\r\n"); - bytes_written = -EINVAL; - break; - } - } - AICWFDBG(LOGINFO, "pwr =%x\r\n", pwr); - #ifdef AICWF_SDIO_SUPPORT - rwnx_send_rftest_req(g_rwnx_plat->sdiodev->rwnx_hw, SET_POWER, sizeof(pwr), (u8_l *)&pwr, NULL); - #endif - #ifdef AICWF_USB_SUPPORT - rwnx_send_rftest_req(g_rwnx_plat->usbdev->rwnx_hw, SET_POWER, sizeof(pwr), (u8_l *)&pwr, NULL); - #endif - } else if (strcasecmp(argv[0], "SET_XTAL_CAP") == 0) { - AICWFDBG(LOGINFO, "set_xtal_cap\n"); - if (argc < 2) { - AICWFDBG(LOGERROR, "wrong param\n"); - bytes_written = -EINVAL; - break; - } - xtal_cap = command_strtoul(argv[1], NULL, 10); - AICWFDBG(LOGINFO, "xtal_cap =%x\r\n", xtal_cap); - #ifdef AICWF_SDIO_SUPPORT - rwnx_send_rftest_req(g_rwnx_plat->sdiodev->rwnx_hw, SET_XTAL_CAP, sizeof(xtal_cap), (u8_l *)&xtal_cap, &cfm); - #endif - #ifdef AICWF_USB_SUPPORT - rwnx_send_rftest_req(g_rwnx_plat->usbdev->rwnx_hw, SET_XTAL_CAP, sizeof(xtal_cap), (u8_l *)&xtal_cap, &cfm); - #endif - memcpy(command, &cfm.rftest_result[0], 4); - bytes_written = 4; - } else if (strcasecmp(argv[0], "SET_XTAL_CAP_FINE") == 0) { - AICWFDBG(LOGINFO, "set_xtal_cap_fine\n"); - if (argc < 2) { - AICWFDBG(LOGERROR, "wrong param\n"); - bytes_written = -EINVAL; - break; - } - xtal_cap_fine = command_strtoul(argv[1], NULL, 10); - AICWFDBG(LOGINFO, "xtal_cap_fine =%x\r\n", xtal_cap_fine); - #ifdef AICWF_SDIO_SUPPORT - rwnx_send_rftest_req(g_rwnx_plat->sdiodev->rwnx_hw, SET_XTAL_CAP_FINE, sizeof(xtal_cap_fine), (u8_l *)&xtal_cap_fine, &cfm); - #endif - #ifdef AICWF_USB_SUPPORT - rwnx_send_rftest_req(g_rwnx_plat->usbdev->rwnx_hw, SET_XTAL_CAP_FINE, sizeof(xtal_cap_fine), (u8_l *)&xtal_cap_fine, &cfm); - #endif - memcpy(command, &cfm.rftest_result[0], 4); - bytes_written = 4; - } else if (strcasecmp(argv[0], "SET_MAC_ADDR") == 0) { - printk("set_mac_addr\n"); - if (argc < 7) { - AICWFDBG(LOGERROR, "wrong param\n"); - bytes_written = -EINVAL; - break; - } - mac_addr[5] = command_strtoul(argv[1], NULL, 16); - mac_addr[4] = command_strtoul(argv[2], NULL, 16); - mac_addr[3] = command_strtoul(argv[3], NULL, 16); - mac_addr[2] = command_strtoul(argv[4], NULL, 16); - mac_addr[1] = command_strtoul(argv[5], NULL, 16); - mac_addr[0] = command_strtoul(argv[6], NULL, 16); - AICWFDBG(LOGINFO, "set macaddr:%x,%x,%x,%x,%x,%x\n", mac_addr[5], mac_addr[4], mac_addr[3], mac_addr[2], mac_addr[1], mac_addr[0]); - #ifdef AICWF_SDIO_SUPPORT - rwnx_send_rftest_req(g_rwnx_plat->sdiodev->rwnx_hw, SET_MAC_ADDR, sizeof(mac_addr), (u8_l *)&mac_addr, NULL); - #endif - #ifdef AICWF_USB_SUPPORT - rwnx_send_rftest_req(g_rwnx_plat->usbdev->rwnx_hw, SET_MAC_ADDR, sizeof(mac_addr), (u8_l *)&mac_addr, NULL); - #endif - } else if (strcasecmp(argv[0], "GET_MAC_ADDR") == 0) { - u32_l addr0, addr1; - AICWFDBG(LOGINFO, "get mac addr\n"); - #ifdef AICWF_SDIO_SUPPORT - rwnx_send_rftest_req(g_rwnx_plat->sdiodev->rwnx_hw, GET_MAC_ADDR, 0, NULL, &cfm); - #endif - #ifdef AICWF_USB_SUPPORT - rwnx_send_rftest_req(g_rwnx_plat->usbdev->rwnx_hw, GET_MAC_ADDR, 0, NULL, &cfm); - #endif - memcpy(command, &cfm.rftest_result[0], 8); - bytes_written = 8; - addr0 = cfm.rftest_result[0]; - if ((g_rwnx_plat->sdiodev->chipid == PRODUCT_ID_AIC8800DC) || - (g_rwnx_plat->sdiodev->chipid == PRODUCT_ID_AIC8800DW)) { - int rem_cnt = (cfm.rftest_result[1] >> 16) & 0x00FF; - addr1 = cfm.rftest_result[1] & 0x0000FFFF; - AICWFDBG(LOGINFO, "0x%x,0x%x (remain:%x)\n", addr0, addr1, rem_cnt); - } else { - addr1 = cfm.rftest_result[1]; - AICWFDBG(LOGINFO, "0x%x,0x%x\n", addr0, addr1); - } - } else if (strcasecmp(argv[0], "SET_VENDOR_INFO") == 0) { - vendor_info = command_strtoul(argv[1], NULL, 16); - AICWFDBG(LOGINFO, "set vendor info:%x\n", vendor_info); - #ifdef AICWF_SDIO_SUPPORT - rwnx_send_rftest_req(g_rwnx_plat->sdiodev->rwnx_hw, SET_VENDOR_INFO, 1, &vendor_info, &cfm); - #endif - #ifdef AICWF_USB_SUPPORT - rwnx_send_rftest_req(g_rwnx_plat->usbdev->rwnx_hw, SET_VENDOR_INFO, 1, &vendor_info, &cfm); - #endif - if ((g_rwnx_plat->sdiodev->chipid == PRODUCT_ID_AIC8800DC) || - (g_rwnx_plat->sdiodev->chipid == PRODUCT_ID_AIC8800DW)) { - memcpy(command, &cfm.rftest_result[0], 2); - bytes_written = 2; - } else { - memcpy(command, &cfm.rftest_result[0], 1); - bytes_written = 1; - } - AICWFDBG(LOGINFO, "0x%x\n", cfm.rftest_result[0]); - } else if (strcasecmp(argv[0], "GET_VENDOR_INFO") == 0) { - AICWFDBG(LOGINFO, "get vendor info\n"); - #ifdef AICWF_SDIO_SUPPORT - rwnx_send_rftest_req(g_rwnx_plat->sdiodev->rwnx_hw, GET_VENDOR_INFO, 0, NULL, &cfm); - #endif - #ifdef AICWF_USB_SUPPORT - rwnx_send_rftest_req(g_rwnx_plat->usbdev->rwnx_hw, GET_VENDOR_INFO, 0, NULL, &cfm); - #endif - if ((g_rwnx_plat->sdiodev->chipid == PRODUCT_ID_AIC8800DC) || - (g_rwnx_plat->sdiodev->chipid == PRODUCT_ID_AIC8800DW)) { - memcpy(command, &cfm.rftest_result[0], 2); - bytes_written = 2; - } else { - memcpy(command, &cfm.rftest_result[0], 1); - bytes_written = 1; - } - AICWFDBG(LOGINFO, "0x%x\n", cfm.rftest_result[0]); - } else if (strcasecmp(argv[0], "GET_FREQ_CAL") == 0) { - unsigned int val; - AICWFDBG(LOGINFO, "get freq cal\n"); - #ifdef AICWF_SDIO_SUPPORT - rwnx_send_rftest_req(g_rwnx_plat->sdiodev->rwnx_hw, GET_FREQ_CAL, 0, NULL, &cfm); - #endif - memcpy(command, &cfm.rftest_result[0], 4); - bytes_written = 4; - val = cfm.rftest_result[0]; - if ((g_rwnx_plat->sdiodev->chipid == PRODUCT_ID_AIC8800DC) || - (g_rwnx_plat->sdiodev->chipid == PRODUCT_ID_AIC8800DW)) { - AICWFDBG(LOGINFO, "cap=0x%x (remain:%x), cap_fine=%x (remain:%x)\n", - val & 0xff, (val >> 8) & 0xff, (val >> 16) & 0xff, (val >> 24) & 0xff); - } else { - AICWFDBG(LOGINFO, "cap=0x%x, cap_fine=0x%x\n", val & 0xff, (val >> 8) & 0xff); - } - } else if (strcasecmp(argv[0], "RDWR_PWRMM") == 0) { - AICWFDBG(LOGINFO, "read/write txpwr manul mode\n"); - if (argc <= 1) { // read cur - #ifdef AICWF_SDIO_SUPPORT - rwnx_send_rftest_req(g_rwnx_plat->sdiodev->rwnx_hw, RDWR_PWRMM, 0, NULL, &cfm); - #endif - } else { // write - u8_l pwrmm = (u8_l)command_strtoul(argv[1], NULL, 16); - pwrmm = (pwrmm) ? 1 : 0; - AICWFDBG(LOGINFO, "set pwrmm = %x\r\n", pwrmm); - #ifdef AICWF_SDIO_SUPPORT - rwnx_send_rftest_req(g_rwnx_plat->sdiodev->rwnx_hw, RDWR_PWRMM, sizeof(pwrmm), (u8_l *)&pwrmm, &cfm); - #endif - } - memcpy(command, &cfm.rftest_result[0], 4); - bytes_written = 4; - } else if (strcasecmp(argv[0], "RDWR_PWRIDX") == 0) { - u8_l func = 0; - #ifdef AICWF_SDIO_SUPPORT - if (g_rwnx_plat->sdiodev->chipid != PRODUCT_ID_AIC8801) { - AICWFDBG(LOGERROR, "unsupported cmd\n"); - bytes_written = -EINVAL; - break; - } - #endif - AICWFDBG(LOGINFO, "read/write txpwr index\n"); - if (argc > 1) { - func = (u8_l)command_strtoul(argv[1], NULL, 16); - } - if (func == 0) { // read cur - #ifdef AICWF_SDIO_SUPPORT - rwnx_send_rftest_req(g_rwnx_plat->sdiodev->rwnx_hw, RDWR_PWRIDX, 0, NULL, &cfm); - #endif - } else if (func <= 2) { // write 2.4g/5g pwr idx - if (argc > 3) { - u8_l type = (u8_l)command_strtoul(argv[2], NULL, 16); - u8_l pwridx = (u8_l)command_strtoul(argv[3], NULL, 10); - u8_l buf[3] = {func, type, pwridx}; - AICWFDBG(LOGINFO, "set pwridx:[%x][%x]=%x\r\n", func, type, pwridx); - rwnx_send_rftest_req(g_rwnx_plat->sdiodev->rwnx_hw, RDWR_PWRIDX, sizeof(buf), buf, &cfm); - } else { - AICWFDBG(LOGERROR, "wrong args\n"); - bytes_written = -EINVAL; - break; - } - } else { - AICWFDBG(LOGERROR, "wrong func: %x\n", func); - bytes_written = -EINVAL; - break; - } - memcpy(command, &cfm.rftest_result[0], 9); - bytes_written = 9; - } else if (strcasecmp(argv[0], "RDWR_PWRLVL") == 0) { - u8_l func = 0; - #ifdef AICWF_SDIO_SUPPORT - if ((g_rwnx_plat->sdiodev->chipid != PRODUCT_ID_AIC8800DC) - && (g_rwnx_plat->sdiodev->chipid != PRODUCT_ID_AIC8800DW) - && (g_rwnx_plat->sdiodev->chipid != PRODUCT_ID_AIC8800D80)) { - AICWFDBG(LOGINFO, "unsupported cmd\n"); - bytes_written = -EINVAL; - break; - } - #endif - AICWFDBG(LOGINFO, "read/write txpwr level\n"); - if (argc > 1) { - func = (u8_l)command_strtoul(argv[1], NULL, 16); - } - if (func == 0) { // read cur - rwnx_send_rftest_req(g_rwnx_plat->sdiodev->rwnx_hw, RDWR_PWRLVL, 0, NULL, &cfm); - } else if (func <= 2) { // write 2.4g/5g pwr lvl - if (argc > 4) { - u8_l grp = (u8_l)command_strtoul(argv[2], NULL, 16); - u8_l idx, size; - u8_l buf[14] = {func, grp,}; - if (argc > 12) { // set all grp - AICWFDBG(LOGINFO, "set pwrlvl %s:\n" - " [%x] =", (func == 1) ? "2.4g" : "5g", grp); - if (grp == 1) { // TXPWR_LVL_GRP_11N_11AC - size = 10; - } else { - size = 12; - } - for (idx = 0; idx < size; idx++) { - s8_l pwrlvl = (s8_l)command_strtoul(argv[3 + idx], NULL, 10); - buf[2 + idx] = (u8_l)pwrlvl; - if (idx && !(idx & 0x3)) { - AICWFDBG(LOGINFO, " "); - } - AICWFDBG(LOGINFO, " %2d", pwrlvl); - } - AICWFDBG(LOGINFO, "\n"); - size += 2; - } else { // set grp[idx] - u8_l idx = (u8_l)command_strtoul(argv[3], NULL, 10); - s8_l pwrlvl = (s8_l)command_strtoul(argv[4], NULL, 10); - buf[2] = idx; - buf[3] = (u8_l)pwrlvl; - size = 4; - AICWFDBG(LOGINFO, "set pwrlvl %s:\n" - " [%x][%d] = %d\n", (func == 1) ? "2.4g" : "5g", grp, idx, pwrlvl); - } - rwnx_send_rftest_req(g_rwnx_plat->sdiodev->rwnx_hw, RDWR_PWRLVL, size, buf, &cfm); - } else { - AICWFDBG(LOGERROR, "wrong args\n"); - bytes_written = -EINVAL; - break; - } - } else { - AICWFDBG(LOGERROR, "wrong func: %x\n", func); - bytes_written = -EINVAL; - break; - } - if(g_rwnx_plat->sdiodev->chipid == PRODUCT_ID_AIC8800D80){ - memcpy(command, &cfm.rftest_result[0], 6 * 12); - bytes_written = 6 * 12; - } else { - memcpy(command, &cfm.rftest_result[0], 3 * 12); - bytes_written = 3 * 12; - } - } else if (strcasecmp(argv[0], "RDWR_PWROFST") == 0) { - u8_l func = 0; - int res_len = 0; - AICWFDBG(LOGINFO, "read/write txpwr offset\n"); - if (argc > 1) { - func = (u8_l)command_strtoul(argv[1], NULL, 16); - } - if (func == 0) { // read cur - #ifdef AICWF_SDIO_SUPPORT - rwnx_send_rftest_req(g_rwnx_plat->sdiodev->rwnx_hw, RDWR_PWROFST, 0, NULL, &cfm); - #endif - } else if (func <= 2) { // write 2.4g/5g pwr ofst - if ((argc > 4) && (g_rwnx_plat->sdiodev->chipid == PRODUCT_ID_AIC8800D80)) { - u8_l type = (u8_l)command_strtoul(argv[2], NULL, 16); - u8_l chgrp = (u8_l)command_strtoul(argv[3], NULL, 16); - s8_l pwrofst = (u8_l)command_strtoul(argv[4], NULL, 10); - u8_l buf[4] = {func, type, chgrp, (u8_l)pwrofst}; - printk("set pwrofst_%s:[%x][%x]=%d\r\n", (func == 1) ? "2.4g" : "5g", type, chgrp, pwrofst); - #ifdef AICWF_SDIO_SUPPORT - rwnx_send_rftest_req(g_rwnx_plat->sdiodev->rwnx_hw, RDWR_PWROFST, sizeof(buf), buf, &cfm); - #endif - } else if ((argc > 3) && (g_rwnx_plat->sdiodev->chipid != PRODUCT_ID_AIC8800D80)) { - u8_l chgrp = (u8_l)command_strtoul(argv[2], NULL, 16); - s8_l pwrofst = (u8_l)command_strtoul(argv[3], NULL, 10); - u8_l buf[3] = {func, chgrp, (u8_l)pwrofst}; - printk("set pwrofst_%s:[%x]=%d\r\n", (func == 1) ? "2.4g" : "5g", chgrp, pwrofst); - #ifdef AICWF_SDIO_SUPPORT - rwnx_send_rftest_req(g_rwnx_plat->sdiodev->rwnx_hw, RDWR_PWROFST, sizeof(buf), buf, &cfm); - #endif - } else { - AICWFDBG(LOGERROR, "wrong args\n"); - bytes_written = -EINVAL; - break; - } - } else { - AICWFDBG(LOGERROR, "wrong func: %x\n", func); - bytes_written = -EINVAL; - break; - } - if ((g_rwnx_plat->sdiodev->chipid == PRODUCT_ID_AIC8800DC) || - (g_rwnx_plat->sdiodev->chipid == PRODUCT_ID_AIC8800DW)) { // 3 = 3 (2.4g) - res_len = 3; - } else if (g_rwnx_plat->sdiodev->chipid == PRODUCT_ID_AIC8800D80) { // 3 * 2 (2.4g) + 3 * 6 (5g) - res_len = 3 * 3 + 3 * 6; - } else { - res_len = 3 + 4; - } - memcpy(command, &cfm.rftest_result[0], res_len); - bytes_written = res_len; - } else if (strcasecmp(argv[0], "RDWR_PWROFSTFINE") == 0) { - u8_l func = 0; - AICWFDBG(LOGINFO, "read/write txpwr offset fine\n"); - if (argc > 1) { - func = (u8_l)command_strtoul(argv[1], NULL, 16); - } - if (func == 0) { // read cur - rwnx_send_rftest_req(g_rwnx_plat->sdiodev->rwnx_hw, RDWR_PWROFSTFINE, 0, NULL, &cfm); - } else if (func <= 2) { // write 2.4g/5g pwr ofst - if (argc > 3) { - u8_l chgrp = (u8_l)command_strtoul(argv[2], NULL, 16); - s8_l pwrofst = (u8_l)command_strtoul(argv[3], NULL, 10); - u8_l buf[3] = {func, chgrp, (u8_l)pwrofst}; - AICWFDBG(LOGINFO, "set pwrofstfine:[%x][%x]=%d\r\n", func, chgrp, pwrofst); - rwnx_send_rftest_req(g_rwnx_plat->sdiodev->rwnx_hw, RDWR_PWROFSTFINE, sizeof(buf), buf, &cfm); - } else { - AICWFDBG(LOGERROR, "wrong args\n"); - bytes_written = -EINVAL; - break; - } - } else { - AICWFDBG(LOGERROR, "wrong func: %x\n", func); - bytes_written = -EINVAL; - break; - } - memcpy(command, &cfm.rftest_result[0], 7); - bytes_written = 7; - } else if (strcasecmp(argv[0], "RDWR_DRVIBIT") == 0) { - u8_l func = 0; - AICWFDBG(LOGINFO, "read/write pa drv_ibit\n"); - if (argc > 1) { - func = (u8_l)command_strtoul(argv[1], NULL, 16); - } - if (func == 0) { // read cur - #ifdef AICWF_SDIO_SUPPORT - rwnx_send_rftest_req(g_rwnx_plat->sdiodev->rwnx_hw, RDWR_DRVIBIT, 0, NULL, &cfm); - #endif - } else if (func == 1) { // write 2.4g pa drv_ibit - if (argc > 2) { - u8_l ibit = (u8_l)command_strtoul(argv[2], NULL, 16); - u8_l buf[2] = {func, ibit}; - printk("set drvibit:[%x]=%x\r\n", func, ibit); - #ifdef AICWF_SDIO_SUPPORT - rwnx_send_rftest_req(g_rwnx_plat->sdiodev->rwnx_hw, RDWR_DRVIBIT, sizeof(buf), buf, &cfm); - #endif - } else { - AICWFDBG(LOGERROR, "wrong args\n"); - bytes_written = -EINVAL; - break; - } - } else { - AICWFDBG(LOGERROR, "wrong func: %x\n", func); - bytes_written = -EINVAL; - break; - } - memcpy(command, &cfm.rftest_result[0], 16); - bytes_written = 16; - } else if (strcasecmp(argv[0], "RDWR_EFUSE_PWROFST") == 0) { - u8_l func = 0; - int res_len = 0; - AICWFDBG(LOGINFO, "read/write txpwr offset into efuse\n"); - if (argc > 1) { - func = (u8_l)command_strtoul(argv[1], NULL, 16); - } - if (func == 0) { // read cur - #ifdef AICWF_SDIO_SUPPORT - rwnx_send_rftest_req(g_rwnx_plat->sdiodev->rwnx_hw, RDWR_EFUSE_PWROFST, 0, NULL, &cfm); - #endif - } else if (func <= 2) { // write 2.4g/5g pwr ofst - if ((argc > 4) && (g_rwnx_plat->sdiodev->chipid == PRODUCT_ID_AIC8800D80)) { - u8_l type = (u8_l)command_strtoul(argv[2], NULL, 16); - u8_l chgrp = (u8_l)command_strtoul(argv[3], NULL, 16); - s8_l pwrofst = (u8_l)command_strtoul(argv[4], NULL, 10); - u8_l buf[4] = {func, type, chgrp, (u8_l)pwrofst}; - printk("set efuse pwrofst_%s:[%x][%x]=%d\r\n", (func == 1) ? "2.4g" : "5g", type, chgrp, pwrofst); - #ifdef AICWF_SDIO_SUPPORT - rwnx_send_rftest_req(g_rwnx_plat->sdiodev->rwnx_hw, RDWR_EFUSE_PWROFST, sizeof(buf), buf, &cfm); - #endif - } else if ((argc > 3) && (g_rwnx_plat->sdiodev->chipid != PRODUCT_ID_AIC8800D80)) { - u8_l chgrp = (u8_l)command_strtoul(argv[2], NULL, 16); - s8_l pwrofst = (u8_l)command_strtoul(argv[3], NULL, 10); - u8_l buf[3] = {func, chgrp, (u8_l)pwrofst}; - printk("set efuse pwrofst_%s:[%x]=%d\r\n", (func == 1) ? "2.4g" : "5g", chgrp, pwrofst); - #ifdef AICWF_SDIO_SUPPORT - rwnx_send_rftest_req(g_rwnx_plat->sdiodev->rwnx_hw, RDWR_EFUSE_PWROFST, sizeof(buf), buf, &cfm); - #endif - } else { - AICWFDBG(LOGERROR, "wrong args\n"); - bytes_written = -EINVAL; - break; - } - } else { - AICWFDBG(LOGERROR, "wrong func: %x\n", func); - bytes_written = -EINVAL; - break; - } - if ((g_rwnx_plat->sdiodev->chipid == PRODUCT_ID_AIC8800DC) || - (g_rwnx_plat->sdiodev->chipid == PRODUCT_ID_AIC8800DW)) { // 6 = 3 (2.4g) * 2 - res_len = 3 * 2; - } else if (g_rwnx_plat->sdiodev->chipid == PRODUCT_ID_AIC8800D80) { // 3 * 2 (2.4g) + 3 * 6 (5g) - res_len = 3 * 3 + 3 * 6; - } else { // 7 = 3(2.4g) + 4(5g) - res_len = 3 + 4; - } - memcpy(command, &cfm.rftest_result[0], res_len); - bytes_written = res_len; - } else if (strcasecmp(argv[0], "RDWR_EFUSE_DRVIBIT") == 0) { - u8_l func = 0; - AICWFDBG(LOGINFO, "read/write pa drv_ibit into efuse\n"); - if (argc > 1) { - func = (u8_l)command_strtoul(argv[1], NULL, 16); - } - if (func == 0) { // read cur - #ifdef AICWF_SDIO_SUPPORT - rwnx_send_rftest_req(g_rwnx_plat->sdiodev->rwnx_hw, RDWR_EFUSE_DRVIBIT, 0, NULL, &cfm); - #endif - } else if (func == 1) { // write 2.4g pa drv_ibit - if (argc > 2) { - u8_l ibit = (u8_l)command_strtoul(argv[2], NULL, 16); - u8_l buf[2] = {func, ibit}; - AICWFDBG(LOGINFO, "set efuse drvibit:[%x]=%x\r\n", func, ibit); - #ifdef AICWF_SDIO_SUPPORT - rwnx_send_rftest_req(g_rwnx_plat->sdiodev->rwnx_hw, RDWR_EFUSE_DRVIBIT, sizeof(buf), buf, &cfm); - #endif - } else { - AICWFDBG(LOGERROR, "wrong args\n"); - bytes_written = -EINVAL; - break; - } - } else { - AICWFDBG(LOGERROR, "wrong func: %x\n", func); - bytes_written = -EINVAL; - break; - } - memcpy(command, &cfm.rftest_result[0], 4); - bytes_written = 4; - } else if (strcasecmp(argv[0], "RDWR_EFUSE_PWROFSTFINE") == 0) { - u8_l func = 0; - AICWFDBG(LOGINFO, "read/write txpwr offset fine into efuse\n"); - if (argc > 1) { - func = (u8_l)command_strtoul(argv[1], NULL, 16); - } - if (func == 0) { // read cur - rwnx_send_rftest_req(g_rwnx_plat->sdiodev->rwnx_hw, RDWR_EFUSE_PWROFSTFINE, 0, NULL, &cfm); - } else if (func <= 2) { // write 2.4g/5g pwr ofst - if (argc > 3) { - u8_l chgrp = (u8_l)command_strtoul(argv[2], NULL, 16); - s8_l pwrofst = (u8_l)command_strtoul(argv[3], NULL, 10); - u8_l buf[3] = {func, chgrp, (u8_l)pwrofst}; - AICWFDBG(LOGINFO, "set efuse pwrofstfine:[%x][%x]=%d\r\n", func, chgrp, pwrofst); - rwnx_send_rftest_req(g_rwnx_plat->sdiodev->rwnx_hw, RDWR_EFUSE_PWROFSTFINE, sizeof(buf), buf, &cfm); - } else { - AICWFDBG(LOGERROR, "wrong args\n"); - bytes_written = -EINVAL; - break; - } - } else { - AICWFDBG(LOGERROR, "wrong func: %x\n", func); - bytes_written = -EINVAL; - break; - } - if ((g_rwnx_plat->sdiodev->chipid == PRODUCT_ID_AIC8800DC) || - (g_rwnx_plat->sdiodev->chipid == PRODUCT_ID_AIC8800DW)) { // 6 = 3 (2.4g) * 2 - memcpy(command, &cfm.rftest_result[0], 6); - bytes_written = 6; - } else { // 7 = 3(2.4g) + 4(5g) - memcpy(command, &cfm.rftest_result[0], 7); - bytes_written = 7; - } - } else if (strcasecmp(argv[0], "SET_PAPR") == 0) { - AICWFDBG(LOGINFO, "set papr\n"); - if (argc > 1) { - u8_l func = (u8_l) command_strtoul(argv[1], NULL, 10); - AICWFDBG(LOGINFO, "papr %d\r\n", func); - #ifdef AICWF_SDIO_SUPPORT - rwnx_send_rftest_req(g_rwnx_plat->sdiodev->rwnx_hw, SET_PAPR, sizeof(func), &func, NULL); - #endif - } else { - AICWFDBG(LOGERROR, "wrong args\n"); - bytes_written = -EINVAL; - break; - } - } else if (strcasecmp(argv[0], "SET_NOTCH") == 0) { - if (argc > 1) { - u8_l func = (u8_l) command_strtoul(argv[1], NULL, 10); - AICWFDBG(LOGINFO, "set notch %d\r\n", func); - #ifdef AICWF_SDIO_SUPPORT - rwnx_send_rftest_req(g_rwnx_plat->sdiodev->rwnx_hw, SET_NOTCH, sizeof(func), &func, NULL); - #endif - } else { - AICWFDBG(LOGERROR, "wrong args\n"); - bytes_written = -EINVAL; - break; - } - } else if (strcasecmp(argv[0], "SET_COB_CAL") == 0) { - AICWFDBG(LOGINFO, "set_cob_cal\n"); - if (argc < 3) { - AICWFDBG(LOGERROR, "wrong param\n"); - bytes_written = -EINVAL; - break; - } - setcob_cal.dutid = command_strtoul(argv[1], NULL, 10); - setcob_cal.chip_num = command_strtoul(argv[2], NULL, 10); - setcob_cal.dis_xtal = command_strtoul(argv[3], NULL, 10); - rwnx_send_rftest_req(g_rwnx_plat->sdiodev->rwnx_hw, SET_COB_CAL, sizeof(cmd_rf_setcobcal_t), (u8_l *)&setcob_cal, NULL); - } else if (strcasecmp(argv[0], "GET_COB_CAL_RES")==0) { - AICWFDBG(LOGINFO, "get cob cal res\n"); - rwnx_send_rftest_req(g_rwnx_plat->sdiodev->rwnx_hw, GET_COB_CAL_RES, 0, NULL, &cfm); - memcpy(command, &cfm.rftest_result[0], 4); - bytes_written = 4; - AICWFDBG(LOGINFO, "cap=0x%x, cap_fine=0x%x\n", cfm.rftest_result[0] & 0x0000ffff, (cfm.rftest_result[0] >> 16) & 0x0000ffff); - } else if (strcasecmp(argv[0], "DO_COB_TEST") == 0) { - AICWFDBG(LOGINFO, "do_cob_test\n"); - setcob_cal.dutid = 1; - setcob_cal.chip_num = 1; - setcob_cal.dis_xtal = 0; - if (argc > 1 ) { - setcob_cal.dis_xtal = command_strtoul(argv[1], NULL, 10); - } - rwnx_send_rftest_req(g_rwnx_plat->sdiodev->rwnx_hw, SET_COB_CAL, sizeof(cmd_rf_setcobcal_t), (u8_l *)&setcob_cal, NULL); - msleep(2000); - rwnx_send_rftest_req(g_rwnx_plat->sdiodev->rwnx_hw, GET_COB_CAL_RES, 0, NULL, &cfm); - state = (cfm.rftest_result[0] >> 16) & 0x000000ff; - if (!state){ - AICWFDBG(LOGINFO, "cap= 0x%x, cap_fine= 0x%x, freq_ofst= %d Hz\n", - cfm.rftest_result[0] & 0x000000ff, (cfm.rftest_result[0] >> 8) & 0x000000ff, cfm.rftest_result[1]); - cob_result_ptr = (cob_result_ptr_t *) & (cfm.rftest_result[2]); - AICWFDBG(LOGINFO, "golden_rcv_dut= %d , tx_rssi= %d dBm, snr = %d dB\ndut_rcv_godlden= %d , rx_rssi= %d dBm", - cob_result_ptr->golden_rcv_dut_num, cob_result_ptr->rssi_static, cob_result_ptr->snr_static, - cob_result_ptr->dut_rcv_golden_num, cob_result_ptr->dut_rssi_static); - memcpy(command, &cfm.rftest_result, 16); - bytes_written = 16; - } else { - AICWFDBG(LOGERROR, "cob not idle\n"); - bytes_written = -EINVAL; - break; - } - } else if (strcasecmp(argv[0], "RDWR_EFUSE_SDIOCFG") == 0) { - u8_l func = 0; - AICWFDBG(LOGINFO, "read/write sdiocfg_bit into efuse\n"); - if (argc > 1) { - func = (u8_l)command_strtoul(argv[1], NULL, 16); - } - if (func == 0) { // read cur - rwnx_send_rftest_req(g_rwnx_plat->sdiodev->rwnx_hw, RDWR_EFUSE_SDIOCFG, 0, NULL, &cfm); - } else if (func == 1) { // write sdiocfg - if (argc > 2) { - u8_l ibit = (u8_l)command_strtoul(argv[2], NULL, 16); - u8_l buf[2] = {func, ibit}; - AICWFDBG(LOGINFO, "set efuse sdiocfg:[%x]=%x\r\n", func, ibit); - rwnx_send_rftest_req(g_rwnx_plat->sdiodev->rwnx_hw, RDWR_EFUSE_SDIOCFG, sizeof(buf), buf, &cfm); - } else { - AICWFDBG(LOGERROR, "wrong args\n"); - bytes_written = -EINVAL; - break; - } - } else { - AICWFDBG(LOGERROR, "wrong func: %x\n", func); - bytes_written = -EINVAL; - break; - } - memcpy(command, &cfm.rftest_result[0], 4); - bytes_written = 4; - } else if (strcasecmp(argv[0], "SETSUSPENDMODE") == 0 && testmode == 0) { - #ifdef AICWF_SDIO_SUPPORT - #ifdef CONFIG_GPIO_WAKEUP - setsusp_mode = command_strtoul(argv[1], NULL, 10); - rwnx_send_me_set_lp_level(g_rwnx_plat->sdiodev->rwnx_hw, setsusp_mode); - if (setsusp_mode == 1) { - #if defined(CONFIG_SDIO_PWRCTRL) - aicwf_sdio_pwr_stctl(g_rwnx_plat->sdiodev, SDIO_SLEEP_ST); - #endif - - ret = aicwf_sdio_writeb(g_rwnx_plat->sdiodev, SDIOWIFI_WAKEUP_REG, 2); - if (ret < 0) { - sdio_err("reg:%d write failed!\n", SDIOWIFI_WAKEUP_REG); - } - } - AICWFDBG(LOGINFO, "set suspend mode %d\n", setsusp_mode); - #endif//CONFIG_GPIO_WAKEUP - #endif - } else { - AICWFDBG(LOGERROR, "wrong cmd:%s in %s\n", cmd, __func__); - bytes_written = -EINVAL; - } -#endif - } while (0); - kfree(cmd); - kfree(para); - return bytes_written; -} - -//Android private command - -#define RWNX_COUNTRY_CODE_LEN 2 -#define CMD_SET_COUNTRY "COUNTRY" -#define CMD_SET_VENDOR_EX_IE "SET_VENDOR_EX_IE" -#define CMD_SET_AP_WPS_P2P_IE "SET_AP_WPS_P2P_IE" - -struct ieee80211_regdomain *getRegdomainFromRwnxDB(struct wiphy *wiphy, char *alpha2); -struct ieee80211_regdomain *getRegdomainFromRwnxDBIndex(struct wiphy *wiphy, int index); -extern int reg_regdb_size; - -#ifdef CONFIG_SET_VENDOR_EXTENSION_IE -extern u8_l vendor_extension_data[256]; -extern int vendor_extension_len; - -void set_vendor_extension_ie(char *command){ - - char databyte[3]={0x00, 0x00, 0x00}; - int skip = strlen(CMD_SET_VENDOR_EX_IE) + 1; - int command_index = skip; - int data_index = 0; - - memset(vendor_extension_data, 0, 256); - vendor_extension_len = 0; - memcpy(databyte, command + command_index, 2); - vendor_extension_len = command_strtoul(databyte, NULL, 16); - printk("%s len:%d \r\n", __func__, vendor_extension_len); - - //parser command and save data in vendor_extension_data - for(data_index = 0;data_index < vendor_extension_len; data_index++){ - command_index = command_index + 3; - memcpy(databyte, command + command_index, 2); - vendor_extension_data[data_index] = command_strtoul(databyte, NULL, 16); - } - -} -#endif//CONFIG_SET_VENDOR_EXTENSION_IE - - -int android_priv_cmd(struct net_device *net, struct ifreq *ifr, int cmd) -{ -#define PRIVATE_COMMAND_MAX_LEN 8192 -#define PRIVATE_COMMAND_DEF_LEN 4096 - - struct rwnx_vif *vif = netdev_priv(net); - int ret = 0; - char *command = NULL; - int bytes_written = 0; - android_wifi_priv_cmd priv_cmd; - int buf_size = 0; - int skip = 0; - char *country = NULL; - struct ieee80211_regdomain *regdomain; - - RWNX_DBG(RWNX_FN_ENTRY_STR); - - ///todo: add our lock - //net_os_wake_lock(net); - - -/* if (!capable(CAP_NET_ADMIN)) { - ret = -EPERM; - goto exit; - }*/ - if (!ifr->ifr_data) { - ret = -EINVAL; - goto exit; - } - -#ifdef CONFIG_COMPAT -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0)) - if (in_compat_syscall()) -#else - if (is_compat_task()) -#endif - { - compat_android_wifi_priv_cmd compat_priv_cmd; - if (copy_from_user(&compat_priv_cmd, ifr->ifr_data, sizeof(compat_android_wifi_priv_cmd))) { - ret = -EFAULT; - goto exit; - } - priv_cmd.buf = compat_ptr(compat_priv_cmd.buf); - priv_cmd.used_len = compat_priv_cmd.used_len; - priv_cmd.total_len = compat_priv_cmd.total_len; - } else -#endif /* CONFIG_COMPAT */ - { - if (copy_from_user(&priv_cmd, ifr->ifr_data, sizeof(android_wifi_priv_cmd))) { - ret = -EFAULT; - goto exit; - } - } - if ((priv_cmd.total_len > PRIVATE_COMMAND_MAX_LEN) || (priv_cmd.total_len < 0)) { - printk("%s: buf length invalid:%d\n", __FUNCTION__, priv_cmd.total_len); - ret = -EINVAL; - goto exit; - } - - buf_size = max(priv_cmd.total_len, PRIVATE_COMMAND_DEF_LEN); - command = kmalloc((buf_size + 1), GFP_KERNEL); - - if (!command) { - printk("%s: failed to allocate memory\n", __FUNCTION__); - ret = -ENOMEM; - goto exit; - } - if (copy_from_user(command, priv_cmd.buf, priv_cmd.total_len)) { - ret = -EFAULT; - goto exit; - } - command[priv_cmd.total_len] = '\0'; - - /* outputs */ - AICWFDBG(LOGINFO, "%s: Android private cmd \"%s\" on %s\n", __FUNCTION__, command, ifr->ifr_name); - AICWFDBG(LOGINFO, "cmd = %d\n", cmd); - AICWFDBG(LOGINFO, "buf_size=%d\n", buf_size); - -#if 1//Handle Android command - if(!strncasecmp(command, CMD_SET_COUNTRY, strlen(CMD_SET_COUNTRY))) { - skip = strlen(CMD_SET_COUNTRY) + 1; - country = command + skip; - if (!country || strlen(country) < RWNX_COUNTRY_CODE_LEN) { - printk("%s: invalid country code\n", __func__); - ret = -EINVAL; - goto exit; - } -#if 0 - for(index = 0; index < reg_regdb_size; index++){ - regdomain = getRegdomainFromRwnxDBIndex(vif->rwnx_hw->wiphy, index); - if((ret = regulatory_set_wiphy_regd(vif->rwnx_hw->wiphy, regdomain))){ - printk("regulatory_set_wiphy_regd fail \r\n"); - }else{ - printk("regulatory_set_wiphy_regd ok \r\n"); - } - } -#endif - AICWFDBG(LOGINFO, "%s country code:%c%c\n", __func__, toupper(country[0]), toupper(country[1])); - regdomain = getRegdomainFromRwnxDB(vif->rwnx_hw->wiphy, country); -#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 0, 0) - if((ret = regulatory_set_wiphy_regd(vif->rwnx_hw->wiphy, regdomain))){ - printk("regulatory_set_wiphy_regd fail \r\n"); - } -#else - wiphy_apply_custom_regulatory(vif->rwnx_hw->wiphy, regdomain); -#endif - } -#ifdef CONFIG_SET_VENDOR_EXTENSION_IE - else if(!strncasecmp(command, CMD_SET_VENDOR_EX_IE, strlen(CMD_SET_VENDOR_EX_IE))){ - set_vendor_extension_ie(command); - } -#endif//CONFIG_SET_VENDOR_EXTENSION_IE - else if(!strncasecmp(command, CMD_SET_AP_WPS_P2P_IE, strlen(CMD_SET_AP_WPS_P2P_IE))){ - ret = 0; - goto exit; - } -#endif//Handle Android command - - bytes_written = handle_private_cmd(net, command, priv_cmd.total_len); - if (bytes_written >= 0) { - if ((bytes_written == 0) && (priv_cmd.total_len > 0)) { - command[0] = '\0'; - } - if (bytes_written >= priv_cmd.total_len) { - printk("%s: err. bytes_written:%d >= buf_size:%d \n", - __FUNCTION__, bytes_written, buf_size); - goto exit; - } - bytes_written++; - priv_cmd.used_len = bytes_written; - if (copy_to_user(priv_cmd.buf, command, bytes_written)) { - printk("%s: failed to copy data to user buffer\n", __FUNCTION__); - ret = -EFAULT; - } - } else { - /* Propagate the error */ - ret = bytes_written; - } - -exit: - ///todo: add our unlock - //net_os_wake_unlock(net); - kfree(command); - return ret; -} - -#ifdef CONFIG_MCU_MESSAGE -#define CMD_GET_VERSION_STR "GET_VERSION" -#define CMD_GET_SSID_STR "GET_SSID" -#define CMD_SET_SSID_STR "SET_SSID" -#define CMD_GET_PASS_STR "GET_PASS" -#define CMD_SET_PASS_STR "SET_PASS" -#define CMD_GET_VAR_STR "GET_VAR" -#define CMD_SET_VAR_STR "SET_VAR" - -enum custmsg_cmd_tag -{ - CUST_CMD_GET_VERSION = 0, - CUST_CMD_GET_SSID, - CUST_CMD_SET_SSID, - CUST_CMD_GET_PASS, - CUST_CMD_SET_PASS, - CUST_CMD_GET_VAR, - CUST_CMD_SET_VAR, - CUST_CMD_MAX -}; - -int handle_custom_msg(char *command, u32 cmd_len) -{ - int bytes_read = 0, max_bytes_to_read = 0; - struct rwnx_hw *p_rwnx_hw = NULL; - u32 cmd, len = 0, flags = 0; - char *buf = NULL; - struct dbg_custom_msg_cfm *cust_msg_cfm; - printk("cmd,%s,%ld\n",command,strlen(command)); - if (strncasecmp(command, CMD_GET_VERSION_STR, strlen(CMD_GET_VERSION_STR)) == 0) { - cmd = CUST_CMD_GET_VERSION; - max_bytes_to_read = 32; // max str len for version - } else if (strncasecmp(command, CMD_GET_SSID_STR, strlen(CMD_GET_SSID_STR)) == 0) { - cmd = CUST_CMD_GET_SSID; - max_bytes_to_read = 48; // max str len for ssid - } else if (strncasecmp(command, CMD_SET_SSID_STR, strlen(CMD_SET_SSID_STR)) == 0) { - cmd = CUST_CMD_SET_SSID; - len = cmd_len - (strlen(CMD_SET_SSID_STR) + 1); - buf = command + (strlen(CMD_SET_SSID_STR) + 1); - max_bytes_to_read = 0; - } else if (strncasecmp(command, CMD_GET_PASS_STR, strlen(CMD_GET_PASS_STR)) == 0) { - cmd = CUST_CMD_GET_PASS; - max_bytes_to_read = 64; // max str len for PASS - } else if (strncasecmp(command, CMD_SET_PASS_STR, strlen(CMD_SET_PASS_STR)) == 0) { - cmd = CUST_CMD_SET_PASS; - len = cmd_len - (strlen(CMD_SET_PASS_STR) + 1); - buf = command + (strlen(CMD_SET_PASS_STR) + 1); - max_bytes_to_read = 0; - } else if (strncasecmp(command, CMD_GET_VAR_STR, strlen(CMD_GET_VAR_STR)) == 0) { - cmd = CUST_CMD_GET_VAR; - max_bytes_to_read = 64; // max str len for VAR - } else if (strncasecmp(command, CMD_SET_VAR_STR, strlen(CMD_SET_VAR_STR)) == 0) { - cmd = CUST_CMD_SET_VAR; - len = cmd_len - (strlen(CMD_SET_VAR_STR) + 1); - buf = command + (strlen(CMD_SET_VAR_STR) + 1); - max_bytes_to_read = 0; - } else { - printk("invalid cmd: %s\r\n", command); - return -1; - } - if (len < 0) { - printk("invalid len: %d\r\n", len); - return -3; - } - #ifdef AICWF_SDIO_SUPPORT - p_rwnx_hw = g_rwnx_plat->sdiodev->rwnx_hw; - #endif - #ifdef AICWF_USB_SUPPORT - p_rwnx_hw = g_rwnx_plat->usbdev->rwnx_hw; - #endif - cust_msg_cfm = (struct dbg_custom_msg_cfm *)kmalloc((offsetof(struct dbg_custom_msg_cfm, buf) + max_bytes_to_read), GFP_KERNEL); - if (cust_msg_cfm == NULL) { - printk("msg cfm alloc fail\r\n"); - return -2; - } - rwnx_send_dbg_custom_msg_req(p_rwnx_hw, cmd, buf, len, flags, cust_msg_cfm); - bytes_read = cust_msg_cfm->len; - printk("Custom msg cfm: cmd=%d, len=%d, status=%x\n", cust_msg_cfm->cmd, bytes_read, cust_msg_cfm->status); - if (bytes_read) { - memcpy(command, cust_msg_cfm->buf, bytes_read); - command[bytes_read] = '\0'; - } else { - command[0] = '\0'; - } - if (cust_msg_cfm->status) { - printk("cfm status: %x", cust_msg_cfm->status); - } - return bytes_read; -} - -int devipc_cust_msg(struct net_device *net, struct ifreq *ifr, int cmd) -{ -#ifdef PRIVATE_COMMAND_MAX_LEN -#undef PRIVATE_COMMAND_MAX_LEN -#undef PRIVATE_COMMAND_DEF_LEN -#define PRIVATE_COMMAND_MAX_LEN 8192 -#define PRIVATE_COMMAND_DEF_LEN 4096 -#endif - int ret = 0; - char *command = NULL; - int bytes_written = 0; - android_wifi_priv_cmd priv_cmd; - int buf_size = 0; - - RWNX_DBG(RWNX_FN_ENTRY_STR); - - ///todo: add our lock - //net_os_wake_lock(net); - - -/* if (!capable(CAP_NET_ADMIN)) { - ret = -EPERM; - goto exit; - }*/ - if (!ifr->ifr_data) { - ret = -EINVAL; - goto exit; - } - -#ifdef CONFIG_COMPAT -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0)) - if (in_compat_syscall()) -#else - if (is_compat_task()) -#endif - { - compat_android_wifi_priv_cmd compat_priv_cmd; - if (copy_from_user(&compat_priv_cmd, ifr->ifr_data, sizeof(compat_android_wifi_priv_cmd))) { - ret = -EFAULT; - goto exit; - } - priv_cmd.buf = compat_ptr(compat_priv_cmd.buf); - priv_cmd.used_len = compat_priv_cmd.used_len; - priv_cmd.total_len = compat_priv_cmd.total_len; - } else -#endif /* CONFIG_COMPAT */ - { - if (copy_from_user(&priv_cmd, ifr->ifr_data, sizeof(android_wifi_priv_cmd))) { - ret = -EFAULT; - goto exit; - } - } - if ((priv_cmd.total_len > PRIVATE_COMMAND_MAX_LEN) || (priv_cmd.total_len < 0)) { - printk("%s: buf length invalid:%d\n", __FUNCTION__, priv_cmd.total_len); - ret = -EINVAL; - goto exit; - } - - buf_size = max(priv_cmd.total_len, PRIVATE_COMMAND_DEF_LEN); - command = kmalloc((buf_size + 1), GFP_KERNEL); - - if (!command) - { - printk("%s: failed to allocate memory\n", __FUNCTION__); - ret = -ENOMEM; - goto exit; - } - if (copy_from_user(command, priv_cmd.buf, priv_cmd.used_len)) { - ret = -EFAULT; - goto exit; - } - command[priv_cmd.used_len] = '\0'; - - /* outputs */ - printk("%s: Devipc custom msg \"%s\" on %s\n", __FUNCTION__, command, ifr->ifr_name); - printk("cmd = %x\n", cmd); - printk("buf_size=%d\n", buf_size); - - - bytes_written = handle_custom_msg(command, priv_cmd.used_len); - if (bytes_written >= 0) { - if ((bytes_written == 0) && (priv_cmd.total_len > 0)) { - command[0] = '\0'; - } - if (bytes_written >= priv_cmd.total_len) { - printk("%s: err. bytes_written:%d >= buf_size:%d \n", - __FUNCTION__, bytes_written, buf_size); - goto exit; - } - bytes_written++; - priv_cmd.used_len = bytes_written; - if (copy_to_user(priv_cmd.buf, command, bytes_written)) { - printk("%s: failed to copy data to user buffer\n", __FUNCTION__); - ret = -EFAULT; - } - } - else { - /* Propagate the error */ - ret = bytes_written; - } - -exit: - ///todo: add our unlock - //net_os_wake_unlock(net); - kfree(command); - return ret; -} -#endif - - #define IOCTL_HOSTAPD (SIOCIWFIRSTPRIV+28) #define IOCTL_WPAS (SIOCIWFIRSTPRIV+30) +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 15, 0) static int rwnx_do_ioctl(struct net_device *net, struct ifreq *req, int cmd) +#else +static int rwnx_do_ioctl(struct net_device *net, struct ifreq *req, void __user *data, int cmd) +#endif { int ret = 0; ///TODO: add ioctl command handler later @@ -2761,7 +1386,11 @@ static int rwnx_set_mac_address(struct net_device *dev, void *addr) static const struct net_device_ops rwnx_netdev_ops = { .ndo_open = rwnx_open, .ndo_stop = rwnx_close, - .ndo_do_ioctl = rwnx_do_ioctl, +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 15, 0) + .ndo_do_ioctl = rwnx_do_ioctl, +#else + .ndo_siocdevprivate = rwnx_do_ioctl, +#endif .ndo_start_xmit = rwnx_start_xmit, .ndo_get_stats = rwnx_get_stats, #ifndef CONFIG_ONE_TXQ @@ -3826,6 +2455,7 @@ static int rwnx_cfg80211_disconnect(struct wiphy *wiphy, struct net_device *dev, { struct rwnx_hw *rwnx_hw = wiphy_priv(wiphy); struct rwnx_vif *rwnx_vif = netdev_priv(dev); + int ret = 0; RWNX_DBG(RWNX_FN_ENTRY_STR); @@ -3853,11 +2483,18 @@ static int rwnx_cfg80211_disconnect(struct wiphy *wiphy, struct net_device *dev, return -EBUSY; } - if(atomic_read(&rwnx_vif->drv_conn_state) == RWNX_DRV_STATUS_CONNECTED){ + if(atomic_read(&rwnx_vif->drv_conn_state) == RWNX_DRV_STATUS_CONNECTED) { atomic_set(&rwnx_vif->drv_conn_state, RWNX_DRV_STATUS_DISCONNECTING); key_flag = true; - return(rwnx_send_sm_disconnect_req(rwnx_hw, rwnx_vif, reason_code)); - }else{ + ret = rwnx_send_sm_disconnect_req(rwnx_hw, rwnx_vif, reason_code); +#ifdef AICWF_SDIO_SUPPORT + if (rwnx_hw->sdiodev->bus_if->state == BUS_DOWN_ST) { + AICWFDBG(LOGINFO, "%s bus is down %d\n", __func__, ret); + atomic_set(&rwnx_vif->drv_conn_state, RWNX_DRV_STATUS_DISCONNECTED); + } +#endif + return ret; + } else { cfg80211_connect_result(dev, NULL, NULL, 0, NULL, 0, reason_code?reason_code:WLAN_STATUS_UNSPECIFIED_FAILURE, GFP_ATOMIC); atomic_set(&rwnx_vif->drv_conn_state, RWNX_DRV_STATUS_DISCONNECTED); @@ -4146,13 +2783,11 @@ static int rwnx_cfg80211_del_station_compat(struct wiphy *wiphy, struct aicwf_rx_priv *rx_priv; #endif - //RWNX_DBG(RWNX_FN_ENTRY_STR); - printk("%s: %pM\n", __func__, mac); - #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0) if (params) mac = params->mac; #endif + printk("%s: %pM\n", __func__, mac); do { spin_lock_bh(&rwnx_hw->cb_lock); @@ -4599,6 +3234,7 @@ static int rwnx_cfg80211_start_ap(struct wiphy *wiphy, struct net_device *dev, #if (defined CONFIG_HE_FOR_OLD_KERNEL) || (defined CONFIG_VHT_FOR_OLD_KERNEL) rwnx_vif->ap.aic_index = 0; #endif + rwnx_vif->ap.csa = NULL; sta = &rwnx_hw->sta_table[apm_start_cfm.bcmc_idx]; sta->valid = true; sta->aid = 0; @@ -4961,9 +3597,9 @@ static int rwnx_cfg80211_set_txq_params(struct wiphy *wiphy, struct net_device * * notification by calling cfg80211_ready_on_channel(). */ static int -rwnx_cfg80211_remain_on_channel(struct wiphy *wiphy, struct wireless_dev *wdev, +rwnx_cfg80211_remain_on_channel_(struct wiphy *wiphy, struct wireless_dev *wdev, struct ieee80211_channel *chan, - unsigned int duration, u64 *cookie) + unsigned int duration, u64 *cookie, bool mgmt_roc_flag) { struct rwnx_hw *rwnx_hw = wiphy_priv(wiphy); //struct rwnx_vif *rwnx_vif = netdev_priv(wdev->netdev); @@ -5012,12 +3648,14 @@ rwnx_cfg80211_remain_on_channel(struct wiphy *wiphy, struct wireless_dev *wdev, rwnx_hw->vif_table[add_if_cfm.inst_nbr] = rwnx_vif; spin_unlock_bh(&rwnx_hw->cb_lock); rwnx_hw->is_p2p_alive = 1; +#ifndef CONFIG_USE_P2P0 mod_timer(&rwnx_hw->p2p_alive_timer, jiffies + msecs_to_jiffies(1000)); atomic_set(&rwnx_hw->p2p_alive_timer_count, 0); +#endif } else { #ifndef CONFIG_USE_P2P0 - mod_timer(&rwnx_hw->p2p_alive_timer, jiffies + msecs_to_jiffies(1000)); - atomic_set(&rwnx_hw->p2p_alive_timer_count, 0); + mod_timer(&rwnx_hw->p2p_alive_timer, jiffies + msecs_to_jiffies(1000)); + atomic_set(&rwnx_hw->p2p_alive_timer_count, 0); #endif } } @@ -5034,7 +3672,7 @@ rwnx_cfg80211_remain_on_channel(struct wiphy *wiphy, struct wireless_dev *wdev, roc_elem->wdev = wdev; roc_elem->chan = chan; roc_elem->duration = duration; - roc_elem->mgmt_roc = false; + roc_elem->mgmt_roc = mgmt_roc_flag; roc_elem->on_chan = false; /* Initialize the OFFCHAN TX queue to allow off-channel transmissions */ @@ -5065,6 +3703,15 @@ rwnx_cfg80211_remain_on_channel(struct wiphy *wiphy, struct wireless_dev *wdev, return error; } + +static int +rwnx_cfg80211_remain_on_channel(struct wiphy *wiphy, struct wireless_dev *wdev, + struct ieee80211_channel *chan, + unsigned int duration, u64 *cookie) +{ + return rwnx_cfg80211_remain_on_channel_(wiphy, wdev, chan, duration, cookie, false); +} + /** * @cancel_remain_on_channel: Cancel an on-going remain-on-channel operation. * This allows the operation to be terminated prior to timeout based on @@ -5283,15 +3930,15 @@ static int rwnx_cfg80211_mgmt_tx(struct wiphy *wiphy, struct wireless_dev *wdev, printk("mgmt rx remain on chan\n"); /* Start a ROC procedure for 30ms */ - error = rwnx_cfg80211_remain_on_channel(wiphy, wdev, channel, - 30, &cookie); + error = rwnx_cfg80211_remain_on_channel_(wiphy, wdev, channel, + 30, &cookie, true); if (error) { printk("mgmt rx chan err\n"); return error; } /* Need to keep in mind that RoC has been launched internally in order to * avoid to call the cfg80211 callback once expired */ - rwnx_hw->roc_elem->mgmt_roc = true; + //rwnx_hw->roc_elem->mgmt_roc = true; } #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 14, 0)) @@ -5441,11 +4088,6 @@ int rwnx_cfg80211_channel_switch (struct wiphy *wiphy, goto end; } - error = rwnx_send_bcn(rwnx_hw, buf, vif->vif_index, bcn_after->len); - if (error) { - goto end; - } - vif->ap.csa = csa; csa->vif = vif; csa->chandef = params->chandef; @@ -5737,14 +4379,19 @@ static int rwnx_fill_station_info(struct rwnx_sta *sta, struct rwnx_vif *vif, sinfo->tx_failed = cfm.txfailed; rate_info = (union rwnx_rate_ctrl_info *)&cfm.rate_info; - AICWFDBG(LOGDEBUG, "%s ModTx:%d TxIndex:%d ModRx:%d RxHTIndex:%d RxVHTIndex:%d RxHEIndex:%d RSSI:%d \r\n", __func__, - rate_info->formatModTx, rate_info->mcsIndexTx, rx_vect1->format_mod, + AICWFDBG(LOGDEBUG, "%s ModTx(%d):%d TxIndex:%d ModRx(%d):%d RxHTIndex:%d RxVHTIndex:%d RxHEIndex:%d RSSI:%d \r\n", __func__, + rate_info->bwTx, + rate_info->formatModTx, + rate_info->mcsIndexTx, + rx_vect1->ch_bw, + rx_vect1->format_mod, rx_vect1->ht.mcs, rx_vect1->vht.mcs, rx_vect1->he.mcs, (s8)cfm.rssi); + switch (rate_info->formatModTx) { case FORMATMOD_NON_HT: case FORMATMOD_NON_HT_DUP_OFDM: @@ -7067,6 +5714,11 @@ int rwnx_cfg80211_init(struct rwnx_plat *rwnx_plat, void **platform_data) //wiphy_info(wiphy, "New interface create %s", vif->ndev->name); AICWFDBG(LOGINFO, "New interface create %s \r\n", vif->ndev->name); +#ifdef CONFIG_SDIO_BT + btchr_init(); + hdev_init(); +#endif + #ifdef CONFIG_USE_P2P0 rtnl_lock(); @@ -7152,6 +5804,12 @@ void rwnx_cfg80211_deinit(struct rwnx_hw *rwnx_hw) #ifdef CONFIG_DEBUG_FS rwnx_dbgfs_unregister(rwnx_hw); #endif + +#ifdef CONFIG_SDIO_BT + btchr_exit(); + hdev_exit(); +#endif + flush_workqueue(rwnx_hw->apmStaloss_wq); destroy_workqueue(rwnx_hw->apmStaloss_wq); @@ -7206,14 +5864,14 @@ static int __init rwnx_mod_init(void) rwnx_print_version(); rwnx_init_cmd_array(); -#ifndef CONFIG_PLATFORM_ROCKCHIP +//#ifndef CONFIG_PLATFORM_ROCKCHIP if (aicbsp_set_subsys(AIC_WIFI, AIC_PWR_ON) < 0) { AICWFDBG(LOGERROR, "%s, set power on fail!\n", __func__); if(!aicbsp_get_load_fw_in_fdrv()){ return -ENODEV; } } -#endif +//#endif init_completion(&hostif_register_done); aicsmac_driver_register(); diff --git a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/rwnx_main.h b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/rwnx_main.h index 684ab081f..dfa890347 100755 --- a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/rwnx_main.h +++ b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/rwnx_main.h @@ -13,20 +13,6 @@ #include "rwnx_defs.h" -typedef struct _android_wifi_priv_cmd { - char *buf; - int used_len; - int total_len; -} android_wifi_priv_cmd; - -#ifdef CONFIG_COMPAT -typedef struct _compat_android_wifi_priv_cmd { - compat_caddr_t buf; - int used_len; - int total_len; -} compat_android_wifi_priv_cmd; -#endif /* CONFIG_COMPAT */ - int rwnx_cfg80211_init(struct rwnx_plat *rwnx_plat, void **platform_data); void rwnx_cfg80211_deinit(struct rwnx_hw *rwnx_hw); extern int testmode; diff --git a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/rwnx_mod_params.c b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/rwnx_mod_params.c index 4aa6eba9c..1fdced3ef 100755 --- a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/rwnx_mod_params.c +++ b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/rwnx_mod_params.c @@ -269,6 +269,7 @@ static const int mcs_map_to_rate[4][3] = { #define MAX_VHT_RATE(map, nss, bw) (mcs_map_to_rate[bw][map] * (nss)) extern struct ieee80211_regdomain *reg_regdb[]; +extern int reg_regdb_size; char ccode_channels[200]; int index_for_channel_list = 0; @@ -891,6 +892,7 @@ static void rwnx_set_vht_capa(struct rwnx_hw *rwnx_hw, struct wiphy *wiphy) rwnx_hw->vht_cap_5G.cap &= ~IEEE80211_VHT_CAP_SHORT_GI_80; } + rwnx_hw->vht_cap_5G.cap |= IEEE80211_VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_MASK; } #endif//USE_5G return; diff --git a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/rwnx_msg_rx.c b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/rwnx_msg_rx.c index 662fb9378..c6e76b8a9 100755 --- a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/rwnx_msg_rx.c +++ b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/rwnx_msg_rx.c @@ -25,6 +25,9 @@ #include "rwnx_compat.h" #include "aicwf_txrxif.h" #include "rwnx_msg_rx.h" +#ifdef CONFIG_SDIO_BT +#include "aic_btsdio.h" +#endif void rwnx_cfg80211_unlink_bss(struct rwnx_hw *rwnx_hw, struct rwnx_vif *rwnx_vif); static int rwnx_freq_to_idx(struct rwnx_hw *rwnx_hw, int freq) @@ -275,6 +278,7 @@ found_vif: if (ps_state == MM_PS_MODE_OFF) { // Start TX queues for provided VIF rwnx_txq_vif_start(vif_entry, RWNX_TXQ_STOP_VIF_PS, rwnx_hw); + tasklet_schedule(&rwnx_hw->task); } else { // Stop TX queues for provided VIF rwnx_txq_vif_stop(vif_entry, RWNX_TXQ_STOP_VIF_PS, rwnx_hw); @@ -383,6 +387,18 @@ static inline int rwnx_apm_staloss_ind(struct rwnx_hw *rwnx_hw, return 0; } +#ifdef CONFIG_SDIO_BT +static inline int rwnx_bt_recv_ind(struct rwnx_hw *rwnx_hw, + struct rwnx_cmd *cmd, + struct ipc_e2a_msg *msg) +{ + struct mm_bt_recv_ind *ind = (struct mm_bt_recv_ind *)msg->param; + + bt_sdio_recv(ind->bt_data,ind->data_len); + return 0; +} +#endif + static inline int rwnx_rx_csa_counter_ind(struct rwnx_hw *rwnx_hw, struct rwnx_cmd *cmd, struct ipc_e2a_msg *msg) @@ -1481,6 +1497,9 @@ static msg_cb_fct tdls_hdlrs[MSG_I(TDLS_MAX)] = { [MSG_I(TDLS_CHAN_SWITCH_IND)] = rwnx_rx_tdls_chan_switch_ind, [MSG_I(TDLS_CHAN_SWITCH_BASE_IND)] = rwnx_rx_tdls_chan_switch_base_ind, [MSG_I(TDLS_PEER_PS_IND)] = rwnx_rx_tdls_peer_ps_ind, +#ifdef CONFIG_SDIO_BT + [MSG_I(TDLS_SDIO_BT_RECV_IND)] = rwnx_bt_recv_ind, +#endif }; static msg_cb_fct *msg_hdlrs[] = { @@ -1501,7 +1520,7 @@ static msg_cb_fct *msg_hdlrs[] = { */ void rwnx_rx_handle_msg(struct rwnx_hw *rwnx_hw, struct ipc_e2a_msg *msg) { - //printk("%s msg->id:0x%x \r\n", __func__, msg->id); + AICWFDBG(LOGDEBUG, "%s msg->id:0x%x \r\n", __func__, msg->id); rwnx_hw->cmd_mgr->msgind(rwnx_hw->cmd_mgr, msg, msg_hdlrs[MSG_T(msg->id)][MSG_I(msg->id)]); diff --git a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/rwnx_msg_tx.c b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/rwnx_msg_tx.c index 054afeb7a..f62475b4e 100755 --- a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/rwnx_msg_tx.c +++ b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/rwnx_msg_tx.c @@ -942,6 +942,31 @@ int rwnx_send_arpoffload_en_req(struct rwnx_hw *rwnx_hw, struct rwnx_vif *rwnx_v } #endif +int rwnx_send_disable_agg_req(struct rwnx_hw *rwnx_hw, u8_l agg_disable, u8_l agg_disable_rx, u8_l sta_idx) +{ + struct mm_set_agg_disable_req *req; + int error; + + RWNX_DBG(RWNX_FN_ENTRY_STR); + + /* Build the MM_SET_AGG_DISABLE_REQ message */ + req = rwnx_msg_zalloc(MM_SET_AGG_DISABLE_REQ, TASK_MM, DRV_TASK_ID, + sizeof(struct mm_set_agg_disable_req)); + + if (!req) { + return -ENOMEM; + } + + req->disable = agg_disable; + req->staidx = sta_idx; + req->disable_rx = agg_disable_rx; + + /* Send the MM_SET_AGG_DISABLE_REQ message to UMAC FW */ + error = rwnx_send_msg(rwnx_hw, req, 1, MM_SET_AGG_DISABLE_CFM, NULL); + + return (error); +}; + int rwnx_send_coex_req(struct rwnx_hw *rwnx_hw, u8_l disable_coexnull, u8_l enable_nullcts) { struct mm_set_coex_req *coex_req; @@ -1149,8 +1174,11 @@ int rwnx_send_vendor_hwconfig_req(struct rwnx_hw *rwnx_hw, uint32_t hwconfig_id, struct mm_set_mac_timescale_req *req2; struct mm_set_cca_threshold_req *req3; struct mm_set_bwmode_req *req4; + struct mm_set_ap_ps_level_req *req5 = NULL; + struct mm_set_customized_freq_req *req6; int error = 0; + int i; switch (hwconfig_id) { @@ -1240,29 +1268,68 @@ int rwnx_send_vendor_hwconfig_req(struct rwnx_hw *rwnx_hw, uint32_t hwconfig_id, /* Send the MM_SET_VENDOR_HWCONFIG_CFM message to UMAC FW */ error = rwnx_send_msg(rwnx_hw, req4, 1, MM_SET_VENDOR_HWCONFIG_CFM, NULL); break; - case CHIP_TEMP_GET_REQ: - if ((rwnx_hw->sdiodev->chipid == PRODUCT_ID_AIC8800DC) || - (rwnx_hw->sdiodev->chipid == PRODUCT_ID_AIC8800DW)) - { - struct mm_get_chip_temp_req *req; - struct mm_set_vendor_hwconfig_cfm cfm = {0,}; - /* Build the CHIP_TEMP_GET_REQ message */ - req = rwnx_msg_zalloc(MM_SET_VENDOR_HWCONFIG_REQ, TASK_MM, DRV_TASK_ID, sizeof(struct mm_get_chip_temp_req)); - if (!req) - return -ENOMEM; - req->hwconfig_id = hwconfig_id; - /* Send the MM_SET_VENDOR_HWCONFIG_REQ message to UMAC FW */ - error = rwnx_send_msg(rwnx_hw, req, 1, MM_SET_VENDOR_HWCONFIG_CFM, &cfm); - if (!error) { - if (param_out) { - param_out[0] = (int32_t)cfm.chip_temp_cfm.degree; + case CHIP_TEMP_GET_REQ: + if ((rwnx_hw->sdiodev->chipid == PRODUCT_ID_AIC8800DC) || + (rwnx_hw->sdiodev->chipid == PRODUCT_ID_AIC8800DW)) + { + struct mm_get_chip_temp_req *req; + struct mm_set_vendor_hwconfig_cfm cfm = {0,}; + /* Build the CHIP_TEMP_GET_REQ message */ + req = rwnx_msg_zalloc(MM_SET_VENDOR_HWCONFIG_REQ, TASK_MM, DRV_TASK_ID, sizeof(struct mm_get_chip_temp_req)); + if (!req) + return -ENOMEM; + req->hwconfig_id = hwconfig_id; + /* Send the MM_SET_VENDOR_HWCONFIG_REQ message to UMAC FW */ + error = rwnx_send_msg(rwnx_hw, req, 1, MM_SET_VENDOR_HWCONFIG_CFM, &cfm); + if (!error) { + if (param_out) { + param_out[0] = (int32_t)cfm.chip_temp_cfm.degree; + } + printk("get_chip_temp degree=%d\n", cfm.chip_temp_cfm.degree); + } else { + printk("get_chip_temp err=%d\n", error); + } } - printk("get_chip_temp degree=%d\n", cfm.chip_temp_cfm.degree); - } else { - printk("get_chip_temp err=%d\n", error); - } - } - break; + break; + case AP_PS_LEVEL_SET_REQ: + /* + AP_PS_CLK_1 = 1, // 3:7 -> active 3, doze 7 + AP_PS_CLK_2, // 5:5 -> active 5, doze 5 + AP_PS_CLK_3, // 7:3 -> active 7, doze 3 + AP_PS_CLK_4, // 8:2 -> active 8, doze 2 + AP_PS_CLK_5, // 9:1 -> active 9, doze 1 + */ + /* Build the MM_SET_VENDOR_HWCONFIG_REQ message */ + req5 = rwnx_msg_zalloc(MM_SET_VENDOR_HWCONFIG_REQ, TASK_MM, DRV_TASK_ID, + sizeof(struct mm_set_ap_ps_level_req)); + if (!req5) { + return -ENOMEM; + } + req5->hwconfig_id = hwconfig_id; + req5->ap_ps_level = param[0]; + + /* Send the MM_GET_MAC_ADDR_REQ message to UMAC FW */ + error = rwnx_send_msg(rwnx_hw, req5, 1, MM_SET_VENDOR_HWCONFIG_CFM, NULL); + if(!error) + printk("set ap_ps_level=%d \n",param[0]); + break; + + case CUSTOMIZED_FREQ_REQ: + /* Build the CUSTOMIZED_FREQ_REQ message */ + req6 = rwnx_msg_zalloc(MM_SET_VENDOR_HWCONFIG_REQ, TASK_MM, DRV_TASK_ID, sizeof(struct mm_set_customized_freq_req)); + if (!req6) + return -ENOMEM; + req5->hwconfig_id = hwconfig_id; + for (i = 0; i < 4; i++) { + req6->raw_freq[i] = param [i]; + req6->map_freq[i] = param [i + 4]; + } + printk("customized_freq_req: raw_freq[ %d %d %d %d ], map_freq[ %d %d %d %d]\n", + param[0], param[1], param[2], param[3], param[4], param[5], param[6], param[7]); + /* Send the MM_SET_VENDOR_HWCONFIG_CFM message to UMAC FW */ + error = rwnx_send_msg(rwnx_hw, req5, 1, MM_SET_VENDOR_HWCONFIG_CFM, NULL); + + break; default: return -ENOMEM; } @@ -1321,6 +1388,44 @@ int rwnx_send_vendor_swconfig_req(struct rwnx_hw *rwnx_hw, uint32_t swconfig_id, } break; + case EXT_FLAGS_SET_REQ: + /* Build the EXT_FLAGS_SET_REQ message */ + req->ext_flags_set_req.user_flags = (u32_l)param_in[0]; + printk("ext_flags_set_req: flags=%x\n", + req->ext_flags_set_req.user_flags); + /* Send the MM_SET_VENDOR_SWCONFIG_REQ message to UMAC FW */ + error = rwnx_send_msg(rwnx_hw, req, 1, MM_SET_VENDOR_SWCONFIG_CFM, &cfm); + if (!error) { + param_out[0] = (uint32_t)cfm.ext_flags_set_cfm.user_flags; + printk("cfm flags=%x\n", cfm.ext_flags_set_cfm.user_flags); + } + break; + + case EXT_FLAGS_GET_REQ: + /* Build the EXT_FLAGS_GET_REQ message */ + printk("ext_flags_get_req\n"); + /* Send the MM_SET_VENDOR_SWCONFIG_REQ message to UMAC FW */ + error = rwnx_send_msg(rwnx_hw, req, 1, MM_SET_VENDOR_SWCONFIG_CFM, &cfm); + if (!error) { + param_out[0] = (uint32_t)cfm.ext_flags_get_cfm.user_flags; + printk("cfm flags=%x\n", cfm.ext_flags_get_cfm.user_flags); + } + break; + + case EXT_FLAGS_MASK_SET_REQ: + /* Build the EXT_FLAGS_MASK_SET_REQ message */ + req->ext_flags_mask_set_req.user_flags_mask = (u32_l)param_in[0]; + req->ext_flags_mask_set_req.user_flags_val = (u32_l)param_in[1]; + printk("ext_flags_mask_set_req: flags mask=0x%x, val=0x%x\n", + req->ext_flags_mask_set_req.user_flags_mask, req->ext_flags_mask_set_req.user_flags_val); + /* Send the MM_SET_VENDOR_SWCONFIG_REQ message to UMAC FW */ + error = rwnx_send_msg(rwnx_hw, req, 1, MM_SET_VENDOR_SWCONFIG_CFM, &cfm); + if (!error) { + param_out[0] = (uint32_t)cfm.ext_flags_mask_set_cfm.user_flags; + printk("cfm flags=%x\n", cfm.ext_flags_mask_set_cfm.user_flags); + } + break; + default: error = -ENOMEM; break; @@ -1329,6 +1434,57 @@ int rwnx_send_vendor_swconfig_req(struct rwnx_hw *rwnx_hw, uint32_t swconfig_id, return error; } +int rwnx_send_mask_set_ext_flags_req(struct rwnx_hw *rwnx_hw, uint32_t flags_mask, uint32_t flags_val, struct mm_set_vendor_swconfig_cfm *cfm) +{ + struct mm_set_vendor_swconfig_req *req; + int ret; + + RWNX_DBG(RWNX_FN_ENTRY_STR); + /* Build the REQ message */ + req = rwnx_msg_zalloc(MM_SET_VENDOR_SWCONFIG_REQ, TASK_MM, DRV_TASK_ID, sizeof(struct mm_set_vendor_swconfig_req)); + if (!req) { + AICWFDBG(LOGERROR, "%s msg_alloc fail\n", __func__); + return -ENOMEM; + } + req->swconfig_id = EXT_FLAGS_MASK_SET_REQ; + req->ext_flags_mask_set_req.user_flags_mask = (u32_l)flags_mask; + req->ext_flags_mask_set_req.user_flags_val = (u32_l)flags_val; + + ret = rwnx_send_msg(rwnx_hw, req, 1, MM_SET_VENDOR_SWCONFIG_CFM, cfm); + if (!ret) { + AICWFDBG(LOGINFO, "curr ext_flags=%x\n", cfm->ext_flags_mask_set_cfm.user_flags); + } else { + AICWFDBG(LOGERROR, "%s send_msg_fail\n", __func__); + return ret; + } + return ret; +} + +#ifdef CONFIG_SDIO_BT +int rwnx_sdio_bt_send_req(struct rwnx_hw *rwnx_hw,uint32_t len, struct sk_buff *skb) +{ + struct mm_bt_send_req *req; + struct mm_bt_send_cfm cfm; + int error; + + cfm.status = 0; + req = rwnx_msg_zalloc(TDLS_SDIO_BT_SEND_REQ, TASK_TDLS, DRV_TASK_ID, sizeof(struct mm_bt_send_req)); + + if (!req) { + return -ENOMEM; + } + + req->data_len = len; + memcpy(req->bt_data,skb->data,len); + + error = rwnx_send_msg(rwnx_hw, req, 1, TDLS_SDIO_BT_SEND_CFM, &cfm); + if(!cfm.status){ + printk("bt send no cfm"); + } + + return error; +} +#endif int rwnx_send_get_fw_version_req(struct rwnx_hw *rwnx_hw, struct mm_get_fw_version_cfm *cfm) { @@ -1560,6 +1716,52 @@ int rwnx_send_txpwr_lvl_v3_req(struct rwnx_hw *rwnx_hw) } } +int rwnx_send_txpwr_lvl_adj_req(struct rwnx_hw *rwnx_hw) +{ + struct mm_set_txpwr_lvl_adj_req *txpwr_lvl_adj_req; + txpwr_lvl_adj_conf_t txpwr_lvl_adj_tmp; + txpwr_lvl_adj_conf_t *txpwr_lvl_adj; + int error; + + RWNX_DBG(RWNX_FN_ENTRY_STR); + + /* Build the MM_SET_TXPWR_LVL_REQ message */ + txpwr_lvl_adj_req = rwnx_msg_zalloc(MM_SET_TXPWR_LVL_ADJ_REQ, TASK_MM, DRV_TASK_ID, + sizeof(struct mm_set_txpwr_lvl_adj_req)); + + if (!txpwr_lvl_adj_req) { + return -ENOMEM; + } + + txpwr_lvl_adj = &txpwr_lvl_adj_tmp; + + get_userconfig_txpwr_lvl_adj_in_fdrv(txpwr_lvl_adj); + + if (txpwr_lvl_adj->enable == 0) { + rwnx_msg_free(rwnx_hw, txpwr_lvl_adj_req); + return 0; + } else { + AICWFDBG(LOGINFO, "%s:enable:%d\r\n", __func__, txpwr_lvl_adj->enable); + AICWFDBG(LOGINFO, "%s:lvl_adj_2g4_chan_1_4:%d\r\n", __func__, txpwr_lvl_adj->pwrlvl_adj_tbl_2g4[0]); + AICWFDBG(LOGINFO, "%s:lvl_adj_2g4_chan_5_9:%d\r\n", __func__, txpwr_lvl_adj->pwrlvl_adj_tbl_2g4[1]); + AICWFDBG(LOGINFO, "%s:lvl_adj_2g4_chan_10_13:%d\r\n", __func__, txpwr_lvl_adj->pwrlvl_adj_tbl_2g4[2]); + + AICWFDBG(LOGINFO, "%s:lvl_adj_5g_chan_42:%d\r\n", __func__, txpwr_lvl_adj->pwrlvl_adj_tbl_5g[0]); + AICWFDBG(LOGINFO, "%s:lvl_adj_5g_chan_58:%d\r\n", __func__, txpwr_lvl_adj->pwrlvl_adj_tbl_5g[1]); + AICWFDBG(LOGINFO, "%s:lvl_adj_5g_chan_106:%d\r\n", __func__, txpwr_lvl_adj->pwrlvl_adj_tbl_5g[2]); + AICWFDBG(LOGINFO, "%s:lvl_adj_5g_chan_122:%d\r\n", __func__, txpwr_lvl_adj->pwrlvl_adj_tbl_5g[3]); + AICWFDBG(LOGINFO, "%s:lvl_adj_5g_chan_138:%d\r\n", __func__, txpwr_lvl_adj->pwrlvl_adj_tbl_5g[4]); + AICWFDBG(LOGINFO, "%s:lvl_adj_5g_chan_155:%d\r\n", __func__, txpwr_lvl_adj->pwrlvl_adj_tbl_5g[5]); + + txpwr_lvl_adj_req->txpwr_lvl_adj = *txpwr_lvl_adj; + + /* Send the MM_SET_TXPWR_LVL_REQ message to UMAC FW */ + error = rwnx_send_msg(rwnx_hw, txpwr_lvl_adj_req, 1, MM_SET_TXPWR_LVL_ADJ_CFM, NULL); + + return (error); + } +} + int rwnx_send_txpwr_idx_req(struct rwnx_hw *rwnx_hw) { struct mm_set_txpwr_idx_req *txpwr_idx_req; @@ -1911,6 +2113,13 @@ int rwnx_send_me_set_control_port_req(struct rwnx_hw *rwnx_hw, bool opened, u8 s return rwnx_send_msg(rwnx_hw, req, 1, ME_SET_CONTROL_PORT_CFM, NULL); } +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 19, 0) && LINUX_VERSION_CODE < KERNEL_VERSION(4, 20, 0)) +struct ieee80211_he_cap_elem_4_19 { + u8 mac_cap_info[6]; + u8 phy_cap_info[11]; +} __packed; +#endif + int rwnx_send_me_sta_add(struct rwnx_hw *rwnx_hw, struct station_parameters *params, const u8 *mac, u8 inst_nbr, struct me_sta_add_cfm *cfm) { @@ -1977,20 +2186,24 @@ int rwnx_send_me_sta_add(struct rwnx_hw *rwnx_hw, struct station_parameters *par } #elif defined(CONFIG_VHT_FOR_OLD_KERNEL) if (sta->vht) { - const struct ieee80211_vht_cap *vht_capa = rwnx_vht_capa; + //const struct ieee80211_vht_cap *vht_capa = rwnx_vht_capa; req->flags |= STA_VHT_CAPA; - req->vht_cap.vht_capa_info = cpu_to_le32(vht_capa->vht_cap_info); - req->vht_cap.rx_highest = cpu_to_le16(vht_capa->supp_mcs.rx_highest); - req->vht_cap.rx_mcs_map = cpu_to_le16(vht_capa->supp_mcs.rx_mcs_map); - req->vht_cap.tx_highest = cpu_to_le16(vht_capa->supp_mcs.tx_highest); - req->vht_cap.tx_mcs_map = cpu_to_le16(vht_capa->supp_mcs.tx_mcs_map); + req->vht_cap.vht_capa_info = cpu_to_le32(rwnx_vht_capa->cap); + req->vht_cap.rx_highest = cpu_to_le16(rwnx_vht_capa->vht_mcs.rx_highest); + req->vht_cap.rx_mcs_map = cpu_to_le16(rwnx_vht_capa->vht_mcs.rx_mcs_map); + req->vht_cap.tx_highest = cpu_to_le16(rwnx_vht_capa->vht_mcs.tx_highest); + req->vht_cap.tx_mcs_map = cpu_to_le16(rwnx_vht_capa->vht_mcs.tx_mcs_map); } #endif -#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 20, 0) +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 19, 0) if (link_sta_params->he_capa) { + #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 20, 0) + const struct ieee80211_he_cap_elem_4_19 *he_capa = (const struct ieee80211_he_cap_elem_4_19 *) link_sta_params->he_capa; + #else const struct ieee80211_he_cap_elem *he_capa = link_sta_params->he_capa; + #endif struct ieee80211_he_mcs_nss_supp *mcs_nss_supp = (struct ieee80211_he_mcs_nss_supp *)(he_capa + 1); @@ -2292,7 +2505,8 @@ int rwnx_send_sm_connect_req(struct rwnx_hw *rwnx_hw, rwnx_vif->sta.ssid_len = (int)sme->ssid_len; memset(rwnx_vif->sta.ssid, 0, rwnx_vif->sta.ssid_len + 1); memcpy(rwnx_vif->sta.ssid, sme->ssid, rwnx_vif->sta.ssid_len); - memcpy(rwnx_vif->sta.bssid, sme->bssid, ETH_ALEN); + if (sme->bssid) + memcpy(rwnx_vif->sta.bssid, sme->bssid, ETH_ALEN); printk("%s drv_vif_index:%d connect to %s(%d) channel:%d auth_type:%d\r\n", __func__, diff --git a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/rwnx_msg_tx.h b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/rwnx_msg_tx.h index a3890fe2b..836f43b91 100755 --- a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/rwnx_msg_tx.h +++ b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/rwnx_msg_tx.h @@ -161,6 +161,7 @@ int rwnx_send_dbg_mem_block_write_req(struct rwnx_hw *rwnx_hw, u32 mem_addr, int rwnx_send_dbg_start_app_req(struct rwnx_hw *rwnx_hw, u32 boot_addr, u32 boot_type); int rwnx_send_cfg_rssi_req(struct rwnx_hw *rwnx_hw, u8 vif_index, int rssi_thold, u32 rssi_hyst); +int rwnx_send_disable_agg_req(struct rwnx_hw *rwnx_hw, u8_l agg_disable, u8_l agg_disable_rx, u8_l sta_idx); int rwnx_send_coex_req(struct rwnx_hw *rwnx_hw, u8_l disable_coexnull, u8_l enable_nullcts); int rwnx_send_get_sta_info_req(struct rwnx_hw *rwnx_hw, u8_l sta_idx, struct mm_get_sta_info_cfm *cfm); int rwnx_send_set_stack_start_req(struct rwnx_hw *rwnx_hw, u8_l on, u8_l efuse_valid, u8_l set_vendor_info, @@ -169,12 +170,17 @@ int rwnx_send_txop_req(struct rwnx_hw *rwnx_hw, uint16_t *txop, u8_l long_nav_en int rwnx_send_set_temp_comp_req(struct rwnx_hw *rwnx_hw, struct mm_set_vendor_swconfig_cfm *cfm); int rwnx_send_vendor_hwconfig_req(struct rwnx_hw *rwnx_hw, uint32_t hwconfig_id, int32_t *param, int32_t *param_out); int rwnx_send_vendor_swconfig_req(struct rwnx_hw *rwnx_hw, uint32_t swconfig_id, int32_t *param_in, int32_t *param_out); +int rwnx_send_mask_set_ext_flags_req(struct rwnx_hw *rwnx_hw, uint32_t flags_mask, uint32_t flags_val, struct mm_set_vendor_swconfig_cfm *cfm); int rwnx_send_get_fw_version_req(struct rwnx_hw *rwnx_hw, struct mm_get_fw_version_cfm *cfm); int rwnx_send_txpwr_idx_req(struct rwnx_hw *rwnx_hw); int rwnx_send_txpwr_ofst_req(struct rwnx_hw *rwnx_hw); int rwnx_send_txpwr_ofst2x_req(struct rwnx_hw *rwnx_hw); int rwnx_send_txpwr_lvl_req(struct rwnx_hw *rwnx_hw); int rwnx_send_txpwr_lvl_v3_req(struct rwnx_hw *rwnx_hw); +int rwnx_send_txpwr_lvl_adj_req(struct rwnx_hw *rwnx_hw); +#ifdef CONFIG_SDIO_BT +int rwnx_sdio_bt_send_req(struct rwnx_hw *rwnx_hw,uint32_t len, struct sk_buff *skb); +#endif #endif /* _RWNX_MSG_TX_H_ */ diff --git a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/rwnx_platform.c b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/rwnx_platform.c index 4ca92f8f3..b826b4b02 100755 --- a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/rwnx_platform.c +++ b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/rwnx_platform.c @@ -55,6 +55,7 @@ typedef struct txpwr_lvl_conf_t txpwr_lvl; txpwr_lvl_conf_v2_t txpwr_lvl_v2; txpwr_lvl_conf_v3_t txpwr_lvl_v3; + txpwr_lvl_adj_conf_t txpwr_lvl_adj; txpwr_loss_conf_t txpwr_loss; txpwr_ofst_conf_t txpwr_ofst; txpwr_ofst2x_conf_t txpwr_ofst2x; @@ -629,6 +630,67 @@ void get_userconfig_xtal_cap(xtal_cap_conf_t *xtal_cap) AICWFDBG(LOGINFO, "%s:xtal_cap_fine:%d\r\n", __func__, xtal_cap->xtal_cap_fine); } +s8_l get_txpwr_max(s8_l power) +{ + int i=0; + + for (i = 0; i <= 11; i++){ + if(power < userconfig_info.txpwr_lvl_v3.pwrlvl_11b_11ag_2g4[i]) + power = userconfig_info.txpwr_lvl_v3.pwrlvl_11b_11ag_2g4[i]; + } + for (i = 0; i <= 9; i++){ + if(power < userconfig_info.txpwr_lvl_v3.pwrlvl_11n_11ac_2g4[i]) + power = userconfig_info.txpwr_lvl_v3.pwrlvl_11n_11ac_2g4[i]; + } + for (i = 0; i <= 11; i++){ + if(power < userconfig_info.txpwr_lvl_v3.pwrlvl_11ax_2g4[i]) + power = userconfig_info.txpwr_lvl_v3.pwrlvl_11ax_2g4[i]; + } + for (i = 4; i <= 11; i++){ + if(power < userconfig_info.txpwr_lvl_v3.pwrlvl_11a_5g[i]) + power = userconfig_info.txpwr_lvl_v3.pwrlvl_11a_5g[i]; + } + for (i = 0; i <= 9; i++){ + if(power < userconfig_info.txpwr_lvl_v3.pwrlvl_11n_11ac_5g[i]) + power = userconfig_info.txpwr_lvl_v3.pwrlvl_11n_11ac_5g[i]; + } + for (i = 0; i <= 11; i++){ + if(power < userconfig_info.txpwr_lvl_v3.pwrlvl_11ax_5g[i]) + power = userconfig_info.txpwr_lvl_v3.pwrlvl_11ax_5g[i]; + } + + if(userconfig_info.txpwr_loss.loss_enable == 1) + power += userconfig_info.txpwr_loss.loss_value; + + printk("%s:txpwr_max:%d \r\n",__func__,power); + return power; +} + +void set_txpwr_loss_ofst(s8_l value) +{ + int i=0; + + for (i = 0; i <= 11; i++){ + userconfig_info.txpwr_lvl_v3.pwrlvl_11b_11ag_2g4[i] += value; + } + for (i = 0; i <= 9; i++){ + userconfig_info.txpwr_lvl_v3.pwrlvl_11n_11ac_2g4[i] += value; + } + for (i = 0; i <= 11; i++){ + userconfig_info.txpwr_lvl_v3.pwrlvl_11ax_2g4[i] += value; + } + for (i = 4; i <= 11; i++){ + userconfig_info.txpwr_lvl_v3.pwrlvl_11a_5g[i] += value; + } + for (i = 0; i <= 9; i++){ + userconfig_info.txpwr_lvl_v3.pwrlvl_11n_11ac_5g[i] += value; + } + for (i = 0; i <= 11; i++){ + userconfig_info.txpwr_lvl_v3.pwrlvl_11ax_5g[i] += value; + } + + printk("%s:value:%d\r\n", __func__, value); +} #define MATCH_NODE(type, node, cfg_key) {cfg_key, offsetof(type, node)} @@ -1040,6 +1102,26 @@ void rwnx_plat_nvram_set_value_v3(char *command, char *value) userconfig_info.txpwr_lvl_v3.pwrlvl_11ax_5g[10] = rwnx_atoi(value); } else if (!strcmp(command, "lvl_11ax_mcs11_5g")) { userconfig_info.txpwr_lvl_v3.pwrlvl_11ax_5g[11] = rwnx_atoi(value); + } else if (!strcmp(command, "lvl_adj_enable")) { + userconfig_info.txpwr_lvl_adj.enable = rwnx_atoi(value); + } else if (!strcmp(command, "lvl_adj_2g4_chan_1_4")) { + userconfig_info.txpwr_lvl_adj.pwrlvl_adj_tbl_2g4[0] = rwnx_atoi(value); + } else if (!strcmp(command, "lvl_adj_2g4_chan_5_9")) { + userconfig_info.txpwr_lvl_adj.pwrlvl_adj_tbl_2g4[1] = rwnx_atoi(value); + } else if (!strcmp(command, "lvl_adj_2g4_chan_10_13")) { + userconfig_info.txpwr_lvl_adj.pwrlvl_adj_tbl_2g4[2] = rwnx_atoi(value); + } else if (!strcmp(command, "lvl_adj_5g_chan_42")) { + userconfig_info.txpwr_lvl_adj.pwrlvl_adj_tbl_5g[0] = rwnx_atoi(value); + } else if (!strcmp(command, "lvl_adj_5g_chan_58")) { + userconfig_info.txpwr_lvl_adj.pwrlvl_adj_tbl_5g[1] = rwnx_atoi(value); + } else if (!strcmp(command, "lvl_adj_5g_chan_106")) { + userconfig_info.txpwr_lvl_adj.pwrlvl_adj_tbl_5g[2] = rwnx_atoi(value); + } else if (!strcmp(command, "lvl_adj_5g_chan_122")) { + userconfig_info.txpwr_lvl_adj.pwrlvl_adj_tbl_5g[3] = rwnx_atoi(value); + } else if (!strcmp(command, "lvl_adj_5g_chan_138")) { + userconfig_info.txpwr_lvl_adj.pwrlvl_adj_tbl_5g[4] = rwnx_atoi(value); + } else if (!strcmp(command, "lvl_adj_5g_chan_155")) { + userconfig_info.txpwr_lvl_adj.pwrlvl_adj_tbl_5g[5] = rwnx_atoi(value); } else if (!strcmp(command, "loss_enable")) { userconfig_info.txpwr_loss.loss_enable = rwnx_atoi(value); } else if (!strcmp(command, "loss_value")) { @@ -1875,6 +1957,23 @@ void get_userconfig_txpwr_lvl_v3_in_fdrv(txpwr_lvl_conf_v3_t *txpwr_lvl_v3) AICWFDBG(LOGINFO, "%s:lvl_11ax_mcs11_5g:%d\r\n", __func__, txpwr_lvl_v3->pwrlvl_11ax_5g[11]); } +void get_userconfig_txpwr_lvl_adj_in_fdrv(txpwr_lvl_adj_conf_t *txpwr_lvl_adj) +{ + *txpwr_lvl_adj = userconfig_info.txpwr_lvl_adj; + + AICWFDBG(LOGINFO, "%s:enable:%d\r\n", __func__, txpwr_lvl_adj->enable); + AICWFDBG(LOGINFO, "%s:lvl_adj_2g4_chan_1_4:%d\r\n", __func__, txpwr_lvl_adj->pwrlvl_adj_tbl_2g4[0]); + AICWFDBG(LOGINFO, "%s:lvl_adj_2g4_chan_5_9:%d\r\n", __func__, txpwr_lvl_adj->pwrlvl_adj_tbl_2g4[1]); + AICWFDBG(LOGINFO, "%s:lvl_adj_2g4_chan_10_13:%d\r\n", __func__, txpwr_lvl_adj->pwrlvl_adj_tbl_2g4[2]); + + AICWFDBG(LOGINFO, "%s:lvl_adj_5g_chan_42:%d\r\n", __func__, txpwr_lvl_adj->pwrlvl_adj_tbl_5g[0]); + AICWFDBG(LOGINFO, "%s:lvl_adj_5g_chan_58:%d\r\n", __func__, txpwr_lvl_adj->pwrlvl_adj_tbl_5g[1]); + AICWFDBG(LOGINFO, "%s:lvl_adj_5g_chan_106:%d\r\n", __func__, txpwr_lvl_adj->pwrlvl_adj_tbl_5g[2]); + AICWFDBG(LOGINFO, "%s:lvl_adj_5g_chan_122:%d\r\n", __func__, txpwr_lvl_adj->pwrlvl_adj_tbl_5g[3]); + AICWFDBG(LOGINFO, "%s:lvl_adj_5g_chan_138:%d\r\n", __func__, txpwr_lvl_adj->pwrlvl_adj_tbl_5g[4]); + AICWFDBG(LOGINFO, "%s:lvl_adj_5g_chan_155:%d\r\n", __func__, txpwr_lvl_adj->pwrlvl_adj_tbl_5g[5]); +} + /** * rwnx_plat_userconfig_load ---Load aic_userconfig.txt *@filename name of config diff --git a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/rwnx_platform.h b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/rwnx_platform.h index 925061234..32d88e188 100755 --- a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/rwnx_platform.h +++ b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/rwnx_platform.h @@ -117,10 +117,13 @@ void rwnx_platform_unregister_drv(void); void get_userconfig_txpwr_idx(txpwr_idx_conf_t *txpwr_idx); void get_userconfig_txpwr_ofst(txpwr_ofst_conf_t *txpwr_ofst); void get_userconfig_xtal_cap(xtal_cap_conf_t *xtal_cap); +s8_l get_txpwr_max(s8_l power); +void set_txpwr_loss_ofst(s8_l value); void get_userconfig_txpwr_lvl_in_fdrv(txpwr_lvl_conf_t *txpwr_lvl); void get_userconfig_txpwr_lvl_v2_in_fdrv(txpwr_lvl_conf_v2_t *txpwr_lvl_v2); void get_userconfig_txpwr_lvl_v3_in_fdrv(txpwr_lvl_conf_v3_t *txpwr_lvl_v3); +void get_userconfig_txpwr_lvl_adj_in_fdrv(txpwr_lvl_adj_conf_t *txpwr_lvl_adj); void get_userconfig_txpwr_ofst_in_fdrv(txpwr_ofst_conf_t *txpwr_ofst); void get_userconfig_txpwr_ofst2x_in_fdrv(txpwr_ofst2x_conf_t *txpwr_ofst2x); diff --git a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/rwnx_rx.c b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/rwnx_rx.c index 02641e41b..d740f146a 100755 --- a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/rwnx_rx.c +++ b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/rwnx_rx.c @@ -681,6 +681,9 @@ static void rwnx_rx_mgmt(struct rwnx_hw *rwnx_hw, struct rwnx_vif *rwnx_vif, const u8* ie; u32 len; + if(skb->data[0]!=0x80) + AICWFDBG(LOGDEBUG,"rxmgmt:%x,%x\n", skb->data[0], skb->data[1]); + if (ieee80211_is_assoc_req(mgmt->frame_control) && rwnx_vif->wdev.iftype == NL80211_IFTYPE_AP) { printk("ASSOC_REQ: sta_idx %d MAC %pM\n", rwnx_vif->ap.aic_index, mgmt->sa); sta->sta_idx = rwnx_vif->ap.aic_index; @@ -1771,7 +1774,7 @@ int reord_process_unit(struct aicwf_rx_priv *rx_priv, struct sk_buff *skb, u16 s spin_lock_bh(&preorder_ctrl->reord_list_lock); if (reord_need_check(preorder_ctrl, pframe->seq_num)) { -#if 0 +#if 1 if(pframe->rx_data[42] == 0x80){//this is rtp package if(pframe->seq_num == preorder_ctrl->ind_sn){ printk("%s pframe->seq_num1:%d \r\n", __func__, pframe->seq_num); @@ -1943,7 +1946,7 @@ void rwnx_rxdata_process_amsdu(struct rwnx_hw *rwnx_hw, struct sk_buff *skb, u8 } //printk("sublen = %d, %x, %x, %x, %x\r\n", sublen,skb->data[0], skb->data[1], skb->data[12], skb->data[13]); #if 1 - sub_skb = __dev_alloc_skb(sublen - 6 + 12, GFP_KERNEL); + sub_skb = __dev_alloc_skb(sublen - 6 + 12, GFP_ATOMIC); if(!sub_skb){ printk("sub_skb alloc fail:%d\n", sublen); break; diff --git a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/rwnx_tx.c b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/rwnx_tx.c index 7be91e061..dc9d2ccd5 100755 --- a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/rwnx_tx.c +++ b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/rwnx_tx.c @@ -169,7 +169,7 @@ void rwnx_ps_bh_traffic_req(struct rwnx_hw *rwnx_hw, struct rwnx_sta *sta, // sta->mac_addr)) // return; if (!sta->ps.active) { - printk("sta %pM is not in Power Save mode", sta->mac_addr); + AICWFDBG(LOGTRACE,"sta %pM is not in Power Save mode", sta->mac_addr); return; } #ifdef CREATE_TRACE_POINTS @@ -641,7 +641,10 @@ void rwnx_tx_push(struct rwnx_hw *rwnx_hw, struct rwnx_txhdr *txhdr, int flags) sw_txhdr->need_cfm = 1; sw_txhdr->desc.host.hostid = ((1<<31) | rwnx_hw->sdio_env.txdesc_free_idx[0]); aicwf_sdio_host_txdesc_push(&(rwnx_hw->sdio_env), 0, (long)skb); - AICWFDBG(LOGINFO, "need cfm ethertype:%8x,user_idx=%d, skb=%p\n", sw_txhdr->desc.host.ethertype, rwnx_hw->sdio_env.txdesc_free_idx[0], skb); + if((sw_txhdr->desc.host.flags & TXU_CNTRL_MGMT)) + AICWFDBG(LOGINFO, "need cfm mgmt:%x,user_idx=%d, skb=%p\n", *(skb->data+sw_txhdr->headroom), rwnx_hw->sdio_env.txdesc_free_idx[0], skb); + else + AICWFDBG(LOGINFO, "need cfm ethertype:%8x,user_idx=%d, skb=%p\n", sw_txhdr->desc.host.ethertype, rwnx_hw->sdio_env.txdesc_free_idx[0], skb); } else { sw_txhdr->need_cfm = 0; sw_txhdr->desc.host.hostid = 0; @@ -1418,6 +1421,9 @@ netdev_tx_t rwnx_start_xmit(struct sk_buff *skb, struct net_device *dev) skb = newskb; } + if(skb->priority < 3) + skb->priority = 0; + #ifdef CONFIG_FILTER_TCP_ACK msgbuf=intf_tcp_alloc_msg(msgbuf); msgbuf->rwnx_vif=rwnx_vif; @@ -1615,6 +1621,8 @@ int rwnx_start_mgmt_xmit(struct rwnx_vif *vif, struct rwnx_sta *sta, bool no_cck = params->no_cck; #endif + AICWFDBG(LOGDEBUG,"mgmt xmit %x %x ",buf[0],buf[1]); + if((g_rwnx_plat->sdiodev->chipid == PRODUCT_ID_AIC8801) || ((g_rwnx_plat->sdiodev->chipid == PRODUCT_ID_AIC8800DC || g_rwnx_plat->sdiodev->chipid == PRODUCT_ID_AIC8800DW) && chip_id < 3)){ diff --git a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/rwnx_txq.c b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/rwnx_txq.c index a776e31e9..5468c3a5e 100755 --- a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/rwnx_txq.c +++ b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/rwnx_txq.c @@ -19,6 +19,11 @@ #ifdef CONFIG_RWNX_FULLMAC const int nx_tid_prio[NX_NB_TID_PER_STA] = {7, 6, 5, 4, 3, 0, 2, 1}; +#ifdef CONFIG_TX_NETIF_FLOWCTRL +extern int tx_fc_low_water; +extern int tx_fc_high_water; +#endif + static inline int rwnx_txq_sta_idx(struct rwnx_sta *sta, u8 tid) { if (is_multicast_sta(sta->sta_idx)){ @@ -853,9 +858,17 @@ int rwnx_txq_queue_skb(struct sk_buff *skb, struct rwnx_txq *txq, /* Flowctrl corresponding netdev queue if needed */ #ifdef CONFIG_RWNX_FULLMAC #ifndef CONFIG_ONE_TXQ + +#ifdef CONFIG_TX_NETIF_FLOWCTRL + if ((txq->ndev_idx != NDEV_NO_TXQ) && ((skb_queue_len(&txq->sk_list) > RWNX_NDEV_FLOW_CTRL_STOP) && + !rwnx_hw->sdiodev->flowctrl)) { +// (atomic_read(&rwnx_hw->sdiodev->tx_priv->tx_pktcnt) >= tx_fc_high_water))) { +#else /* If too many buffer are queued for this TXQ stop netdev queue */ if ((txq->ndev_idx != NDEV_NO_TXQ) && (skb_queue_len(&txq->sk_list) > RWNX_NDEV_FLOW_CTRL_STOP)) { +#endif + txq->status |= RWNX_TXQ_NDEV_FLOW_CTRL; netif_stop_subqueue(txq->ndev, txq->ndev_idx); #ifdef CREATE_TRACE_POINT @@ -1292,8 +1305,14 @@ void rwnx_hwq_process(struct rwnx_hw *rwnx_hw, struct rwnx_hwq *hwq) } #ifndef CONFIG_ONE_TXQ /* restart netdev queue if number of queued buffer is below threshold */ +#ifdef CONFIG_TX_NETIF_FLOWCTRL + if (unlikely(txq->status & RWNX_TXQ_NDEV_FLOW_CTRL) && + (skb_queue_len(&txq->sk_list) < RWNX_NDEV_FLOW_CTRL_RESTART)) { +#else if (unlikely(txq->status & RWNX_TXQ_NDEV_FLOW_CTRL) && skb_queue_len(&txq->sk_list) < RWNX_NDEV_FLOW_CTRL_RESTART) { +#endif + txq->status &= ~RWNX_TXQ_NDEV_FLOW_CTRL; netif_wake_subqueue(txq->ndev, txq->ndev_idx); #ifdef CREATE_TRACE_POINTS diff --git a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/rwnx_version_gen.h b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/rwnx_version_gen.h index 5185e9229..6ce7186ae 100755 --- a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/rwnx_version_gen.h +++ b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/rwnx_version_gen.h @@ -1,4 +1,4 @@ #define RWNX_VERS_REV "241c091M (master)" #define RWNX_VERS_MOD "6.4.3.0" #define RWNX_VERS_BANNER "rwnx v6.4.3.0 - - 241c091M (master)" -#define RELEASE_DATE "2023_1219_3cf85031" +#define RELEASE_DATE "2024_0615_c3cb37b3" diff --git a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/rwnx_wakelock.c b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/rwnx_wakelock.c index 69bcf3f5d..1d1529627 100755 --- a/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/rwnx_wakelock.c +++ b/sysdrv/drv_ko/wifi/aic8800dc/aic8800_fdrv/rwnx_wakelock.c @@ -82,5 +82,9 @@ void aicwf_wakeup_lock_deinit(struct rwnx_hw *rwnx_hw) rwnx_wakeup_deinit(rwnx_hw->ws_rx); rwnx_wakeup_deinit(rwnx_hw->ws_irqrx); rwnx_wakeup_deinit(rwnx_hw->ws_pwrctrl); + rwnx_hw->ws_tx = NULL; + rwnx_hw->ws_rx = NULL; + rwnx_hw->ws_irqrx = NULL; + rwnx_hw->ws_pwrctrl = NULL; } diff --git a/sysdrv/drv_ko/wifi/aic8800dc/aic8800dc_fw/fmacfw_calib_8800dc_h_u02.bin b/sysdrv/drv_ko/wifi/aic8800dc/aic8800dc_fw/fmacfw_calib_8800dc_h_u02.bin index 59604d328047abeb483ea0fe2a8bdc65343773a5..c395f04b25a79573d6a5619f8a516d03cbf84606 100755 GIT binary patch delta 9240 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 Izgxxs4;_mrA^-pY delta 13054 zcmZ{L30PCd7Vz98kPuLo2(l9r5d=gKR1hm6z=aSM5N#E;#-$pmR_aoHw0()9R&D!S zZWjw$?T%vWf?AhSXtip2v6{Yb_xx)CRm)7GUK;6rPfSsDn!X8}hSM>$tcQ|a z>O{6O=0|GW^h-+>C^Z08l|H3F+o6c--YF70M0Q`gJU^P2<2KjZMP*Qb?aEQ@FG{0- zeUR*`E2h-t2Gs2S_x%bgiEaOWQP7Gvm@-iewTpRH6h$3jc8S8`KQsp@e|^yELSr?y zV`kGdll}*G%dDHMVKa)A(E+OZLehVp`BoHWI%Qt34^W|4N?BhRpaOXQ8hs#5DGwDs zJ0sngeWI$E$__H78x-eIqQ>@#xupM6`O4x|MJ4@*0_Av`YlU7saH-(pz@ZW0bMsh9 zQiImszD&2gXn9FV|GmXAc)EQbi&CE|eoD8jNNj5nwu_Eoc^+7Q;HueQW$f_j-l24PH{qWPHf)Y+&qOrj;}g%JJHy)&8xI%+}UQ6wn=Nk zJ)el{j@%Q=MRmkXU3bR)kLr>=sw?gkyfaWu3OQ78%4n+0q6sUeZl;;#EVFTce z2t@3{K=eW#;4D+1(n=M*ti67w%b4b|1SU_`t)Z1!M~ zKHR9XX=a8S!i`#+SsQMkls6yfm;)nAs92_ZWCW#vcJ{EU)1|u7>1ER>r4Oc2}M!mzNERSvnQZ**MgM9r6gSpzVh z423XDgxCVL1>iU4F&~C)AN%hIJg+w9^&^GaAX5JO0W0*(Vt22{{Y>rd-DT#5ucf|Z zz71cldx6*VQt86=j;l7WD!z@8+@>8 zP@xakMS~iAa3y1kNE7`&k2x7JT8`!`PyiI=eCC&k1nPIjH?o9+StDbpYs~YJvDDYh zfyng0W1OT;RLf{vY_D%x3bTF0{3kMwdX14rt)QM|o{bty6)^{+$|It=*{q~lW%Rvw zeeHP7#Xh}Qk*7AuVMHJ^EP7;+7bk;2MJOQdD*Sc1n2FJMf=XeXtprVtf)WaDXPnQZ z#N-EW=f~68bR@pP&!cBT{WBkhQ<;}yqNpdB4`NEFam+wWEM;LvDq|+JaLQt$6NMp0 z9|4;17PQjij1+q8^>BT7QJ7JNk8&Z!VMR!-Fv#$S%+t!T<6i^u(WrI0v!s@#Yl=t> zjEE2l2tXLkfxZO#3BVXp*Zz4-t8$s2)V9Sgp%ZAS&1`3;#76tS#w`|>w3*%ky#B`I zsz#bNaq|S2H|U+#CTCiGy7t+LunHvjF-PN7_ny478=LC_Hj75-$;8CGWI% zAu19(ol)3t@O%&DZ?K&2;d7q1MB2O<= z{euDXY&V}HnPI9p{{$}i5jOuq*vty%;{J!trJTw``mpmMn{yvwvksidw<=#Eqq9GLz!el$ea7}FNNHmG#D0$IQn-i3I*eA%*PSLZV`6B4O=%!>)xR2y?HA>I_Q0F0xFqy=L^ z~(D;e88{N=6FMr|BUOKdIFuHz^UjcOUw)GkNV&4z=i9M?Pi9J>7vq!#Ha@gmHlJHk=VyoL%&<#)g$pT zU2GQ-u52~tVjZQF;qeYPmo;YKGR_;=yV+e(Jt1FBe|T@36vZl7Y8;g)YnR@u5xqO` z%i_JjDq)LCJD|0-ORWLnqPm0KS+%V7%FdFzHL@$#`daUMHFE0K2ij2yJ$#_evdU_& z!Bo4??*Q59{Agetrm4Q!9aVX`+fW^E9bLKH`eF69?#0zE7~f>QOlT*Lv<6I;;V^ zZ|j!q?6N@wQb$fBd>PL;Hl5GSG(oc+PZyPU+wm5ZR;L(9`z}i zNn@9rE>vmy0yjkqE|596TUaF$+c@3^`N6Kc*&BBW`9ZdjAIPx3y#r=C(Cu}k1L$`E z{R2S11Lz+B`W-<30MPFM`kz|S-M?8=K+O_R9Z_FV^=NB-+!SxG%#z4FHSVNyZZQ%Ce5G&9s`l zcP_U!REJpuVDJOzu1xK!bd)7BQDwc&>cR#Z93I=cEZaJN@s;T>T8QlGEd2+J=M zsBN%zS5G!sr(fF$WS3h%svc_{cI_|L`>h*ciVfCRt5;f&wobNw)0zp>ZLl7#PPY2B zK5u;*+OJeUZEZMD)xFd$hE?29jgnrn{;m3@Zc*(^-BfiBZu*!61O7Lgbw$OmcX;)s z&g_jbU`UyG$dJi{$E`EKfF?<`+j?GLNn$}_RbQ|mv8*3hlUR4y`Qu>C?VUZ=XFS0o zj+J_}6bV|&>6e2~``qoigVeh^kM$vQkMY;-r`g+6QR&4(k~Sh_%9{oC(XZk^wVeu` z9;!<;hU&vg!kG5ddyB?)u_cpW6TH|b9#cd|;6*$MMMzmvu7`2mU(it z2!bbQV6yAN<~1aEF$lhGFb#0Rye{_nN{XA`A282-2L#{I?*-VGIJe+CK=6NX?mXm4 zcC^4|DzIrB9HozgOzX=&Uqz6F2~7_&eZnWwB)CcOVZNA-6k6}|G4?I&OpgYnct5YA zLxm@A@(4LD&l%!(jmsnn6Z2sARZEE%Yem z$;DFK%6S3aX@{HcMUD|om^yicKu>|HPFJaH$0hWzdm^t%IwS0f750g`DpdlsX4@w~ zE3-Zlm)g^zH49pLJ5xO&L$s1(j!#%;O8eZec(X$s^zOZ1*Ib5BA7E4vcXYG*xoA17AM8+uCsH&MM8tnCyWWd< zug3?GZI$eFfGhX1bqYHlp^!j-1)-?v_heSX&iG|U%Tk1nkDa-j70JxV3>qhP zQFW1U4mB?(vpb!lx^SHq6b#CBit8YP32mD*izcVupO{^l5hAODIhr{tv z$Dw=!Wdtk+CUsKy6G8tU`95^Iu#lEih*BI1 z>roB!WzlK_k<{)QE}UH@B64=U+~-THY%*x4!n0B$e<<_9WWS)_LFWI~0aH8q7t@RC zFIZdIPTHHMXm!y|cAr^Ya+7^+w-krlCAX;L01GuCV63l&8g&#F!+i}(>2HrHq9#bO z+#WEtubtd8Tw`r%>(UeHVpd(63r7+uE_S$KS#$-fR>~70KmJ(<@TmeECH>HTjkTn; zvh29DZ#$(pT>y)F)`_U}3Rb0T?RsH6NyBWw^DF~+C6p0RQVmSX6s_nU-?(PVc1kpL zka0ey96ok%COr=VW0O4s-*YgDQ-2v2fiJV!!j34mH8Ej12LV#W26!M_nXhu1VNv$7 z%y!KsQ7+HS$PI_SnPpbyPBuyLB34oxCn$S9>s32SXg$Gt*Q$ipOjcSOE3~Gwvf3D- zRRjUs9mw<8p+G(rwl}h+NpTiCnRXj5gB|Y)=Hu9r9+ypI7ec=3E##}i8@!n~t^edL zAZ-TnRxXId1 zHcY$8-rxIiZ~u$lc&f8r|2>;99x@V{=D|5;QK3Q_#lNG!$+j@h7nV`$n6|Ql-IYhrJFds+NGg69O<|K2j`0= z9G>kcub*n<@N!t;ZYFNjs|`+E_+Lyo@g|-#;THj!!zpkl@+j)~|3N*(bJ*(mSpSJG z%9styuxd$Of6J0=Lk`@ZT-*tpReY)#(a{)KiCQ7IAG$Pl1FI| z>4xY+PxzVwu60+;c|M;w{PmOfwPCeb61xCJD3&3Kf=uMk_I@1qmc>BMC~;UM#r zKF0K-LqoT9rEPEPO5e`mZFZuWF9a%8&INU8O!?t7U}~0&utqu8>(h+k#tlW2=ml?o z(dV0+PD7F+@`gMw0mdzd8$}MkD~!J9sMKc}7wiu=t|}s!1W!$SV?6kwHn%UpYy_kC z43>=PN12pr(X?f{CB|hX%Vy-=m5GC*< zCDSHQDOF%*lB&D_HMw)$4)uO0m!RB-61f;Ipx}CyxJts}#*@?Qsn99TIkXdKf28}U zXqxd-pC&&Rn95?AH6Rk6kN@uQ$N^fEX>5eFcN?+TmdL zvYnLD3wLt|x=+DbrLlU6F5W7GTxB~P!>^FzxCxSvfXO6TA&CD1#4~_+y1GI@jJIxw zyMQb1lxDK$Rv^&}?z0YbH&%9ZpQ=0nxE(OYH)R`~39ne=Ymsfk<_~-P#G<6U-mB`u z-qe}?3#nZA}=0o-XGW>GNJZf*=PF$G{( z-E07C8+Xe3do4LJqQ3aeNIkLWc|#ig{9-ShR$g8|Dkok;5^ZYWkFva5v%ulVKN1S}fm0ISKLj-ei@)PLpcN`6<&>z#WM{EB|tqCN6Dg+ z0YNc&J7bjYJIj3ZcoKDt`TlW+dZlss6AVQqGLAWgqD2lSf39j`iNk2TahStVgGU=X zSff`5yL9$&z5fgoOS#-Q9hi9(NRn9&D z{ubyM23u6qeTlFYf@$Gms8g^>8tv0T+ybuAs!u^S>$VebMrum6yQtbg?9^-j>NjF_ z;u6enUnH6OLz#k#EN}a5FStZwhR+XY-maJ&clq{HumsforX^~dzZlY5vBIE?z0pv9 zBmhE?dGJQP3uA_w7g1gguPmJSwZX9sr8ET##D#;{E4Ryl(KYssE1kHTh1X^Zq=L|* z62BErm&5+%a=8~18R_5&Rb?!ps}tz909^&MZC+Q#6_zXKDTI1 zVp^*3dn_(3b*Zw-_>>| zWBvz^7%01$j&9^=;T0zggD-*%F&hm6I z+8t{{`LAhf=$&x?5O*WP^14=a`N*^?ns+eJN; zUDR6(tlZe*X6=lHOpI*Lz`G0ZDJuQKs1uX)@ivXNR;z4BDbi~&pL)DWhm<4n?<_$< z91X1MIYL8MS{s+CJs>q`x9$GeOBg=vGcCTt@MHP9C&# zdH#=_AN1K8a%oN15FLL9XXg-HATZ)*qF388yw$<~n0~2GA$qTuPuJQ^v)&3jqV?UA z-w(m2FTUogz7|*;28tzylBuaQ-#u_yGor04K>Z~UYwPk>qc}pk16r~4X3*A?uJ>rt zBbPX(bSwzq*ARkd3pzx~Q@W9O94m)YlBun0c#s0#!HD2ZObB*xO9S$4Xx3)>Wm+O*`JmcxMI>Ja=nM~HTGNhm@XWGV>3r?_?Qn?QIHfr~N6 z0C}IQ@<6&gkUH)e59F2yvX^_>1No;1vV&XUf&9a1Qo&)-ABefRec>Tz_&IJSO<0;I zFcpH&I*DW~}nnN`@<0Q+b2eU zIpYgxWC_YNZZ`hya68;J2N8t$RtWyVK{O$%lh;z&iae8F^N;!;1$#-cw zMr@*bav=EJ5{pfF8k=K*^hZ-E1nL9bynV$i7PJ+4HU`2*}q-tP`EH%?&A&G;C{(DJb_sixGe8&UX=XAep4#C$wkX_ElJ)?dQAf^z!P2kO~?5p-6-rW6- zPNX985{BS~L0$;{^v`#bA((-9M)2o(7+eGqfyB3u1RS>z2kl9)?n7{$07J@bT?l^N zjt&gVKRsZMX)*N{ZW=>86BdouN$jq@jZ*jrM~@;k8U_7~$+vH^-?TtBkhi2j(|6CD zqW8@g=gHgMGFREjlsvvMNZynTd=e{2=l1k)XOu_QV1aTlQ2zd!PY=p#W09F+hTTRg zlY2|Kc^i%X@-}MbHYYt*82siGSVt%?P@lOw;EfE5BHlGZk)LXV3mBXKo++Wy~`lP_P`E$&%#xT^gSE zM<`=;4*&Pvn*G{WuA5=U%`xE#N6F6hqOd8-?W+Wi$wCRi7aS{v-a|J!={QMW5LCVf z@ZBb=7d&Q(@R>je?izG2)&l|*DOZ5HZvu>Hb|}d25}uJ+L$GOw;|Y(Fwmjl`mj_9} zAQQWNyJZlKB8qm$u}_7kZu_1XB&+`VZ_{-ZkQE?h2;M0uo5zL=LzzMde%wJA;PK-Z zP*QF?EK5;=J7+TW9?{OWh!`FxT*xVAw2$8azJkym(Vl`k?ilX23x4ZK*1f=R3 z+F03f9%oz-!6`MzarzErqo^->L?V)G=Jfyb2#=#Lcwl0}^gqr=1b_aUJEnun7z%@N zPX5gWtnVkY+^ztj-0f31=V7LVG~%?O`GbD*%l#nLWs?2JZ`3`QPK89 zIvu=VDN9U2vNy7W3APyNFDvXKZy##Ttb~4+xER}%tF2=egq!`}ha3jFHM8NMkHs#}@(zw>81L*1RwJx%wy%@YX*Womlb#~&I5S{gt+kN#;)WgVRZJ_f@oBMkzaE*k z*Aj5IOazmPzq5cFYn8x)*6!ylyz3|Zx|4`W<=wJC{s5c=6_sfH^GxX8B?`X5+Ofbd z$9I)P+K=K3?|O;JH#@;t`6nY}3lD~s2qX#$?p}J^U)xuNKp z;GcYLT5oCkLG8#JUa&Lf*}i)=xBt^LRZ*@jhKdlPUohUzvrU>_9>)E$6RxZ9F}?|CaZ}bo#EiEMH0c3!E)_D-tj3sPv8UwU(!xt%v)7*4zF?$4_oG9j&6+(;_zGt+vEdFd$s_c;bLxV zO)%{`9wlr%BfwYBaqsDwLA3iEeDFpro@F8SCO!a5n5&^tLaLAlkgbS=1B)3T8ruys zxQ-l(FWIu(&#IiL(Y=9@u`8V7-6)~V@`}EVO*K&2XdgmHys z+aosv@D&n#fka%6hwtvlM61AokPM0sffD<3_%SC+=(Lb2d7J|uZ~VtXnB{R6w69yL z^i{_dW*Ae6Me9pq_{)bkj@*mV}ax_KwOZ;?LhLJ7}8KjH+Be{uQM zi47fH@(j>$Mu!Pxam(tKq61K0_DJzhXm7QEwCXU}kT~4znxZEP-){z~%znGYY6+96 z_hN?F7*an;zjN9%N=j@7NJQkzIef~25^~!KD~&+&BnW%ZMTGsh(?m}BZVT@Nq?~^3 zu{fQY*y%V0uiVe|i2R4h11X9a>kW_-QDZx!AQ%y)%BihDaDyur2yX4<@fxAEy)&c) zjdoAJ-ZAIGS)g>$($pE~$)tketvf7B6Ig2voa~Z7zBz#As~78lZ!HW|?*S=)?c7)g zm#)HUCVAZ-g|L0|P)y|J1Nv9O{v`M|Aqez}J@ir?q30Cvl+X$yj&1&|lel-lBW_sa z_Ctx9xL{7d@)%JfNy38hJDgj3Iknpo3@=p4gkiYXXga9nWflo}3NYjzT?$?9s(!C8AbaRFb!@j>T1$ouJL z@Va{z8N7wCT6kRVl!5Pb0WXAy3{Z;gG~s~9h0Y8jVAb=HUbNg2E9^Y)z*${+4#kpP zXrv?HTmtRuf85rTq?f&+q$wsC?{PBRwh-9N@54E7f<>f0s6|W?aJAA&oI_UEN4SD0 zHJbN=eb5&Mhv|uN5b=C9hb{Kq=O{H|2&apkEhiL3kcI+}@RUMHw}9h9f#d6)A`eyx z$n#x$8(hzd#v$exm}_E&po0H+gqq^EG*2u`?zJBNQuEyH)QeTCH#8o5DU4E-!d6Ls YQ)=Nq9YFD`Q!smWyw$jI#}@Jb0dAv6X8-^I diff --git a/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fmacfw_calib_8800dc_h_u02.bin b/sysdrv/drv_ko/wifi/aic8800dc/aic8800dc_fw/fmacfw_calib_8800dc_hbt_u02.bin similarity index 61% rename from sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fmacfw_calib_8800dc_h_u02.bin rename to sysdrv/drv_ko/wifi/aic8800dc/aic8800dc_fw/fmacfw_calib_8800dc_hbt_u02.bin index 59604d328047abeb483ea0fe2a8bdc65343773a5..4eaed180f5bba9fc0cb8474992b18e1e2221673e 100755 GIT binary patch delta 5874 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 delta 5884 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 delta 4328 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 SN#K7H_@4y+CxQQ)1pXgiHwga# literal 0 HcmV?d00001 diff --git a/sysdrv/drv_ko/wifi/aic8800dc/aic8800dc_fw/fmacfw_patch_8800dc_u02.bin b/sysdrv/drv_ko/wifi/aic8800dc/aic8800dc_fw/fmacfw_patch_8800dc_u02.bin index fa8edfb58ade7afc22bbdd5bf03eae8d744b2e14..ca9a0b0f46801ced5e884ba6d834a8c0bf34244a 100755 GIT binary patch delta 8100 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 delta 9274 zcmZ8{4M0>?_V|784Z{c{4h-TrfIeoxfI%ESRQw)3e9Q+5er8%Z@?j%tqOyfX&7fu! zX6PkDuvT-e%;Zx_P14LQcWc`rbyuSe*V0jFYp~(@W(Ju5xr4R)|B07(@44sQd(OG% zoO{lBoc@V&@>I)@BD&zY_B$e)rlYdkd&P5Ui8fn-@}RYUFzOa9t2{^RJNTE+q4Rkt zRacyi-;yTM(Zl$!(kSXr*da}z%EH0bNcTyoo9U=OCe66q4F&dtG@GqmIBR+uLWV%pvnh8Z;LBASWc{Wyslv1za zS3}}t6V6CF(Roy&v+>1{4O2@8i%lg4r6u2m3Oe|r!6H-9@1w^D*O&@_A1xa+ z8%D4S+Ka|KK}`_lC{Preu2aBMq)OK%!BbINpwq!~X%7Bgwt|lE;EYfsbr7WAaH&&UkM4K^5K?mZ|VPm?20TM;+Y7jp~!o z@m#hr>4NXU6an{!HI3_Y=l4p&cX3RakKmj>T~>TcpCKqJ`t{= z4&Z-=573cr{Poxg^z>o;^VkSlGmOO%@l*qz5)n<+-~|!CB-R177oZWb*<#Xlj}wk` z={gy-rO{0iUioBg-kGj|?=XD9uL(zTJ$}j5*k%HL6`!Cfijh4>lhj zn4_C)2sKMH=z+IV>4804G$zI@x1fPE9o7HQB5I(_nj+Pzoi~?I17Vx9ofnqK&0<)j z6i}|~)J`A6YO|fAm|!zwAtTZ!n?QeSw(GF`?W|z4)ILssif! zplwW=4w(xQzS>72$$T6Vok$yo@yzJ=tqTEzU{Aj1%%A)px@I(YBL8)PvE{ptt$DeH z@=CmceZgWBJGy@&lKd=7Y~WrMChFeh&kr6DO11A->=rh#A`WSEPM__7P%dNkp~S6S zJ;I*-!Tk!9k#j@1o>HHCL-;POKKFIQ0pW72n#*_D%D`fW_M0NDmhmFguimlG)M%Y` z1~x6Ey^<|EgfG)C3SXtexQOvewqoIOI@w}s6`h2flXg(>``I1GE3{k-f8Kkd0%?-% zRUjLs1tlV9f0fk`WM1j-|4?=D*I)`I=$t=S5te|V%_^6*@Gq8U^(yBW+WIL>2W8Xd z20!|xs;%&9w*_gC^TVpmM!9*j>56a|I8XrZi@1qw8^3A@v7=f#f1+zT?>b-G!>u!v zntFso`xNVLz(M7^CTyX-(lFqj+NKcg+h+;bpQ#Yl*XIT_XsYGA-sRwe zXTMcYvuGa?$V$U0eg_DZaEhD(Re8XV0%RktT54EkY89d`Fb5^vLhvYL0~7|_tgp2& z`-8ob=cN7NQsk8m9`#CRcMBqv-+L$zsoxeRT+lfw)FVhfJt357YlJP(>Y&-QUka7b zM9BJ`AVXgY6-di9@#}{hh0CHD2Bb#u$a&C)lIFPThgm!Vl+xI>85-VlmY z>vN|VQuST;kUHBbW0ct@Gi^Rzk>N-N^2pgv7~IvGWIANo&{_vtGV4s8utBSCeJ6{y z*8zj_)>sQl>hC&UfvgG0dD%9>q%3_q%jz269ATK4*CiB(A(gUlrx43l=Z-Zh^xxb= zaYA2$}?%6dG|? z#7`hufldLq_M%X<^LuM#_R^A2WG0sk08az3%$BMvhepA2L;_zo9S2TG?=MY+8S}93Njj&jsz<17>lRoofxXxCrZ5qDI_K`H zIs>)@SuI}*tT{{?Ci?8x*VJ<0NL2ru$(U1XgjijD?(vFO@4RA6sFqtA+p>G9Y`MAG zuN&3@SJPhJK1>ehmnNnml-p?p?bynADfKE#gV;LoV^e(fUOvEgl;7xk{^8Lq_JW#% zF^<^Q5@KAXtSFK2iG}s(hMJ)P9DppG-E@Ti7#aZz2m(_>XM0 zfQ>W{x@tjPk>*$X?yP=$t=}U51F&+oN2tG`GB6l6dLhJ1U+falh5Z(`Fuyk{FTYos zck$QPR9U@JxLT}mh%pLnZ7$Qe%WpG8KF2Hmc$-SHx(=O;$WxWJWzBQFangU>G3r7F z{}-3o*YS#%Z%d7#rLABVyH5VE)cc#4d;}5S8x{>RLcGS(IpXEk0Q%lxw5)(FV{+9dKAF^)iga(g;2VNs(Va ziN%paAJI^z0rZo-0Y~2>6tvXm%Ha6(E{xG%6?8Y3pAvF(#6PGX`iCzC#C|29n<6mT z=-U+Nlk((0ZX-2@O?}@J>IpZ*C}ZLIn@tiX$jziN+ztVy9^t!& zA9FA*Y!tcjDP2Zi5m6OuxWG^n5R7W54;yaUGo-W*~ z`6dwcudX`0A)|F4PkXNmNIRi|N=DA&9Wf9Np5i@jrZKxUppkf{4|eF_mRs$??>sVz zHhJ*Z@QC(e{*ejv_(2>I|6cgegI|0<)O5p|*KH&3uX5vW;%n&^4=zr4Qo7uW)H+Ut zkMKnT{yJd;9qz`n6SE@j3u*^~J?gtGhIMchR8~8G+K1~BXVM}!wkH} zCv7_gZgqQAxJGxsq)PE~tx}@4?# zWrh_%*So3h{DfhAd2&JGGC{|-@+#kFKW4)I7u<;!&H*$e&edmfK)jpKGaKk(1e}$e zL0=lemB}i4mm42W&X7LkpAOfz@`XP9W3o1tkZS?bDt3mVK{)iza2h4S_&PKh+*t)c zx*qyY=%>T;G>5qbIC_V>YCjv#|npYOV{rJcV#h|9IC>bE7yYaxa)#*B_J zrqPygNKb5Al;#$`Xc&K}osbk#*v=P0HnqVva=8)DKz1Ro55lV|)5=OJk+Q$bCx5a( zrH~%%#KkGBG8UpkgetQTvdwO3Pt(yRxR}ky_`cKlt(5mf$9RJe8&i#R&slsR)hK$4 zUwj__m|6!DN#}88npQj;7D#%oy)BKS=syf$Px@l|V-H?9brSuq2R}2loc`90f0`Og zf8oYq(<&xq-oK`5=g+uba>y3G=oqV)n-VHYD0A#Eo3q#&eOBCG&W!F456Cg(Gk$=QR+wURVGiN;Q^I*@MiV2?&(OfX6gH12-OMTNpZ!YnZhA%;6_-8&{ zz_oK(y32#x<|fmDUVLk=mj2m;!{?>bhxOPvFRML?8>CFntXs=&Enib!!mcSQU-wMO z%(&vD-~NvdLda6WmOQp{N-0! z)n5YXt6M${hEO8dC|M9{QTHMyFDl%uF(nN7x zgwEYro-1+)tRL7*qMNf^SB_QenHtA+}AwaLYziDwB|5x`v;H-YL;Ob`;Ry59}Fevonjj~huuDbF=MKzFC zT8q@KGKkU9)*ADd7DlJcrqq8m2XQ7d=)M2v$~sCTbX{2^Ul*)@LJ*mlzMVAFcagDq z8Mb@eXMH!>O|DnBDsswlA#&CsyG%z(&`s^z5kXZ}o0S}Vnen9-xdk`mO`;hOzL>{J zqK8)L_wrZWShgTSrgIyPUV%X15`WB1JG*^&+JXu688=?OAcOvP5Z5kPL2q*7-UYMi zy@NP@VP1OOv!HA;RK`|79RV8C_>`XU(w<;$NlrA^%0D_-tX~ArC4=)+gR`UBY%z*i4x9H2%S|#i%DfkR_IUOnKN>Eug@2`cfWZ7bYlAn_LBA;n$NaiC zaB99YFlYuyb2e;N4vlQ?XViy$dtfYrv3@b5BdIdEXiy6X!d#$3s6cnKAYE4uu)9EX z3p9y^cnB#M!9{Zc@x|AB?#i4y(bq_fqNyST5vXa@wn&NPk?8KWZLLjsUv@ZtB6|$= z&cj}Cz>#g+THk_^+Iqm?FAOjwDNt=sZQW1CE^BsnFRczX7XoDO2!sI$;M4#+f!+)b zsVS8>rj=jhP300eE8EQfV-T^#rT88c4W)7-fJ)Q^UN{)X1*jRbhzr=9z*WNg4iC#U z^ScSY9A4OF+-3^1v0zUhnpTN`E{CVi@u*>i$^87S=OtxFo*!TKNVNL- zWd@SE@2~|yO-2R*wCaTdfRx+Gn1=C4e!%>iXM|w$2!j{Rms@{mJKk!5JY=@M9;y(? zqJw^6E0y%Poz^^ICwbXk+jP@-^X!K?Je4j=y45uk=vnAdfipyEBBy%Kd`IxMG0~B& z=|%>!6M0#kJ3yP(nraBLbhoLTKAN0Bom&jBG-RFWbZg4fb66A@AJp5xC9z_7aGZFePfW5 z#PaXKI1jXO0kl{clk1BFr>6kE2k<_CtNJQwFeY*TZ@Dl9tCoSLlQFgws3;MxDd<%G zb9kjmx$bP1=seu+Yfuc4bq4ne|3@D#Tr_jcW1cK1u?CZ%HNTmU#U~ccpaSvjMJ0;U z!Vi_ytRKoZJE$3dX**iEraaD3!#T>s4f4=z8xUYua>5m^3 zSgQvm`+PX?AkF22ROaAqOKO6i8>YA!oalkTI8~q#n5IAB<$5H-y2ve6XR2&p2wWe(T0u5BjD9t=jgE;#M{(~W$zU=9- z%LN3Jz(kcArWs9;y_T2YkCw&I54`x>W%}?4;g2925<~ctE0FEu+wipIljs%O@RQ5) z=sykP50=NqmcibV0tWIDAs@=U3nQUgq;ode(!dJ-)LLJCfIsBMuH`c+GoJEj8toKt z@uLeRm%L{k2l%aSeD={N1DClk!a$EFt{4}0*@NP*c8vi~A6aq9@hV^JO|vLoCON&S z`Bi?NHy1Dy@v0SZA;myZIxtLp&zk4(-W6-9XgsjOM8hEKvF&utIsD0E3hU06(fwjt z#EpjPaJny}wNnslkM=8QDp7P}6oeOuWm>eIPGb<68?t)4GVf1gZq@Wb|3~O&FsePI|9#gZ-01#5 zdb*%pA3OKMwiGbiX8u2enfHU3zQ@-q@ivOrf1Lrho!@|>xK+mDP7_jq-a5W~(DIIg%z9=y7TDuUDB6o_% zo+f17- z!g=`9#$BPv0*bQ%S_NqC9yR zG@$dYO!pxlbe6y#cmv}jK>uZ(kX3gQ$j{z@c)p9}KIAoS0=H{^=~6!@(fs6xrFiZ- zSg@iF{~S7Bb}Aq*U_qQYV1alcicKm@uPQtD5wGuLMX5U7#Oh?Z8H7xt0WgH@sd+tu zvo_9hLqIxM;KDhG@prZaKwdD8tLLV6C*wsrxizNypfFaKeuiQ@cxssC{H1}N)NvGR z;r@0H<#g~mH+8V4LjEyp470qQ71KS@C@(|xNY%mL0J28#v$>h@btN7Wd1`0`LYUj; zrQj-W{3vviF9Jjjc;9=D4*mDv$-?O1 zoXgPH^?z$SQC%&=MG3c({l8gqQWKcl>#}j?V7OkFv$l=|5#z)b}FrJ%WVsq zjGQl2T@&)49#`O>x7~lfO3QsI$PT~BCk$IkWiAvY@3KN&sf8q!$oZPBTgYH(mpQC$ z08RWJtp|u8J(y`nrU6}TqD1D zXpxZ!5=6zy{bD@&LZ%~O9ZKNrCpI9>liwPCo0q*`JtAldOpG$!SO_5K?4BL*BNL3f|96g#5$Ze#5f9HuAF7^+OYR{btwqcc8!zr*;U6 zw)sv`(DCXT@#|M%99Erswx0^(yND|7xjI7FZtqKuP-C|s(S}*tzQTSI36>>lMVsveZa1w?{~7{Vxe8st=0i z4IFD4fe<1Fy5|0#N}i}b&%e>s02p;mGyEmdLn=RS`7Qh}r+Md8~P|Ny}Xk9*2(xiycUFuq)1xphr*^Z3=7Q zJpyX%Uhn%}ZP+LHLQ#U%wW2x3MC~W|TCP5KmW66q1$HsdmESz;PE=mZ9W57U9wBDv z!PZaKmohH1ynTS3Xmw>aTQ;O{E2Y|z={Nc9=ZH&X>}GI%Z}M9QLrft?bTHCF6fnQH zDoCCKp|m#cq5mR2OAr2q_%R}Cayg~LSXwwD#dDGPlM*w{4Ptg}l9D;Yaww*e|H!Ka zm+b8Hzf~NHHf+ah*T&N-C}6BDO>gD{hR7Eox&Mn$_L)pxgv6@RF(>(B@Qn~MuAM7P z@W%&|Q88k6rx0#C$!mN#`6;Es;ek8cBJqkV;L~aR8aoArl9POr7n`5jZvB{F>AUN`!jp${}1;#JXjE=YYqM=dxQ41K$sJtLU5PUed zr7>oW1+i?^XZPq(_%IJ&tmWp6&K$Tfe+2a}wV8@R>`8vn zFn-&TsuX24^MC#XozH+Yf~dSGAXP^Wvu->7*-{(!ft!dBIeTpsw*rLda^u={6|~!f zgG$Ybmp#|+(Ue3bJNe>W20T%4AB`^ZogT@X#Z#B%ByeI?aK8*7r{J$gO7rMfJ@{7X za?weWGR$5-f&N;+kFQ@!$3dZLeKI{7X4fau?`_8+8|KpgbmN5^w$N|7@x={K(i`1a zwQ*X=A~#u6)E@?Gn%sEp#<@Xfq3p%fpM~2UH*Jg(_W(PUgV???+#h$H+J<{K&ZWI> zocMHKX4T|Icbq|G!?U}q3E>=5u61qj! zX|9HtA*O?0>BY5AYw7uC@WrR61(`lZ=SM<7OmB*(lLef#sgC};7hl|zNKbU*pEoH* zO}y5JrDfVlhv8_;psck|u$f15NBP{Lw=G9%7_Qb5J0n*6a$6L9C!R0h!m_pPhqtg4 z{=lRgU1V8Twz|AzW7(Xz;vn3)btm3Xz6V#Dw9}t1sVFZl*;>TL%wZQU%gZBGx;0Nd zwVJ>t&n30JKWt?uv6;EKtFtm!FP@)0->`gs4#E%0=istG)HCj21rB}Y5zIa#{(s9M B{R#j8 diff --git a/sysdrv/drv_ko/wifi/aic8800dc/aic8800dc_fw/fmacfw_patch_tbl_8800dc_h_u02.bin b/sysdrv/drv_ko/wifi/aic8800dc/aic8800dc_fw/fmacfw_patch_tbl_8800dc_h_u02.bin index 899571a252ca6f46c31ede6e3c47820fc91f4fc4..72cdf58db081cfd2f89752e847855134454503e8 100755 GIT binary patch literal 600 zcmcJN&r4Kc6oy}#TS{5_K|?1{xKXW4ny$a6M#eNI7qc^%#SDx#m5T%i6f|Zr!3ZuC z4B861FlZq-3n3Q+ZrmB%MVp|7LP0Kr*$6ItF8vMO#rN=@^PcaV^Kn%%eVFmHQ%im@ z!&5j`^0}t~L-O0t=}-I&&J!=g9E^{d)?tHwP3GBoU=sSU)AWnF{c-xD z|G*je@rCIn@f}!%^^9o+KAd1q{nvf%PXBsM9?U-FJ#IS9Lhlxu_jnIao|$&9<3}Hn zFQbpCUxPo;XY7&3*GMwY4W~DcO@HyHm}?UrvR8@xFnd(#^NRUaZ#!+UPYr)GUrn)e kwL(4o_T`E^82Xw&RC^U3 z=>_X05v=zqyto44{-Zg;6Akl%XS&SXV}4x_l(~MOD2UmATM%e|C%4FT%r^p_%YH%+ z*`K0idO}-tG87a?6lUiI4owW_&MBNzXPE!P`S<9T6}&^?jJ`6z;dxc|JDvbp1$Rd9 qF{tpJ&QBAbA2a`?$LNWgyd%)tt8S$4na%oYlXVxnd5lKs<@^CsZa`xI diff --git a/sysdrv/drv_ko/wifi/aic8800dc/aic8800dc_fw/fmacfw_patch_tbl_8800dc_hbt_u02.bin b/sysdrv/drv_ko/wifi/aic8800dc/aic8800dc_fw/fmacfw_patch_tbl_8800dc_hbt_u02.bin new file mode 100755 index 0000000000000000000000000000000000000000..0f0bee23507de5ee7d31a4fd3041b933e6a8d8ce GIT binary patch literal 568 zcmcJNy=zlp6viLTRZ~rjFBm*RQZ5uJR3bMwAI7L~p#~=hK|!H~76V2wAmU&oLxcz| zw2&bk1DV_kb<<4;2f;!F9Wn$uC}dP{DJb~MAK`t6AI~|@dp>xt+NKu`|JM3bKcDx* zAS}XaSgD4gpYtD<3zY{!vC`E4`g(DvNy79SzF9Q2VJT_)e!}TT+4TIF)1%9#i1^2} z>5u2MdCs(k-VIEB^cQr5|1W$Gx6QP|y)hi3@18f^Iqr0b-?;ZJXZj3pXH6q`pL{_6 z)4b^({(bt@i4UqKpE?sbB7fl;{fW2WGvdFl;)grv9?V{659V3*O~n-RT{3xaP-LGZ z^F!~n(@XYx4AXG$q*I=L2XgvQGJVC@sxUwKBz~Q8dbMPl;+td6A*|82PW~P2P=CE< z+B!?0$ka$UU0F6|VDpBlt60?GjRoJnJ}M86#-8GE+K(v#f5Mq3zV_s1cjmoV7;V7D T0(IdLP6uC#DjA)LX8*!JIM7*6 literal 0 HcmV?d00001 diff --git a/sysdrv/drv_ko/wifi/aic8800dc/aic8800dc_fw/fmacfw_patch_tbl_8800dc_u02.bin b/sysdrv/drv_ko/wifi/aic8800dc/aic8800dc_fw/fmacfw_patch_tbl_8800dc_u02.bin index 4d6285ac31bc2eb9eae7419370ec5c4ba8415a69..9d7fb24150d8ffeb3f97ae973d212b78d4b33a99 100755 GIT binary patch literal 816 zcmcJOziU%r6oy~YsPRYITo62Bgex{8NHI-Q8%xDjK@Bv}p-8Q%Bqh}Z+FGR|krq1J1QMB{W#!g z7q;N>6Q&gLWw;u2^eS$0Vdk`{4olsp8hPOuKK$wPrty7_{@{DgxjaBU;?H_bRrGCG zgP;0LN%Y-u@?i6(X_k9-CQN(8Gq+4_*esZG=y~E%SQ<0EM&Fz=ZNT+ArU?2M>U{Kk zL+G9_WjgECy<{4rj}J4ZEc(n9laaSpWIh->Y5Golhd#GDAo>P*oAdNT`~{4_H}|On zM;6!{bHAg`SA35innq!Inz{9Fe_5Y5ptr9YTxYI!CwsVUYQXTY>1Eha4{X3+BlL@2 zhAsRtSVK>9&nld|OW(wwUN*fy?C6wB-a+%!UIE4QyeZeqw-oh!EgWGewcka)#k0I_`c|gDP^$prl_Rn6b>KLx@Z41^P2NZUq!gZPnoCO8i>gJGUqID)_pn5>;f_`xE>Hkz0o! literal 728 zcmcJN&r1|>7{;GT&CSSmF8Wq0Oq8`Agl2YQ-Hk{g=m!xAQCh34=qAF73Tq-5craLD z1-;cFC{XC)A?Od-LkBwub_hCj*zOH<>6YMUaQ=nn@|o}Ryzl#c-*-kUrr81&9Ab)qll#KeM z-WM3&!iRrvn9}$&L(E4%;k4-y9IBX#`0kv^s51Uv z6eeN$C3T>)#JoD*TQTNc811PBzmGCUr>phnrUu+8o8F&cPp|>k=_ife1DnKueZij5 zL;5rHUgAEVChrpQr?{`jlsHRY>_3I>(C6it#VD@NG!?TFvl??HW<6%3gSj8l58UEA reT2VY3GP<;&fI^IdDql3xXM2(SYJA!=si)Izq88OK}{(+82zkACCze% diff --git a/sysdrv/drv_ko/wifi/aic8800dc/aic8800dc_fw/fw_patch_8800dc_u02.bin b/sysdrv/drv_ko/wifi/aic8800dc/aic8800dc_fw/fw_patch_8800dc_u02.bin index 220c6a894de68d4298337397821977d5e316f5a8..7e59a4e35cbaa387d8cc5d0e983f374a46ca07a9 100755 GIT binary patch delta 9238 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 delta 9205 zcmbVx33yahw(dGLWroT`DpeV(>SU;-2pI|?5RjrOoTTbNm@y>@Bdf<@Pn3x&lGbTO0dN>R= z(iaCbu!$xOsj&Wg5~euGw38miT;?Anq)27HBdN-=*tZ7M;6{cNRtPi)H&C8zRc5QN zjg+H@8)#t- z%tf6+XJ8BwN}JM5oGlp{OrvKL-7=8E?pXal#TM58e~fsMxhh8RhHYSdO9A+4$s?bia4k-OQ96F(xOxKu{+lC8CwI-W6Om=8& z$>}m3g}{`gy5oIYyypzkTDExN$R`>DlTWT_OnJyvu2vT32#WRqidEv$)vbm3s2Bs- zrp*R;J~a|>TgbCv$;?XfcGwJN7P%2NPmw%AW`=XPmyd=gDNG^K6~4CFck;K#H}ZP# zMm{!jqLFbP$aoQwmn)p>T~*80yYo$*_)MSCxommSPlchv≪ihGvG%2w@9TbPb>N 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 X*KnV4di|P$X|>ZxZCMiWm8t(1e3$T# diff --git a/sysdrv/drv_ko/wifi/aic8800dc/aic8800dc_fw/fw_patch_8800dc_u02h.bin b/sysdrv/drv_ko/wifi/aic8800dc/aic8800dc_fw/fw_patch_8800dc_u02h.bin index 30053f00b39eabc61e60731ec1f0d6828253fe6b..4bc2f2b741770716ae11bc5f0ddd441498e14979 100755 GIT binary patch literal 14240 zcmZu&3tSY})jzZEcSSi8 zT}sbLHpw&6o#>@fqg{y}m-97hl|E%EIY#8Ry?B6R37Cr6|1sL z}f5RTTFKrR)#8@h8=EXm0q55oz49yJmQ4qqI0MA~ z%m4$}hnuD>zbku2+&id+rDFeW4J;EM8Bl{yygsA=D+{SfKA1d_bJ9aqRPN(WHt%8= zOj2?=sn1kVnKTCzGq@S4-YQ6?tSKCfS8|ihhAPTBh69_KODc-?Cb>sWr2`zY?nxpJIq!N4h?F9;MJ5{}kTQ$7hEfyG((mJwQ6(~%e|k3*8akjT0u={d=8A|S4n45tQ8s38Vi>y)-wPH%H@;~sf4 z<2uslX#ci_}g@s&XpSlDE5#po#Rccug?K|i)=i&GWS*+-kws5E_# zutKaF(7+z?S3}RyMh8qX@W?aNC1bKNnM&3x?Mmc?=Cm}b-t&z3rZk$~So48^tNyPV zhp2A^J)7JJws$x!8^q^v?!&Y%p%d3a=0D}<258=IfZLL!?M^e`K99qBnUpc-E0l@n zD=5qPi_`-b=81`_v7@o}PlxpQ zydvmlZ^wB8ZJRq+yyupNwaxt#&Uy4)QYsMOt}QJO_x zs#4hQ;pU<=sATyl#+7%hbj#(yH;0#s=LS4avF_Jou4pSzc4nO_lBx712Q>I8zj+J| zix}!?yEyvhZgB?A@MF%kF4}gUuk|{;XHD^xUf*m6^?IkaJAqPj5O{^D%_n

!E^R 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 delta 2087 zcmZ`(Z%|a%6+iFo+dqKH$^z~_{=MA?xUy^n#Ezh`%RYSTz6Z{#s1!(jpy*Q~?qHKT zNh@T~1VcMxdQDhZZH$^sqMe4J*|d|C3{Fhjne@Y3A=5Z!GFwgEG&OA+C%MZCySWD7;phy1#)BA|Tec=$F2B1yF?|$2nM5_T!?bzc0OxRc0d>$E zGk{-6pc8Z>edIEFhb|x7gHIxA0|r3x1YZ4ca))OXp@h$Vs>3Cu%&D5056m`L#xsXUoOJ zJGhWVkH+d0r0Nv+i9FYdvzs0u6@-EHId;-23q*{yJ%OTwnMV0j6FxNC;>Tq z{L&K=e~0KHIutvK|1huYZ;`I>w_vtCM1qi_{zAm|6^B zK7nF7(em^8eE!lCYi0I0)p%oy4JxV|H83u&ytRC3^Xe!spZCJe5~%2gsx=x^a4?4d zwunwL)hqK`IMs)bEdtLggK-z+qH9bMJtLw|7!SQGg-Z1s=nW~=#FVl-K19IQguu}T2{Dbd{euOn%@%_GWIHH@z(w)n&N zTH*rVsnZF9WKjgaNiZuGWn)W^+9X?qeac0?6HJaT0=!CBt`m60p>FbLdmPG@K8k0B zEBktmG@vHqs(l|M1NhOT9_}0|^%}K8e~mQS#c;#IXd5$`sVE`omfaGoxaCI(f8-(e z=cr`mnc>5fMaWT{upPVR1Nc^=%3metD8N$)5aVz{0Kb`@Lsw1fvs)r&_zfX7g1#^{ zvS!(phm|GdseLaQ5c~c4&q4TRu$iam#pf&I!Tk8L^22SZ)Py6Dbgy4w>MCN(20i zJbF1<&s7bY;dA4|ms4EO7mWPpzIm8(a}z-iLJK88aJ*{x0jiVI1C zWMu+Nsd3!(0GxVFzZ4>+F%sJY)e!A@J2-uTT=Lg)GyIbP-5eRm2NTo=!Q0+6Gi9Ep zGhIi|DnS&nt;!w4Qww_19rTDnKgF-1Tec#mAM+`cw9V;4`0psnu3{!|TMFG{59r45 zH)vPU>OvpBmoSv7vQ>fT{&>Iv_Aqv((XWamW(;>cK(V4{$)s-{9WE{{7{kniilyL} z&1ZuDRZdzj6$}mDHCeHQ~fE7mnIwR&C*DNz?kT7Q%Z|;QUhS$MyyE?~<*9 zV|X}uJ)ZdxCD#n8blNz?8sMwQr{W%Qo47@ckzRN}K0siY0rk1AUg@GWk17~3Ito0r zBV8BnxrQd`L}jjCrnJT+@AdKz5cYC{Cxb8WA94{NKT8Bt}n!5>Os2Tl;f{UP5* zs)014OpRr{4bcV}91XBl+%10FKk1W2-A39aeB3D(kr*wWtKLVWonpy|kuUMMWSh!S zCaa*jCFEV9W%x_cY6*?>i}#0I+rm@7^N!wJ2btA#@yhS?72Cp<#6W*%c=)`h`A){u7}6FLFKgH@;y34Ylbil{MjRI}idV(2rayO>;dN4VU^XzBPu@vzy_?WK z&Ku#{lo5trHpAo(07i)}7+C=YVB~24yJ4${uPriQ2vRi$#~KLZ$^{P2VmXPP=j!Nl z5%eArmm}zF?k~CtjL@`QuKWH)l_r2HLT*B@yq`sIMJ_sThRYTq z@bSlwG*%qX1~O^_9xzjZOsv(Hi7P1%Dx?42aC6PQ`?%T$uCAtT9ame|Si7#Vc0K3j U4j%dm*WG)d;Xplk(f=R+12mD>jsO4v diff --git a/sysdrv/drv_ko/wifi/aic8800dc/aic8800dc_fw/fw_patch_table_8800dc_u02.bin b/sysdrv/drv_ko/wifi/aic8800dc/aic8800dc_fw/fw_patch_table_8800dc_u02.bin index 7555f5d4a0c43951379f306ab9080aedee4b9da9..6a6b5d3a986a56318f3b3cfb2ef5a67c7ef056c1 100755 GIT binary patch delta 390 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 G>HZ7!S`nN8 delta 60338 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%0AxXU0K^C?y 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 vsync-active = <0>; de-active = <0>; - pixelclk-active = <1>; + pixelclk-active = <0>; }; }; diff --git a/sysdrv/source/kernel/arch/arm/boot/dts/rv1106g-luckfox-pico-ultra-w.dts b/sysdrv/source/kernel/arch/arm/boot/dts/rv1106g-luckfox-pico-ultra-w.dts index 879beb112..4bf986d6c 100755 --- a/sysdrv/source/kernel/arch/arm/boot/dts/rv1106g-luckfox-pico-ultra-w.dts +++ b/sysdrv/source/kernel/arch/arm/boot/dts/rv1106g-luckfox-pico-ultra-w.dts @@ -24,6 +24,17 @@ reset-gpios = <&gpio1 RK_PA2 GPIO_ACTIVE_LOW>; }; + wireless_bluetooth: wireless-bluetooth { + compatible = "bluetooth-platdata"; + uart_rts_gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>; + pinctrl-names = "default", "rts_gpio"; + pinctrl-0 = <&uart1m0_rtsn>; + pinctrl-1 = <&uart1_gpios>; + BT,wake_gpio = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>; + BT,wake_host_irq = <&gpio1 RK_PA2 GPIO_ACTIVE_HIGH>; + status = "okay"; + }; + }; /**********EMMC**********/ @@ -95,16 +106,13 @@ &uart1 { status = "okay"; pinctrl-names = "default"; - pinctrl-0 = <&uart1m0_xfer &uart1m0_ctsn &uart1m0_rtsn>; + pinctrl-0 = <&uart1m0_xfer &uart1m0_ctsn>; }; &pinctrl { - uart1 { - uart1m0_ctsn: uart1m0-ctsn{ - rockchip,pins = <0 RK_PA6 2 &pcfg_pull_down>; - }; - uart1m0_rtsn: uart1m0-rtsn{ - rockchip,pins = <0 RK_PA5 2 &pcfg_pull_down>; + wireless-bluetooth { + uart1_gpios: uart1-gpios { + rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>; }; }; }; diff --git a/sysdrv/source/kernel/drivers/video/logo/logo_linux_clut224.ppm b/sysdrv/source/kernel/drivers/video/logo/logo_linux_clut224.ppm index 4d1c40a81..3686a4259 100644 --- a/sysdrv/source/kernel/drivers/video/logo/logo_linux_clut224.ppm +++ b/sysdrv/source/kernel/drivers/video/logo/logo_linux_clut224.ppm @@ -506,10 +506,14 @@ P3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +8 3 0 98 43 0 159 68 0 183 82 0 173 76 0 128 54 0 +75 35 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 43 21 0 +110 51 0 159 68 0 183 82 0 173 76 0 128 54 0 48 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 @@ -551,18 +555,20 @@ P3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 57 27 0 +207 91 0 235 98 0 235 98 0 235 98 0 235 98 0 235 98 0 +235 98 0 183 82 0 61 28 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 23 25 27 21 23 27 -14 22 27 9 20 28 9 20 28 14 22 27 18 24 27 23 25 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 13 8 0 128 54 0 235 98 0 +235 98 0 235 98 0 235 98 0 235 98 0 235 98 0 235 98 0 +118 52 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 23 25 27 18 24 27 14 22 27 9 20 28 -9 20 28 14 22 27 21 23 27 23 25 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 @@ -599,20 +605,21 @@ P3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 48 22 0 235 100 0 +235 100 0 235 100 0 235 100 0 235 100 0 235 100 0 235 100 0 +235 100 0 235 100 0 235 100 0 118 52 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 65 29 0 207 91 0 235 100 0 235 100 0 +235 100 0 235 100 0 235 100 0 235 100 0 235 100 0 235 100 0 +235 100 0 138 64 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 22 25 27 14 22 27 35 31 25 -85 50 19 111 56 15 148 72 11 85 50 19 43 33 24 14 22 27 -18 24 27 23 25 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -23 25 27 17 22 27 14 22 27 57 39 22 111 56 15 111 56 15 -111 56 15 85 50 19 35 31 25 14 22 27 22 25 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 @@ -648,21 +655,21 @@ P3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 220 97 0 236 102 0 +236 102 0 236 102 0 236 102 0 236 102 0 236 102 0 236 102 0 +236 102 0 236 102 0 236 102 0 236 101 0 183 82 0 36 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 118 52 0 236 101 0 236 102 0 236 102 0 236 102 0 +236 102 0 236 102 0 236 102 0 236 102 0 236 102 0 236 102 0 +236 102 0 236 101 0 61 28 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 22 25 27 14 20 27 111 56 15 196 92 5 -249 107 0 236 99 0 236 99 0 236 99 0 223 98 1 148 72 11 -43 33 24 14 22 27 22 25 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 25 27 -16 21 27 57 39 22 148 72 11 223 98 1 236 99 0 241 105 0 -249 107 0 236 99 0 196 92 5 85 50 19 14 22 27 22 25 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 @@ -698,22 +705,23 @@ P3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 98 43 0 236 102 0 236 102 0 +236 102 0 236 102 0 236 102 0 236 102 0 236 102 0 236 102 0 +236 102 0 236 102 0 236 102 0 236 102 0 236 102 0 235 101 0 +86 43 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 36 16 0 +183 82 0 236 102 0 236 102 0 236 102 0 236 102 0 236 102 0 +236 102 0 236 102 0 236 102 0 236 102 0 236 102 0 236 102 0 +236 102 0 236 102 0 190 88 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 23 25 27 4 17 28 148 72 11 236 99 0 241 105 0 -236 99 0 236 99 0 236 99 0 236 99 0 236 99 0 249 107 0 -223 98 1 85 50 19 10 17 28 18 24 27 23 25 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 23 25 27 18 24 27 4 17 28 -111 56 15 223 98 1 249 107 0 236 99 0 236 99 0 236 99 0 -236 99 0 236 99 0 249 107 0 236 99 0 111 56 15 4 17 28 -23 25 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 @@ -747,23 +755,24 @@ P3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 190 88 0 236 104 0 236 104 0 +236 104 0 236 104 0 236 104 0 236 104 0 236 104 0 236 104 0 +236 104 0 236 104 0 236 104 0 236 104 0 236 104 0 236 104 0 +236 104 0 147 68 0 8 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 83 40 0 235 101 0 +236 104 0 236 104 0 236 104 0 236 104 0 236 104 0 236 104 0 +236 104 0 236 104 0 236 104 0 236 104 0 236 104 0 236 104 0 +236 104 0 236 104 0 236 104 0 48 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -23 25 27 14 22 27 85 50 19 249 107 0 236 99 0 236 99 0 -236 99 0 236 99 0 236 99 0 236 100 0 236 99 0 236 99 0 -236 99 0 249 107 0 173 86 8 21 23 27 14 22 27 23 25 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 23 25 27 22 25 27 14 22 27 35 31 25 173 86 8 -249 107 0 241 105 0 236 99 0 236 99 0 236 99 0 236 99 0 -236 99 0 236 99 0 236 99 0 236 99 0 249 107 0 69 44 21 -14 22 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 @@ -796,24 +805,24 @@ P3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 13 8 0 236 104 0 236 105 1 236 105 1 +236 105 1 236 105 1 236 105 1 236 105 1 236 105 1 236 105 1 +236 105 1 236 105 1 236 105 1 236 105 1 236 105 1 236 105 1 +236 105 1 236 105 1 207 91 0 61 28 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 8 5 0 138 64 0 236 105 1 236 105 1 +236 105 1 236 105 1 236 105 1 236 105 1 236 105 1 236 105 1 +236 105 1 236 105 1 236 105 1 236 105 1 236 105 1 236 105 1 +236 105 1 236 105 1 236 105 1 110 51 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -21 23 27 29 29 28 196 92 5 241 105 0 236 100 0 236 101 0 -236 101 0 236 101 0 236 101 0 236 101 0 236 101 0 236 101 0 -236 100 0 236 99 0 249 107 0 196 92 5 57 39 22 18 22 27 -22 25 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -23 25 27 22 25 27 13 20 27 85 50 19 223 98 1 236 99 0 -236 100 0 236 100 0 236 101 0 236 101 0 236 101 0 236 101 0 -236 101 0 236 101 0 236 100 0 236 100 0 241 105 0 196 92 5 -9 20 28 23 25 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 @@ -846,174 +855,16 @@ P3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -13 20 27 85 50 19 241 105 0 241 105 0 236 103 0 236 103 0 -236 103 0 236 103 0 236 103 0 236 103 0 236 103 0 236 103 0 -236 103 0 236 103 0 236 99 0 241 105 0 236 100 0 111 56 15 -9 20 28 17 22 27 23 25 27 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 25 27 -14 22 27 23 25 27 111 56 15 236 101 0 241 105 0 236 101 0 -236 103 0 236 103 0 236 103 0 236 103 0 236 103 0 236 103 0 -236 103 0 236 103 0 236 103 0 236 103 0 236 99 0 249 107 0 -43 33 24 18 24 27 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 25 27 -9 20 28 148 72 11 241 105 0 236 103 0 236 103 0 236 103 0 -236 103 0 236 103 0 236 103 0 236 103 0 236 103 0 236 103 0 -236 103 0 236 103 0 236 103 0 236 103 0 238 106 0 249 114 0 -173 86 8 57 39 22 13 20 27 22 25 27 23 25 27 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 23 25 27 22 25 27 9 20 28 -69 44 21 196 92 5 249 114 0 241 105 0 238 106 0 236 103 0 -238 106 0 236 103 0 236 103 0 236 103 0 236 103 0 236 103 0 -236 103 0 236 103 0 236 103 0 236 103 0 236 103 0 249 107 0 -111 56 15 17 22 27 23 25 27 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 25 27 -18 24 27 173 86 8 249 107 0 235 106 1 235 106 1 235 106 1 -235 106 1 235 106 1 235 106 1 235 106 1 235 106 1 235 106 1 -235 106 1 235 106 1 235 106 1 235 106 1 236 106 0 238 106 0 -241 105 0 223 98 1 85 50 19 14 22 27 21 23 27 23 25 27 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 23 25 27 18 24 27 18 24 27 111 56 15 -223 98 1 241 105 0 238 106 0 236 106 0 235 106 1 235 106 1 -235 106 1 235 106 1 235 106 1 235 106 1 235 106 1 235 106 1 -235 106 1 235 106 1 235 106 1 235 106 1 235 106 1 249 114 0 -148 72 11 17 22 27 23 25 27 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 25 27 -26 27 26 173 86 8 249 114 0 235 106 1 236 107 1 236 107 1 +0 0 0 0 0 0 48 22 0 236 107 1 236 107 1 236 107 1 236 107 1 236 107 1 236 107 1 236 107 1 236 107 1 236 107 1 236 107 1 236 107 1 236 107 1 236 107 1 236 107 1 236 107 1 -237 108 0 237 109 1 241 105 0 148 72 11 14 22 27 14 22 27 -23 25 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 23 25 27 13 20 27 23 25 27 148 72 11 240 113 0 -241 105 0 237 110 0 236 107 1 236 107 1 236 107 1 236 107 1 +236 107 1 236 107 1 236 107 1 236 107 1 118 52 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 57 27 0 207 91 0 236 107 1 236 107 1 236 107 1 236 107 1 236 107 1 236 107 1 236 107 1 236 107 1 236 107 1 -236 107 1 236 107 1 236 107 1 236 107 1 236 107 1 249 114 0 -173 86 8 17 22 27 22 25 27 0 0 0 0 0 0 0 0 0 +236 107 1 236 107 1 236 107 1 236 107 1 236 107 1 236 107 1 +236 107 1 236 107 1 236 107 1 138 64 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 @@ -1053,19 +904,17 @@ P3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 23 27 -35 31 25 196 92 5 240 113 0 237 109 1 237 109 1 237 109 1 -237 109 1 237 109 1 237 109 1 237 109 1 240 113 0 237 109 1 -237 109 1 237 109 1 237 109 1 237 109 1 237 109 1 237 109 1 -237 109 1 237 109 1 240 113 0 249 114 0 196 92 5 69 44 21 -9 20 28 22 25 27 23 25 27 0 0 0 0 0 0 23 25 27 -21 23 27 9 20 28 69 44 21 235 106 1 249 114 0 240 113 0 -237 111 1 237 109 1 237 109 1 237 109 1 237 109 1 237 109 1 -237 109 1 237 109 1 237 109 1 240 113 0 237 110 0 237 109 1 -237 109 1 237 109 1 237 109 1 237 109 1 237 111 1 241 105 0 -173 86 8 24 26 27 22 25 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 65 29 0 237 108 1 237 108 1 237 108 1 +237 108 1 237 108 1 237 108 1 237 108 1 237 108 1 237 108 1 +237 108 1 237 108 1 237 108 1 237 108 1 237 108 1 237 108 1 +237 108 1 237 108 1 237 108 1 237 108 1 237 108 1 183 82 0 +31 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +118 52 0 237 108 1 237 108 1 237 108 1 237 108 1 237 108 1 +237 108 1 237 108 1 237 108 1 237 108 1 237 108 1 237 108 1 +237 108 1 237 108 1 237 108 1 237 108 1 237 108 1 237 108 1 +237 108 1 237 108 1 237 108 1 159 68 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 @@ -1103,20 +952,19 @@ P3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 25 27 -26 27 26 196 92 5 240 113 0 237 111 1 237 111 1 237 111 1 -237 111 1 237 111 1 240 113 0 223 98 1 223 98 1 240 113 0 -237 110 0 237 111 1 237 111 1 237 111 1 237 111 1 237 111 1 -237 111 1 237 111 1 237 111 1 237 110 0 249 114 0 240 113 0 -111 56 15 14 22 27 18 23 27 23 25 27 23 25 27 18 23 27 -21 23 27 119 81 15 249 107 0 240 113 0 237 110 0 237 109 1 -237 111 1 237 111 1 237 111 1 237 111 1 237 111 1 237 111 1 -237 111 1 237 110 0 249 114 0 223 98 1 223 98 1 237 112 0 -237 111 1 237 111 1 237 111 1 237 111 1 237 111 1 249 114 0 -173 86 8 21 24 26 22 25 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 75 35 0 237 110 1 237 110 1 237 110 1 +237 110 1 237 110 1 237 110 1 237 110 1 237 110 1 237 110 1 +237 110 1 237 110 1 237 110 1 237 110 1 237 110 1 237 110 1 +237 110 1 237 110 1 237 110 1 237 110 1 237 110 1 237 109 1 +227 107 1 83 40 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 26 13 0 183 82 0 +237 109 1 237 110 1 237 110 1 237 110 1 237 110 1 237 110 1 +237 110 1 237 110 1 237 110 1 237 110 1 237 110 1 237 110 1 +237 110 1 237 110 1 237 110 1 237 110 1 237 110 1 237 110 1 +237 110 1 237 110 1 237 110 1 158 78 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 @@ -1153,21 +1001,20 @@ P3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 25 27 -26 27 26 173 86 8 240 113 0 237 111 1 237 111 1 237 111 1 -237 111 1 237 111 1 240 113 0 173 86 8 57 39 22 196 92 5 -249 114 0 240 113 0 237 111 1 237 111 1 237 111 1 237 111 1 -237 111 1 237 111 1 237 111 1 237 111 1 237 111 1 240 113 0 -247 119 0 173 86 8 29 29 28 9 20 28 9 20 28 35 31 25 -196 92 5 249 114 0 240 113 0 237 111 1 237 111 1 237 111 1 -237 111 1 237 111 1 237 111 1 237 111 1 237 111 1 237 111 1 -240 113 0 247 119 0 196 92 5 18 24 27 196 92 5 240 113 0 -237 111 1 237 111 1 237 111 1 237 111 1 236 112 1 249 114 0 -148 72 11 21 24 26 22 25 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 65 29 0 237 110 1 237 110 1 237 110 1 +237 110 1 237 110 1 237 110 1 237 110 1 237 110 1 183 82 0 +220 97 0 237 111 1 237 110 1 237 110 1 237 110 1 237 110 1 +237 110 1 237 110 1 237 110 1 237 110 1 237 110 1 237 110 1 +237 110 1 237 110 1 147 68 0 8 5 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 86 43 0 236 108 0 237 110 1 +237 110 1 237 110 1 237 110 1 237 110 1 237 110 1 237 110 1 +237 110 1 237 110 1 237 110 1 237 110 1 237 110 1 237 111 1 +190 88 0 227 107 1 237 110 1 237 110 1 237 110 1 237 110 1 +237 110 1 237 110 1 237 110 1 158 78 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 @@ -1203,22 +1050,21 @@ P3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 25 27 -18 24 27 173 86 8 249 114 0 236 112 1 236 112 1 236 112 1 -236 112 1 236 112 1 240 113 0 196 92 5 14 22 27 4 17 28 -148 72 11 225 114 1 249 114 0 236 112 1 236 112 1 236 112 1 -236 112 1 236 112 1 236 112 1 236 112 1 236 112 1 236 112 1 -237 111 1 249 114 0 237 112 0 111 56 15 108 69 17 240 113 0 -249 114 0 237 112 0 236 112 1 236 112 1 236 112 1 236 112 1 -236 112 1 236 112 1 236 112 1 236 112 1 237 112 0 249 114 0 -225 114 1 111 56 15 9 20 28 18 24 27 225 114 1 240 113 0 -236 112 1 236 112 1 236 112 1 236 112 1 236 112 1 249 114 0 -148 72 11 18 24 27 23 25 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 53 25 0 237 112 1 237 112 1 237 112 1 +237 112 1 237 112 1 237 112 1 237 112 1 237 112 1 98 43 0 +13 8 0 192 97 1 237 112 1 237 112 1 237 112 1 237 112 1 +237 112 1 237 112 1 237 112 1 237 112 1 237 112 1 237 112 1 +237 112 1 237 112 1 237 112 1 204 100 1 57 27 0 0 0 0 +0 0 0 10 6 0 147 68 0 237 112 1 237 112 1 237 112 1 +237 112 1 237 112 1 237 112 1 237 112 1 237 112 1 237 112 1 +237 112 1 237 112 1 237 112 1 237 112 1 237 112 1 86 43 0 +4 2 0 227 107 1 237 112 1 237 112 1 237 112 1 237 112 1 +237 112 1 237 112 1 237 112 1 147 68 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 @@ -1253,23 +1099,22 @@ P3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 25 27 -16 21 27 173 86 8 247 119 0 237 114 1 237 114 1 237 114 1 -237 114 1 237 114 1 249 114 0 198 112 6 35 31 25 18 24 27 -18 24 27 85 50 19 196 92 5 247 119 0 237 114 1 237 114 1 -237 114 1 237 114 1 237 114 1 237 114 1 237 114 1 237 114 1 -237 114 1 237 114 1 240 113 0 238 116 1 240 113 0 240 113 0 -237 114 1 237 114 1 237 114 1 237 114 1 237 114 1 237 114 1 -237 114 1 237 114 1 237 114 1 237 115 0 247 119 0 196 92 5 -69 44 21 18 24 27 14 22 27 43 33 24 225 114 1 240 113 0 -237 114 1 237 114 1 237 114 1 237 114 1 237 114 1 247 119 0 -148 72 11 17 22 27 23 25 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 43 21 0 237 113 1 237 113 1 237 113 1 +237 113 1 237 113 1 237 113 1 237 113 1 237 113 1 173 76 0 +0 0 0 0 0 0 147 68 0 237 113 1 237 113 1 237 113 1 +237 113 1 237 113 1 237 113 1 237 113 1 237 113 1 237 113 1 +237 113 1 237 113 1 237 113 1 237 113 1 237 113 1 118 52 0 +79 40 0 220 97 0 237 113 1 237 113 1 237 113 1 237 113 1 +237 113 1 237 113 1 237 113 1 237 113 1 237 113 1 237 113 1 +237 113 1 237 113 1 237 113 1 204 100 1 48 22 0 0 0 0 +36 16 0 237 113 1 237 113 1 237 113 1 237 113 1 237 113 1 +237 113 1 237 113 1 237 113 1 138 64 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 @@ -1303,17 +1148,73 @@ P3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 25 27 -9 20 28 173 86 8 247 119 0 238 116 1 238 116 1 238 116 1 -238 116 1 238 116 1 238 118 0 225 114 1 43 33 24 18 23 27 -22 25 27 17 22 27 43 33 24 173 86 8 252 126 0 247 119 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 31 17 0 238 115 1 238 115 1 238 115 1 +238 115 1 238 115 1 238 115 1 238 115 1 238 115 1 179 91 1 +0 0 0 0 0 0 0 0 0 83 40 0 227 107 1 238 115 1 +238 115 1 238 115 1 238 115 1 238 115 1 238 115 1 238 115 1 +238 115 1 238 115 1 238 115 1 238 115 1 238 115 1 238 115 1 +238 115 1 238 115 1 238 115 1 238 115 1 238 115 1 238 115 1 +238 115 1 238 115 1 238 115 1 238 115 1 238 115 1 238 115 1 +238 115 1 238 115 1 147 68 0 0 0 0 0 0 0 0 0 0 +65 29 0 238 115 1 238 115 1 238 115 1 238 115 1 238 115 1 +238 115 1 238 115 1 238 115 1 127 63 1 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 22 12 0 237 114 1 238 116 1 238 116 1 +238 116 1 238 116 1 238 116 1 238 116 1 238 116 1 192 97 1 +0 0 0 0 0 0 0 0 0 0 0 0 22 12 0 179 91 1 +238 117 1 238 116 1 238 116 1 238 116 1 238 116 1 238 116 1 238 116 1 238 116 1 238 116 1 238 116 1 238 116 1 238 116 1 -238 116 1 238 116 1 238 116 1 238 117 1 238 117 1 238 117 1 238 116 1 238 116 1 238 116 1 238 116 1 238 116 1 238 116 1 -238 116 1 238 116 1 247 119 0 252 126 0 148 72 11 43 33 24 -14 22 27 22 25 27 18 23 27 57 39 22 236 112 1 238 117 1 -238 116 1 238 116 1 238 116 1 238 116 1 238 116 1 252 126 0 -119 81 15 14 20 27 23 25 27 0 0 0 0 0 0 0 0 0 +238 116 1 238 116 1 238 116 1 238 116 1 238 116 1 238 116 1 +230 112 1 83 40 0 0 0 0 0 0 0 0 0 0 0 0 0 +83 40 0 238 116 1 238 116 1 238 116 1 238 116 1 238 116 1 +238 116 1 238 116 1 238 116 1 110 51 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 @@ -1353,17 +1254,17 @@ P3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 25 27 -10 17 28 148 89 12 247 119 0 238 117 1 238 117 1 238 117 1 -238 117 1 238 117 1 238 118 0 238 116 1 43 33 24 18 24 27 -24 26 27 23 25 27 18 24 27 14 22 27 111 56 15 236 112 1 -247 119 0 238 117 1 238 117 1 238 117 1 238 117 1 238 117 1 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 10 6 0 227 107 1 238 117 1 238 117 1 +238 117 1 238 117 1 238 117 1 238 117 1 238 117 1 204 100 1 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +118 52 0 238 118 1 238 117 1 238 117 1 238 117 1 238 117 1 238 117 1 238 117 1 238 117 1 238 117 1 238 117 1 238 117 1 238 117 1 238 117 1 238 117 1 238 117 1 238 117 1 238 117 1 -238 118 0 247 119 0 225 114 1 85 50 19 9 20 28 18 24 27 -23 25 27 24 26 27 18 23 27 69 44 21 238 119 0 238 118 0 -238 117 1 238 117 1 238 117 1 238 117 1 238 116 1 252 126 0 -111 56 15 9 20 28 23 25 27 0 0 0 0 0 0 0 0 0 +238 117 1 238 117 1 238 117 1 238 117 1 238 117 1 179 91 1 +26 13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +110 51 0 238 117 1 238 117 1 238 117 1 238 117 1 238 117 1 +238 117 1 238 117 1 238 117 1 101 51 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 @@ -1404,17 +1305,16 @@ P3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -9 20 28 148 72 11 247 119 0 237 120 0 238 117 1 238 117 1 -238 117 1 238 117 1 238 118 0 247 119 0 46 40 24 20 22 26 -24 26 27 24 26 27 24 26 27 22 25 27 14 22 27 35 31 25 -198 112 6 252 126 0 238 117 1 238 117 1 238 117 1 238 117 1 -238 117 1 238 117 1 238 117 1 238 117 1 238 117 1 238 117 1 -238 117 1 238 117 1 238 117 1 238 117 1 238 117 1 238 118 0 -252 126 0 173 86 8 43 33 24 14 22 27 22 25 27 24 26 27 -24 26 27 24 26 27 14 22 27 85 50 19 247 119 0 238 119 0 -238 117 1 238 117 1 238 117 1 238 117 1 238 118 0 252 126 0 -111 56 15 18 24 27 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 3 2 0 206 109 2 238 118 1 238 118 1 +238 118 1 238 118 1 238 118 1 238 118 1 238 118 1 216 117 2 +3 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 48 22 0 204 100 1 238 119 1 238 118 1 238 118 1 +238 118 1 238 118 1 238 118 1 238 118 1 238 118 1 238 118 1 +238 118 1 238 118 1 238 118 1 238 118 1 238 118 1 238 118 1 +238 118 1 238 118 1 238 118 1 238 119 1 110 51 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +127 63 1 238 118 1 238 118 1 238 118 1 238 118 1 238 118 1 +238 118 1 238 118 1 238 118 1 86 43 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 @@ -1454,18 +1354,17 @@ P3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -10 17 28 119 81 15 242 125 0 238 119 0 237 120 0 237 120 0 -237 120 0 237 120 0 238 119 0 247 119 0 46 40 24 18 23 27 -24 26 27 24 26 27 24 26 27 24 26 27 23 25 27 18 22 27 -21 23 27 148 72 11 252 126 0 242 125 0 238 119 0 237 120 0 -237 120 0 237 120 0 237 120 0 237 120 0 237 120 0 237 120 0 -237 120 0 237 120 0 237 120 0 238 119 0 246 126 1 252 126 0 -108 69 17 18 24 27 18 24 27 23 25 27 24 26 27 24 26 27 -24 26 27 24 26 27 17 22 27 85 50 19 246 126 1 238 119 0 -237 120 0 237 120 0 237 120 0 237 120 0 238 118 0 252 126 0 -86 62 19 14 22 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 204 100 1 238 120 1 238 120 1 +238 120 1 238 120 1 238 120 1 238 120 1 238 120 1 230 112 1 +10 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 1 1 0 138 64 0 238 120 1 238 120 1 +238 120 1 238 120 1 238 120 1 238 120 1 238 120 1 238 120 1 +238 120 1 238 120 1 238 120 1 238 120 1 238 120 1 238 120 1 +238 120 1 238 120 1 204 100 1 53 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +140 77 1 238 120 1 238 120 1 238 120 1 238 120 1 238 120 1 +238 120 1 238 120 1 238 120 1 75 35 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 @@ -1504,1716 +1403,1669 @@ P3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -13 20 27 111 56 15 238 119 0 238 119 0 237 120 0 237 120 0 -237 120 0 237 120 0 239 123 2 252 126 0 57 39 22 18 23 27 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -21 23 27 9 20 28 69 44 21 225 114 1 246 126 1 239 123 2 -237 120 0 237 120 0 237 120 0 237 120 0 237 120 0 237 120 0 -237 120 0 237 120 0 242 125 0 252 126 0 196 92 5 69 44 21 -4 17 28 23 25 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 14 22 27 86 62 19 252 126 0 237 120 0 -237 120 0 237 120 0 237 120 0 237 120 0 237 120 0 252 126 0 -69 44 21 18 22 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 192 97 1 238 121 1 238 121 1 +238 121 1 238 121 1 238 121 1 238 121 1 238 121 1 236 120 1 +22 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 79 40 0 230 112 1 +238 122 1 238 121 1 238 121 1 238 121 1 238 121 1 238 121 1 +238 121 1 238 121 1 238 121 1 238 121 1 238 121 1 238 122 1 +238 122 1 140 77 1 3 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +147 76 1 238 121 1 238 121 1 238 121 1 238 121 1 238 121 1 +238 121 1 238 121 1 238 121 1 61 28 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 23 25 26 21 23 24 -21 23 24 21 23 24 21 23 24 21 23 24 21 23 24 22 24 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -23 25 26 21 23 24 21 23 24 21 23 24 21 23 24 21 23 24 -21 23 24 22 24 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -22 24 25 21 23 24 21 23 24 21 23 24 21 23 24 21 23 24 -21 23 24 23 25 26 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 23 25 26 21 23 24 19 21 23 -19 21 22 16 18 19 15 17 18 15 17 18 16 18 19 18 20 22 -19 21 22 20 22 23 22 24 25 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 23 25 26 21 23 24 21 23 24 21 23 24 -21 23 24 21 23 24 21 23 24 23 25 26 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -22 24 25 21 23 24 21 23 24 21 23 24 21 23 24 21 23 24 -21 23 24 21 23 24 23 25 26 0 0 0 0 0 0 22 24 25 -21 23 24 21 23 24 21 23 24 21 23 24 21 23 24 21 23 24 -21 23 24 21 23 24 21 23 24 21 23 24 21 23 24 21 23 24 -21 23 24 21 23 24 21 23 24 21 23 24 23 25 26 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 23 25 26 21 23 24 -19 21 23 18 20 22 16 18 19 15 17 18 15 17 18 17 19 21 -19 21 22 20 22 24 23 25 26 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -23 25 26 21 23 24 21 23 24 21 23 24 21 23 24 21 23 24 -21 23 24 21 23 24 21 23 24 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 22 24 25 21 23 24 21 23 24 21 23 24 21 23 24 -21 23 24 21 23 24 22 24 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -14 22 27 85 50 19 242 125 0 239 123 2 239 123 2 239 123 2 -239 123 2 239 123 2 239 123 2 252 137 0 57 39 22 17 22 27 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 23 25 27 9 20 28 43 33 24 148 89 12 237 120 0 -252 126 0 242 125 0 239 123 2 239 123 2 239 123 2 239 123 2 -242 125 0 246 126 1 233 126 1 148 72 11 35 31 25 14 22 27 -23 25 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 13 20 27 111 56 15 252 126 0 239 123 2 -239 123 2 239 123 2 239 123 2 239 123 2 239 123 2 246 126 1 -57 39 22 18 23 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 23 25 26 23 25 26 30 32 33 -31 33 34 31 33 34 31 33 34 31 33 34 31 33 34 26 28 30 -22 24 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 25 26 -22 24 25 31 33 34 31 33 34 31 33 34 31 33 34 31 33 34 -31 33 34 26 28 30 22 24 25 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 24 25 -26 28 30 31 33 34 31 33 34 31 33 34 31 33 34 31 33 34 -31 33 34 23 25 26 23 25 26 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 23 25 26 17 19 21 12 14 15 30 32 32 43 44 44 -47 49 49 75 76 76 85 86 85 85 86 85 85 86 85 51 52 52 -43 44 44 38 39 40 19 21 22 12 14 15 22 24 25 0 0 0 -0 0 0 23 25 26 22 24 25 31 33 34 31 33 34 31 33 34 -31 33 34 31 33 34 34 35 36 24 26 27 23 25 26 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 20 22 23 -26 28 30 31 33 34 31 33 34 31 33 34 31 33 34 31 33 34 -31 33 34 34 35 36 23 25 27 23 25 26 22 24 25 26 28 30 -34 35 36 31 33 34 31 33 34 31 33 34 31 33 34 31 33 34 -31 33 34 31 33 34 31 33 34 31 33 34 31 33 34 31 33 34 -31 33 34 31 33 34 31 33 34 31 33 34 24 26 27 23 25 26 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 18 20 22 12 14 15 26 28 30 -43 44 44 47 49 49 85 86 85 85 86 85 85 86 85 63 65 64 -43 44 44 35 37 38 15 17 19 15 17 19 23 25 26 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 25 26 -23 25 26 34 35 36 31 33 34 31 33 34 31 33 34 31 33 34 -31 33 34 31 33 34 30 32 32 19 21 22 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -22 24 25 23 25 27 31 33 34 31 33 34 31 33 34 31 33 34 -31 33 34 31 33 34 31 33 34 22 24 25 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -16 21 27 70 55 22 242 125 0 239 126 1 239 123 2 239 123 2 -239 123 2 239 123 2 239 123 2 252 137 0 85 50 19 14 22 27 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 23 25 27 18 23 27 17 21 27 85 50 19 -173 86 8 233 126 1 252 126 0 252 137 0 252 126 0 252 137 0 -225 114 1 173 86 8 70 55 22 4 17 28 18 24 27 22 25 27 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 13 20 27 108 69 17 252 126 0 239 126 1 -239 123 2 239 123 2 239 123 2 239 123 2 242 125 0 246 126 1 -43 33 24 18 24 27 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 21 23 24 30 32 32 167 167 162 -194 194 188 191 190 184 191 190 184 191 190 185 194 194 188 97 97 95 -15 17 18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 23 24 -30 32 32 167 167 162 194 194 188 191 190 184 191 190 184 191 190 184 -199 199 193 108 109 107 14 16 18 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 15 17 18 -97 97 95 194 194 188 191 190 185 191 190 184 191 190 184 194 194 188 -178 178 173 35 37 38 21 23 24 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 25 26 -15 17 19 4 6 8 63 65 64 139 140 136 188 188 182 219 218 211 -228 227 220 226 224 218 225 224 217 224 222 216 224 222 216 227 226 219 -223 222 215 204 202 197 167 167 162 108 109 107 26 28 30 22 24 25 -0 0 0 22 24 25 26 27 26 191 190 185 191 190 185 191 190 184 -191 190 184 191 190 184 204 202 197 75 76 76 15 17 19 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 21 23 24 12 14 15 -178 178 173 194 194 188 191 190 184 191 190 184 191 190 184 191 190 184 -201 200 194 155 156 152 14 16 18 23 25 26 16 18 19 85 86 85 -204 202 197 191 190 184 191 190 184 191 190 184 191 190 184 191 190 184 -191 190 184 191 190 184 191 190 184 191 190 184 191 190 184 191 190 184 -191 190 184 191 190 184 191 190 185 199 199 193 75 76 76 17 19 21 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -23 25 26 18 20 22 1 3 5 47 49 49 123 124 122 186 185 180 -221 219 213 228 227 220 224 222 216 224 222 216 224 222 216 227 226 219 -225 224 217 201 200 194 155 156 152 75 76 76 5 8 10 15 17 19 -23 25 26 0 0 0 0 0 0 0 0 0 0 0 0 23 25 26 -16 18 19 155 156 152 199 199 193 191 190 184 191 190 184 191 190 184 -191 190 184 191 190 185 188 188 182 20 22 24 21 23 24 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 25 26 -8 10 12 123 124 122 199 199 193 191 190 184 191 190 184 191 190 184 -191 190 185 199 199 193 123 124 122 14 16 18 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -17 22 27 69 44 21 239 123 2 242 125 0 239 126 1 239 126 1 -239 126 1 239 126 1 239 126 1 252 126 0 108 69 17 13 20 27 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 22 25 27 14 22 27 -9 20 28 43 33 24 58 46 23 69 44 21 69 44 21 58 46 23 -35 31 25 4 17 28 16 21 27 23 25 27 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 23 25 27 9 20 28 148 72 11 252 137 0 239 126 1 -239 126 1 239 126 1 239 126 1 239 126 1 239 126 1 242 125 0 -29 29 28 21 23 27 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 21 23 24 30 32 33 191 190 185 -218 216 210 213 212 206 213 212 206 214 213 207 221 220 213 108 109 107 -13 15 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 23 24 -31 33 34 191 190 185 218 216 210 213 212 206 213 212 206 213 212 206 -226 224 218 123 124 122 12 14 15 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 15 17 -108 109 107 221 220 213 214 213 207 213 212 206 213 212 206 217 215 209 -204 202 197 35 37 38 20 22 24 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 21 23 24 5 8 10 -75 76 76 191 190 184 228 227 220 219 218 211 214 213 207 211 210 204 -210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 -210 209 203 212 211 205 219 218 211 222 221 214 43 44 44 20 22 23 -0 0 0 21 23 24 26 28 30 217 216 210 215 214 208 213 212 206 -213 212 206 213 212 206 228 227 220 75 76 76 16 18 19 0 0 0 -0 0 0 0 0 0 0 0 0 23 25 26 17 19 21 123 124 122 -226 224 218 214 212 206 213 212 206 213 212 206 213 212 206 219 218 211 -199 199 193 34 35 36 20 22 23 24 26 27 14 16 17 100 100 100 -227 226 219 213 212 206 213 212 206 213 212 206 213 212 206 213 212 206 -213 212 206 213 212 206 213 212 206 213 212 206 213 212 206 213 212 206 -213 212 206 213 212 206 214 213 207 223 222 215 85 86 85 15 17 19 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 25 26 -9 12 13 51 52 52 167 167 162 236 234 227 222 221 214 214 213 207 -211 210 204 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 -210 209 203 213 212 206 217 216 210 228 227 220 194 194 188 75 76 76 -5 8 10 22 24 25 0 0 0 0 0 0 0 0 0 0 0 0 -15 17 19 63 65 64 218 216 210 215 214 208 213 212 206 213 212 206 -213 212 206 214 212 206 226 224 218 115 115 113 14 16 18 23 25 26 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 19 21 22 -51 52 52 210 209 203 216 215 208 213 212 206 213 212 206 213 212 206 -219 218 211 194 194 188 34 35 36 20 22 24 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -17 22 27 58 46 23 239 126 1 239 126 1 239 126 1 239 126 1 -239 126 1 239 126 1 239 126 1 252 137 0 148 72 11 4 17 28 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -23 25 27 18 24 27 18 23 27 17 22 27 16 21 27 18 23 27 -21 23 27 23 25 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 4 17 28 173 86 8 245 138 1 239 126 1 -239 126 1 239 126 1 239 126 1 239 126 1 239 126 1 241 129 1 -26 27 26 21 23 27 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 21 23 24 30 32 32 188 188 182 -214 213 207 210 209 203 210 209 203 210 209 203 216 216 210 106 107 104 -13 15 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 23 24 -30 32 33 189 188 183 214 213 206 210 209 203 210 209 203 210 209 203 -221 219 213 123 124 122 12 14 15 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 15 17 -106 107 104 216 216 210 210 209 203 210 209 203 210 209 203 212 211 205 -201 200 194 35 37 38 20 22 24 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 18 20 22 24 26 27 123 124 122 -224 222 216 215 214 208 210 209 203 210 209 203 210 209 203 210 209 203 -210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 -210 209 203 210 209 203 211 210 204 212 210 204 38 39 40 20 22 23 -0 0 0 21 23 24 26 27 26 213 213 206 211 210 204 210 209 203 -210 209 203 210 209 203 225 224 217 75 76 76 17 19 21 0 0 0 -0 0 0 0 0 0 23 25 26 14 16 17 75 76 76 215 213 207 -212 211 205 210 209 203 210 209 203 210 209 203 211 210 204 222 221 214 -63 65 64 17 19 21 23 25 26 24 26 27 14 16 17 97 97 95 -223 222 215 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 -210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 -210 209 203 210 209 203 210 209 203 220 219 212 85 86 85 15 17 19 -0 0 0 0 0 0 0 0 0 0 0 0 22 24 25 10 13 14 -100 100 100 208 207 200 219 218 211 210 209 203 210 209 203 210 209 203 -210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 -210 209 203 210 209 203 210 209 203 210 209 203 215 214 208 221 219 213 -115 115 113 19 21 23 21 23 24 0 0 0 0 0 0 0 0 0 -23 25 26 14 16 18 123 124 122 224 222 216 210 209 203 210 209 203 -210 209 203 210 209 203 214 213 206 191 190 185 34 35 36 20 22 23 -0 0 0 0 0 0 0 0 0 0 0 0 23 25 26 8 10 12 -155 156 152 217 215 209 210 209 203 210 209 203 210 209 203 210 209 203 -219 218 211 97 97 95 12 14 15 23 25 26 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -13 20 27 85 50 19 241 129 1 241 129 1 241 129 1 252 137 0 -252 137 0 252 137 0 252 137 0 252 137 0 119 81 15 9 20 28 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 9 20 28 173 86 8 252 137 0 252 137 0 -252 137 0 252 137 0 252 137 0 241 129 1 241 129 1 241 129 1 -43 33 24 18 23 27 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 21 23 24 30 32 32 188 188 182 -214 213 207 210 209 203 210 209 203 210 209 203 216 216 210 106 107 104 -13 15 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 23 24 -30 32 33 189 188 183 214 213 206 210 209 203 210 209 203 210 209 203 -221 219 213 123 124 122 12 14 15 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 15 17 -106 107 104 216 216 210 210 209 203 210 209 203 210 209 203 212 211 205 -201 200 194 35 37 38 20 22 24 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 19 21 22 21 23 24 167 167 162 226 224 218 -211 210 204 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 -210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 -210 209 203 210 209 203 211 210 204 212 210 204 43 44 44 20 22 23 -0 0 0 21 23 24 26 27 26 213 213 206 211 210 204 210 209 203 -210 209 203 210 209 203 227 226 219 75 76 76 16 18 19 0 0 0 -0 0 0 0 0 0 21 23 24 22 24 25 186 185 180 217 215 209 -210 209 203 210 209 203 210 209 203 210 209 203 223 222 215 123 124 122 -4 6 8 23 25 26 24 26 27 24 26 27 14 16 17 97 97 95 -223 222 215 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 -210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 -210 209 203 210 209 203 210 209 203 219 218 211 85 86 85 15 17 19 -0 0 0 0 0 0 0 0 0 22 24 25 12 14 15 100 100 100 -227 226 219 213 212 206 210 209 203 210 209 203 210 209 203 210 209 203 -210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 -210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 211 210 204 -222 221 214 139 140 136 10 13 14 22 24 25 0 0 0 0 0 0 -0 0 0 21 23 24 23 25 27 218 216 210 212 211 205 210 209 203 -210 209 203 210 209 203 210 209 203 222 220 214 104 105 103 10 13 14 -0 0 0 0 0 0 0 0 0 0 0 0 17 19 21 51 52 52 -224 222 216 211 210 204 210 209 203 210 209 203 210 209 203 219 218 211 -167 167 162 17 19 21 22 24 25 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 25 27 -10 17 28 148 89 12 252 137 0 252 137 0 233 126 1 148 89 12 -119 81 15 29 29 28 4 11 29 4 11 29 14 22 27 26 27 26 -23 25 27 23 25 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -23 25 27 23 25 27 22 25 27 9 20 28 4 17 28 4 11 29 -35 31 25 119 81 15 173 86 8 239 126 1 252 137 0 252 137 0 -119 81 15 12 18 27 23 25 27 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 21 23 24 30 32 32 188 188 182 -214 213 207 210 209 203 210 209 203 210 209 203 216 216 210 106 107 104 -13 15 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 23 24 -30 32 33 189 188 183 214 213 206 210 209 203 210 209 203 210 209 203 -221 219 213 123 124 122 12 14 15 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 15 17 -106 107 104 216 216 210 210 209 203 210 209 203 210 209 203 212 211 205 -201 200 194 35 37 38 20 22 24 0 0 0 0 0 0 0 0 0 -0 0 0 20 22 24 14 16 17 189 188 183 221 220 213 210 209 203 -210 209 203 210 209 203 210 209 203 210 209 203 211 210 204 215 214 208 -222 221 214 226 224 218 223 222 215 223 222 215 224 222 216 227 226 219 -222 220 214 217 215 209 214 213 207 212 210 204 38 39 40 20 22 23 -0 0 0 21 23 24 26 27 26 213 213 206 211 210 204 210 209 203 -210 209 203 210 209 203 225 224 217 75 76 76 17 19 21 0 0 0 -0 0 0 23 25 26 1 3 5 155 156 152 219 218 211 210 209 203 -210 209 203 210 209 203 210 209 203 220 219 212 155 156 152 18 20 22 -22 25 27 24 26 27 24 26 27 24 26 27 14 16 17 97 97 95 -223 222 215 210 209 203 210 209 203 210 209 203 210 209 203 212 211 205 -228 227 220 228 227 220 228 227 220 228 227 220 228 227 220 228 227 220 -228 227 220 228 227 220 228 227 220 236 234 227 85 86 85 17 19 21 -0 0 0 0 0 0 23 25 26 10 13 14 106 107 104 227 226 219 -211 210 204 210 209 203 210 209 203 210 209 203 210 209 203 211 210 204 -217 215 209 224 222 216 225 224 217 223 222 215 223 222 215 226 224 218 -217 215 209 211 210 204 210 209 203 210 209 203 210 209 203 210 209 203 -211 210 204 222 221 214 123 124 122 5 8 10 23 25 26 0 0 0 -0 0 0 0 0 0 10 13 14 100 100 100 219 218 211 210 209 203 -210 209 203 210 209 203 210 209 203 214 213 207 194 194 188 31 33 34 -20 22 23 0 0 0 0 0 0 22 24 25 19 21 22 167 167 162 -217 216 210 210 209 203 210 209 203 210 209 203 212 211 205 222 220 214 -35 37 38 18 20 22 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 23 27 -35 31 25 198 112 6 198 112 6 69 44 21 35 31 25 12 18 27 -12 18 27 21 23 27 22 25 27 18 23 27 18 23 27 18 23 27 -18 23 27 18 23 27 18 23 27 21 23 27 23 25 27 23 25 27 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 23 25 27 23 25 27 21 23 27 18 23 27 -18 22 27 18 23 27 17 22 27 17 22 27 18 24 27 22 25 27 -21 23 27 12 18 27 9 20 28 35 31 25 86 62 19 198 112 6 -173 86 8 35 31 25 21 23 27 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 21 23 24 30 32 32 188 188 182 -214 213 207 210 209 203 210 209 203 210 209 203 216 216 210 106 107 104 -13 15 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 23 24 -30 32 33 189 188 183 214 213 206 210 209 203 210 209 203 210 209 203 -221 219 213 123 124 122 12 14 15 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 15 17 -106 107 104 216 216 210 210 209 203 210 209 203 210 209 203 212 211 205 -201 200 194 35 37 38 20 22 24 0 0 0 0 0 0 0 0 0 -22 24 25 17 19 21 139 140 136 222 221 214 210 209 203 210 209 203 -210 209 203 210 209 203 210 209 203 214 213 207 216 215 208 178 178 173 -108 109 107 47 49 49 43 44 44 47 48 48 43 44 44 51 52 52 -115 115 113 167 167 162 208 207 200 222 220 214 43 44 44 20 22 23 -0 0 0 21 23 24 26 27 26 213 213 206 211 210 204 210 209 203 -210 209 203 210 209 203 227 226 219 75 76 76 16 18 19 0 0 0 -23 25 26 15 17 19 75 76 76 224 222 216 211 210 204 210 209 203 -210 209 203 210 209 203 214 213 207 194 194 188 38 39 40 18 20 22 -24 26 27 24 26 27 24 26 27 24 26 27 14 16 17 97 97 95 -223 222 215 210 209 203 210 209 203 210 209 203 212 211 205 204 202 197 -30 32 33 47 48 48 47 48 48 47 48 48 47 48 48 47 48 48 -47 48 48 47 48 48 47 49 49 51 52 52 31 33 34 22 24 25 -0 0 0 0 0 0 15 17 19 63 65 64 208 207 200 213 212 206 -210 209 203 210 209 203 210 209 203 210 209 203 213 212 206 216 215 208 -167 167 162 75 76 76 43 44 44 43 44 44 43 44 44 63 65 64 -167 167 162 212 211 205 214 213 206 210 209 203 210 209 203 210 209 203 -210 209 203 211 210 204 224 222 216 63 65 64 17 19 21 23 25 26 -0 0 0 0 0 0 21 23 24 23 25 27 178 178 173 217 215 209 -210 209 203 210 209 203 210 209 203 210 209 203 216 216 210 106 108 104 -12 14 15 0 0 0 0 0 0 15 17 18 75 76 76 217 216 210 -211 210 204 210 209 203 210 209 203 210 209 203 221 219 213 123 124 122 -8 10 12 23 25 26 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 23 27 -46 40 24 57 39 22 4 17 28 13 20 27 18 23 27 18 22 27 -12 18 27 10 17 28 14 20 27 35 31 25 57 39 22 58 46 23 -58 46 23 57 39 22 43 33 24 26 27 26 9 20 28 10 17 28 -16 21 27 21 23 27 23 25 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 23 25 27 -18 23 27 14 20 27 10 17 28 10 17 28 26 27 26 46 40 24 -57 39 22 58 46 23 57 39 22 46 40 24 35 31 25 14 22 27 -9 20 28 13 20 27 17 22 27 18 23 27 13 20 27 4 17 28 -70 55 22 43 33 24 22 25 27 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 21 23 24 30 32 32 188 188 182 -214 213 207 210 209 203 210 209 203 210 209 203 216 216 210 106 107 104 -13 15 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 23 24 -30 32 33 189 188 183 214 213 206 210 209 203 210 209 203 210 209 203 -221 219 213 123 124 122 12 14 15 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 15 17 -106 107 104 216 216 210 210 209 203 210 209 203 210 209 203 212 211 205 -201 200 194 35 37 38 20 22 24 0 0 0 0 0 0 0 0 0 -13 15 16 75 76 76 222 220 214 211 210 204 210 209 203 210 209 203 -210 209 203 210 209 203 219 218 211 204 202 197 75 76 76 12 14 15 -12 14 15 18 20 22 19 21 22 19 21 22 19 21 22 18 20 22 -12 14 15 8 10 12 47 49 49 139 140 136 43 44 44 20 22 24 -0 0 0 21 23 24 26 27 26 213 213 206 211 210 204 210 209 203 -210 209 203 210 209 203 225 224 217 75 76 76 17 19 21 0 0 0 -19 21 22 31 33 34 194 194 188 215 213 207 210 209 203 210 209 203 -210 209 203 211 210 204 228 227 220 63 65 64 17 19 21 23 25 26 -24 26 27 24 26 27 24 26 27 24 26 27 14 16 17 97 97 95 -223 222 215 210 209 203 210 209 203 210 209 203 212 211 205 208 207 200 -1 3 5 19 21 22 19 21 22 19 21 22 19 21 22 19 21 22 -19 21 22 19 21 22 19 21 22 19 21 22 22 24 25 0 0 0 -0 0 0 23 25 26 1 3 5 178 178 173 217 215 209 210 209 203 -210 209 203 210 209 203 210 209 203 215 213 207 210 209 203 85 86 85 -1 3 5 15 17 19 19 21 22 19 21 22 19 21 22 16 18 19 -5 8 10 75 76 76 208 207 200 214 213 207 210 209 203 210 209 203 -210 209 203 210 209 203 217 216 210 167 167 162 20 22 23 22 24 25 -0 0 0 0 0 0 0 0 0 14 16 17 75 76 76 220 219 212 -211 210 204 210 209 203 210 209 203 210 209 203 214 213 207 199 199 193 -8 10 12 22 24 25 22 24 25 20 22 23 178 178 173 217 215 209 -210 209 203 210 209 203 210 209 203 215 214 208 191 190 185 30 32 32 -21 23 24 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -21 23 27 18 23 27 21 23 27 10 17 28 21 23 27 58 46 23 -119 81 15 178 116 9 198 112 6 238 145 2 252 154 1 252 154 1 -252 154 1 252 154 1 252 137 0 198 112 6 178 116 9 173 86 8 -69 44 21 43 33 24 9 20 28 17 22 27 22 25 27 23 25 27 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 23 25 27 22 25 27 16 21 27 10 17 28 -46 40 24 86 62 19 153 108 13 178 116 9 227 131 4 252 154 1 -252 154 1 252 154 1 252 154 1 249 147 1 227 131 4 198 112 6 -173 86 8 108 69 17 57 39 22 16 21 27 13 20 27 21 23 27 -18 22 27 22 25 27 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 21 23 24 30 32 32 188 188 182 -214 213 207 210 209 203 210 209 203 210 209 203 216 216 210 106 107 104 -13 15 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 23 24 -30 32 33 189 188 183 214 213 206 210 209 203 210 209 203 210 209 203 -221 219 213 123 124 122 12 14 15 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 15 17 -106 107 104 216 216 210 210 209 203 210 209 203 210 209 203 212 211 205 -201 200 194 35 37 38 20 22 24 0 0 0 0 0 0 21 23 24 -26 28 30 191 190 185 215 214 208 210 209 203 210 209 203 210 209 203 -210 209 203 217 215 209 188 188 182 14 16 17 13 15 17 23 25 26 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 23 25 26 19 21 22 12 14 15 21 23 24 0 0 0 -0 0 0 21 23 24 26 27 26 213 213 206 211 210 204 210 209 203 -210 209 203 210 209 203 227 226 219 75 76 76 16 18 19 22 24 25 -14 16 17 155 156 152 221 220 213 210 209 203 210 209 203 210 209 203 -210 209 203 222 220 214 115 115 113 5 8 10 23 25 26 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 14 16 17 97 97 95 -223 222 215 210 209 203 210 209 203 210 209 203 212 211 205 204 202 197 -4 6 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -23 25 26 14 16 17 85 86 85 228 227 220 210 209 203 210 209 203 -210 209 203 210 209 203 212 211 205 208 207 200 51 52 52 9 12 13 -23 25 26 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -23 25 26 9 12 13 43 44 44 217 216 210 212 211 205 210 209 203 -210 209 203 210 209 203 210 209 203 225 224 217 85 86 85 14 16 17 -0 0 0 0 0 0 0 0 0 22 24 25 15 17 19 139 140 136 -221 220 213 210 209 203 210 209 203 210 209 203 210 209 203 226 224 218 -97 97 95 14 16 18 12 14 15 100 100 100 218 216 210 210 209 203 -210 209 203 210 209 203 211 210 204 220 219 212 75 76 76 13 15 16 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -22 25 27 14 20 27 26 27 26 119 81 15 178 116 9 238 145 2 -244 155 3 252 154 1 246 155 2 242 147 2 242 147 2 245 138 1 -239 136 1 245 138 1 239 136 1 252 137 0 246 126 1 245 138 1 -233 126 1 198 112 6 148 72 11 46 40 24 18 23 27 18 24 27 -23 25 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 23 25 27 18 23 27 18 22 27 70 55 22 148 89 12 -228 138 5 242 153 2 252 154 1 252 154 1 249 147 1 242 147 2 -245 138 1 239 136 1 245 138 1 239 133 2 245 138 1 245 138 1 -252 137 0 241 129 1 233 126 1 173 86 8 86 62 19 26 27 26 -14 22 27 23 25 27 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 21 23 24 30 32 32 188 188 182 -214 213 207 210 209 203 210 209 203 210 209 203 216 216 210 106 107 104 -13 15 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 23 24 -30 32 33 189 188 183 214 213 206 210 209 203 210 209 203 210 209 203 -221 219 213 123 124 122 12 14 15 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 15 17 -106 107 104 216 216 210 210 209 203 210 209 203 210 209 203 212 211 205 -201 200 194 35 37 38 20 22 24 0 0 0 0 0 0 14 16 17 -100 100 100 217 215 209 210 209 203 210 209 203 210 209 203 210 209 203 -214 213 207 194 194 188 47 49 49 16 18 19 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 21 23 24 26 27 26 213 213 206 211 210 204 210 209 203 -210 209 203 210 209 203 225 224 217 75 76 76 17 19 21 12 14 15 -97 97 95 213 212 206 211 210 204 210 209 203 210 209 203 210 209 203 -219 218 211 155 156 152 20 22 23 22 24 25 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 14 16 17 97 97 95 -223 222 215 210 209 203 210 209 203 210 209 203 212 211 205 208 207 200 -4 6 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -22 24 25 22 24 25 155 156 152 218 216 210 210 209 203 210 209 203 -210 209 203 210 209 203 223 222 215 100 100 100 14 16 18 23 25 26 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 23 25 26 8 10 12 115 115 113 216 216 210 210 209 203 -210 209 203 210 209 203 210 209 203 217 216 210 155 156 152 14 16 17 -23 25 26 0 0 0 0 0 0 0 0 0 19 21 22 35 37 38 -216 215 208 212 211 205 210 209 203 210 209 203 210 209 203 215 213 207 -186 185 180 26 28 30 15 17 18 201 200 194 213 212 206 210 209 203 -210 209 203 210 209 203 219 218 211 155 156 152 16 18 19 22 24 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 23 25 27 18 22 27 -10 17 28 86 62 19 198 140 8 251 162 2 250 164 3 246 155 2 -243 153 2 242 151 2 242 147 2 242 147 2 242 147 2 239 136 1 -245 138 1 239 136 1 239 133 2 239 133 2 239 133 2 241 129 1 -241 129 1 246 126 1 252 137 0 225 114 1 148 72 11 26 27 26 -9 20 28 22 25 27 24 26 27 24 26 27 24 26 27 24 26 27 -22 25 27 10 17 28 26 27 26 178 116 9 239 160 4 254 162 1 -247 162 2 243 152 2 243 152 2 242 151 2 242 147 2 238 145 2 -245 138 1 238 145 2 239 136 1 239 136 1 239 133 2 239 133 2 -241 129 1 239 126 1 239 126 1 252 126 0 242 125 0 196 92 5 -69 44 21 9 20 28 18 24 27 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 21 23 24 30 32 32 188 188 182 -214 213 207 210 209 203 210 209 203 210 209 203 216 216 210 106 107 104 -13 15 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 23 24 -30 32 33 189 188 183 214 213 206 210 209 203 210 209 203 210 209 203 -221 219 213 123 124 122 12 14 15 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 15 17 -106 107 104 216 216 210 210 209 203 210 209 203 210 209 203 212 211 205 -201 200 194 35 37 38 20 22 24 0 0 0 0 0 0 1 3 5 -186 185 180 215 214 208 210 209 203 210 209 203 210 209 203 210 209 203 -222 221 214 85 86 85 9 12 13 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 21 23 24 26 27 26 213 213 206 211 210 204 210 209 203 -210 209 203 210 209 203 227 226 219 75 76 76 12 14 15 21 23 24 -210 209 203 214 213 206 210 209 203 210 209 203 210 209 203 214 213 207 -201 200 194 47 48 48 17 19 21 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 14 16 17 97 97 95 -223 222 215 210 209 203 210 209 203 210 209 203 212 211 205 208 207 200 -4 6 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -19 21 23 43 44 44 208 207 200 212 211 205 210 209 203 210 209 203 -210 209 203 213 212 206 204 202 197 10 13 14 22 24 25 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 20 22 23 35 37 38 199 199 193 213 212 206 -210 209 203 210 209 203 210 209 203 214 212 206 201 200 194 43 44 44 -20 22 23 0 0 0 0 0 0 0 0 0 0 0 0 8 10 12 -123 124 122 220 219 212 210 209 203 210 209 203 210 209 203 210 209 203 -220 219 212 75 76 76 85 86 85 226 224 218 210 209 203 210 209 203 -210 209 203 212 211 205 223 222 215 34 35 36 18 20 22 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 22 25 27 13 20 27 35 31 25 -198 140 8 250 168 2 254 162 1 244 158 4 244 157 4 242 153 2 -243 152 2 242 151 2 242 147 2 242 147 2 242 147 2 239 136 1 -238 145 2 245 138 1 239 133 2 239 133 2 241 129 1 241 129 1 -239 126 1 239 123 2 239 123 2 242 125 0 252 126 0 252 126 0 -85 50 19 9 20 28 21 23 27 23 25 27 23 25 27 18 23 27 -12 18 27 119 81 15 249 174 4 254 162 1 248 161 3 244 157 4 -241 156 2 243 152 2 243 152 2 242 147 2 242 147 2 242 147 2 -245 138 1 239 136 1 245 138 1 239 133 2 239 136 1 241 129 1 -241 129 1 239 126 1 239 126 1 239 123 2 239 123 2 246 126 1 -252 126 0 173 86 8 35 31 25 13 20 27 23 25 27 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 21 23 24 30 32 32 188 188 182 -214 213 207 210 209 203 210 209 203 210 209 203 216 216 210 106 107 104 -13 15 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 23 24 -30 32 33 189 188 183 214 213 206 210 209 203 210 209 203 210 209 203 -221 219 213 123 124 122 12 14 15 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 15 17 -106 107 104 216 216 210 210 209 203 210 209 203 210 209 203 212 211 205 -201 200 194 35 37 38 20 22 24 0 0 0 20 22 23 38 39 40 -219 218 211 211 210 204 210 209 203 210 209 203 210 209 203 215 214 208 -178 178 173 22 24 25 21 23 24 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 21 23 24 26 27 26 213 213 206 211 210 204 210 209 203 -210 209 203 210 209 203 225 224 217 75 76 76 9 12 13 167 167 162 -219 218 211 210 209 203 210 209 203 210 209 203 212 211 205 222 221 214 -63 65 64 12 14 15 23 25 26 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 14 16 17 97 97 95 -223 222 215 210 209 203 210 209 203 210 209 203 212 211 205 208 207 200 -1 3 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -14 16 17 97 97 95 222 220 214 210 209 203 210 209 203 210 209 203 -210 209 203 217 216 210 115 115 113 10 13 14 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 5 8 10 139 140 136 219 218 211 -210 209 203 210 209 203 210 209 203 210 209 203 217 215 209 85 86 85 -15 17 18 0 0 0 0 0 0 0 0 0 0 0 0 21 23 24 -23 25 26 186 185 180 217 215 209 210 209 203 210 209 203 210 209 203 -215 214 208 167 167 162 155 156 152 217 215 209 210 209 203 210 209 203 -210 209 203 219 218 211 115 115 113 8 10 12 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 23 25 27 12 18 27 86 62 19 239 160 4 -250 168 3 247 162 2 244 158 4 244 158 4 244 157 4 242 153 2 -243 152 2 242 151 2 242 147 2 242 147 2 242 147 2 238 145 2 -245 138 1 239 136 1 239 133 2 239 133 2 239 133 2 239 126 1 -241 129 1 239 123 2 239 123 2 237 120 0 238 117 1 238 118 0 -247 119 0 173 86 8 16 21 27 18 24 27 18 22 27 21 23 27 -198 140 8 250 168 2 250 164 3 244 158 4 244 158 4 244 157 4 -244 155 3 242 151 2 243 152 2 242 147 2 238 145 2 242 147 2 -245 138 1 238 145 2 239 136 1 239 136 1 239 133 2 239 133 2 -239 133 2 239 126 1 239 123 2 239 123 2 239 123 2 238 117 1 -238 118 0 247 119 0 223 98 1 57 39 22 16 21 27 23 25 27 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 21 23 24 30 32 32 188 188 182 -214 213 207 210 209 203 210 209 203 210 209 203 216 216 210 106 107 104 -13 15 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 23 24 -30 32 33 189 188 183 214 213 206 210 209 203 210 209 203 210 209 203 -221 219 213 123 124 122 12 14 15 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 15 17 -106 107 104 216 216 210 210 209 203 210 209 203 210 209 203 212 211 205 -201 200 194 35 37 38 20 22 24 0 0 0 16 18 19 75 76 76 -225 224 217 210 209 203 210 209 203 210 209 203 210 209 203 222 220 214 -108 109 107 14 16 17 23 25 26 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 21 23 24 26 27 26 213 213 206 211 210 204 210 209 203 -210 209 203 210 209 203 226 224 218 63 65 64 97 97 95 219 218 211 -210 209 203 210 209 203 210 209 203 210 209 203 219 218 211 123 124 122 -5 8 10 23 25 26 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 14 16 17 97 97 95 -223 222 215 210 209 203 210 209 203 210 209 203 212 211 205 204 202 197 -0 0 0 13 15 16 13 15 16 13 15 16 13 15 16 13 15 16 -13 15 16 13 15 16 13 15 16 18 20 22 0 0 0 0 0 0 -9 12 13 139 140 136 219 218 211 210 209 203 210 209 203 210 209 203 -211 210 204 211 210 204 63 65 64 17 19 21 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 17 19 21 85 86 85 219 218 211 -210 209 203 210 209 203 210 209 203 210 209 203 218 216 210 115 115 113 -12 14 15 0 0 0 0 0 0 0 0 0 0 0 0 23 25 26 -13 15 16 85 86 85 217 215 209 211 210 204 210 209 203 210 209 203 -210 209 203 208 207 200 208 207 200 210 209 203 210 209 203 210 209 203 -217 215 209 178 178 173 26 28 30 21 23 24 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 22 25 27 4 11 29 108 69 17 249 174 4 250 168 3 -245 163 4 244 163 4 244 157 4 244 158 4 244 157 4 242 153 2 -243 152 2 242 151 2 242 147 2 242 147 2 245 138 1 239 136 1 -238 145 2 245 138 1 239 133 2 239 133 2 239 133 2 241 129 1 -239 126 1 239 123 2 239 123 2 237 120 0 238 117 1 238 117 1 -240 113 0 247 119 0 196 92 5 4 17 28 26 27 26 198 140 8 -251 178 1 250 164 3 245 163 4 244 158 4 244 158 4 244 158 4 -241 156 2 242 151 2 243 152 2 242 151 2 242 147 2 242 147 2 -245 138 1 238 145 2 239 136 1 245 138 1 239 133 2 239 133 2 -241 129 1 239 126 1 239 123 2 239 126 1 239 123 2 237 117 0 -238 117 1 238 117 1 247 119 0 236 112 1 69 44 21 9 20 28 -23 25 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 21 23 24 30 32 32 188 188 182 -214 213 207 210 209 203 210 209 203 210 209 203 216 216 210 106 107 104 -13 15 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 23 24 -30 32 33 189 188 183 214 213 206 210 209 203 210 209 203 210 209 203 -221 219 213 123 124 122 12 14 15 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 15 17 -106 107 104 216 216 210 210 209 203 210 209 203 210 209 203 212 211 205 -201 200 194 35 37 38 20 22 24 0 0 0 12 14 15 106 108 104 -222 221 214 210 209 203 210 209 203 210 209 203 210 209 203 224 222 216 -75 76 76 15 17 18 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 21 23 24 26 27 26 213 213 206 211 210 204 210 209 203 -210 209 203 210 209 203 221 220 213 97 97 95 194 194 188 214 213 206 -210 209 203 210 209 203 210 209 203 220 219 212 167 167 162 18 20 22 -23 25 26 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 14 16 17 97 97 95 -223 222 215 210 209 203 210 209 203 210 209 203 211 210 204 204 202 197 -100 100 100 108 109 107 108 109 107 108 109 107 108 109 107 108 109 107 -108 109 107 108 109 107 115 115 113 63 65 64 18 20 22 23 25 26 -8 10 12 155 156 152 217 216 210 210 209 203 210 209 203 210 209 203 -212 211 205 199 199 193 47 48 48 19 21 22 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 18 20 22 51 52 52 217 215 209 -211 210 204 210 209 203 210 209 203 210 209 203 217 215 209 139 140 136 -12 14 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -22 24 25 18 20 22 167 167 162 217 216 210 210 209 203 210 209 203 -210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 211 210 204 -221 220 213 75 76 76 14 16 17 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -22 25 27 9 20 28 119 81 15 252 181 4 245 167 3 244 163 4 -245 163 4 244 163 4 244 158 4 244 158 4 244 157 4 242 153 2 -243 152 2 242 151 2 242 147 2 242 147 2 242 147 2 238 145 2 -245 138 1 239 136 1 239 133 2 239 133 2 239 133 2 239 126 1 -239 126 1 239 126 1 239 123 2 237 120 0 238 117 1 238 117 1 -238 116 1 237 111 1 240 113 0 196 92 5 228 138 5 251 178 1 -245 167 3 245 163 4 245 163 4 244 158 4 244 158 4 244 157 4 -241 156 2 243 152 2 243 152 2 242 147 2 242 147 2 238 145 2 -245 138 1 239 136 1 245 138 1 239 133 2 239 133 2 241 129 1 -239 133 2 239 126 1 239 126 1 239 123 2 239 123 2 238 117 1 -238 117 1 238 116 1 236 112 1 240 113 0 249 114 0 85 50 19 -9 20 28 23 25 27 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 21 23 24 30 32 32 188 188 182 -214 213 207 210 209 203 210 209 203 210 209 203 216 216 210 106 107 104 -13 15 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 23 24 -30 32 33 189 188 183 214 213 206 210 209 203 210 209 203 210 209 203 -221 219 213 123 124 122 12 14 15 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 15 17 -106 107 104 216 216 210 210 209 203 210 209 203 210 209 203 212 211 205 -201 200 194 35 37 38 20 22 24 23 25 26 17 19 21 139 140 136 -219 218 211 210 209 203 210 209 203 210 209 203 210 209 203 221 220 213 -38 39 40 19 21 23 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 21 23 24 26 27 26 213 213 206 211 210 204 210 209 203 -210 209 203 210 209 203 212 211 205 178 178 173 214 213 206 210 209 203 -210 209 203 210 209 203 214 212 206 186 185 180 26 28 30 18 20 22 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 14 16 17 97 97 95 -223 222 215 210 209 203 210 209 203 210 209 203 210 209 203 211 210 204 -223 222 215 222 220 214 224 222 216 224 222 216 224 222 216 224 222 216 -224 222 216 222 220 214 236 234 227 123 124 122 12 14 15 22 24 25 -21 24 26 178 178 173 215 214 208 210 209 203 210 209 203 210 209 203 -214 213 206 188 188 182 30 32 33 21 23 24 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 20 22 23 38 39 40 208 207 200 -212 211 205 210 209 203 210 209 203 210 209 203 219 218 211 155 156 152 -8 10 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 18 20 22 38 39 40 220 219 212 211 210 204 210 209 203 -210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 218 216 210 -139 140 136 14 16 17 23 25 26 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 25 27 -12 18 27 108 69 17 248 180 4 249 174 4 245 167 3 243 165 4 -245 163 4 244 163 4 244 157 4 244 158 4 244 157 4 242 153 2 -243 152 2 242 151 2 242 147 2 242 147 2 242 147 2 239 136 1 -245 138 1 239 136 1 239 133 2 239 133 2 239 133 2 241 129 1 -239 126 1 239 123 2 239 123 2 237 120 0 238 117 1 238 117 1 -238 116 1 237 110 0 237 111 1 245 163 4 245 174 5 244 167 4 -245 167 3 245 163 4 245 163 4 244 158 4 244 158 4 244 158 4 -241 156 2 242 151 2 243 152 2 242 151 2 242 147 2 242 147 2 -238 145 2 238 145 2 239 136 1 239 136 1 239 136 1 239 133 2 -241 129 1 239 126 1 239 123 2 239 123 2 239 123 2 237 117 0 -238 117 1 238 116 1 236 112 1 237 111 1 240 113 0 249 107 0 -69 44 21 14 22 27 23 25 27 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 21 23 24 30 32 32 188 188 182 -214 213 207 210 209 203 210 209 203 210 209 203 216 216 210 106 107 104 -13 15 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 23 24 -30 32 33 189 188 183 214 213 206 210 209 203 210 209 203 210 209 203 -221 219 213 123 124 122 12 14 15 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 15 17 -106 107 104 216 216 210 210 209 203 210 209 203 210 209 203 212 211 205 -201 200 194 35 37 38 20 22 24 21 24 26 19 21 22 139 140 136 -221 219 213 210 209 203 210 209 203 210 209 203 211 210 204 216 215 208 -30 32 33 21 23 24 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 21 23 24 26 27 26 213 213 206 211 210 204 210 209 203 -210 209 203 210 209 203 210 209 203 211 210 204 211 210 204 210 209 203 -210 209 203 210 209 203 213 212 206 189 188 183 35 37 38 18 20 22 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 14 16 17 97 97 95 -223 222 215 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 -210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 -210 209 203 210 209 203 222 220 214 115 115 113 12 14 15 21 23 24 -30 32 32 186 185 180 213 213 206 210 209 203 210 209 203 210 209 203 -215 213 207 178 178 173 21 24 26 22 24 25 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 20 22 23 35 37 38 201 200 194 -212 211 205 210 209 203 210 209 203 210 209 203 217 215 209 178 178 173 -5 8 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 23 25 26 4 6 8 155 156 152 212 211 205 210 209 203 -210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 218 216 210 -43 44 44 15 17 19 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 14 22 27 -58 46 23 239 160 4 249 174 4 245 167 3 245 170 5 244 163 4 -245 163 4 244 163 4 244 158 4 244 158 4 244 157 4 242 153 2 -243 152 2 242 151 2 249 147 1 252 154 1 249 147 1 252 154 1 -252 154 1 249 147 1 252 137 0 245 138 1 241 129 1 241 129 1 -239 126 1 239 126 1 239 123 2 237 120 0 238 117 1 238 117 1 -237 114 1 237 109 1 242 151 2 248 180 4 245 167 3 244 167 4 -244 167 4 245 163 4 245 163 4 244 158 4 244 158 4 244 157 4 -244 155 3 242 151 2 242 151 2 242 151 2 249 147 1 252 154 1 -249 147 1 249 147 1 252 154 1 252 137 0 252 137 0 239 133 2 -239 133 2 239 126 1 239 126 1 239 123 2 239 123 2 238 117 1 -238 117 1 238 116 1 236 112 1 237 111 1 237 109 1 249 107 0 -196 92 5 35 31 25 17 22 27 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 21 23 24 30 32 32 188 188 182 -214 213 207 210 209 203 210 209 203 210 209 203 216 216 210 106 107 104 -13 15 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 23 24 -30 32 33 189 188 183 214 213 206 210 209 203 210 209 203 210 209 203 -221 219 213 123 124 122 12 14 15 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 15 17 -106 107 104 216 216 210 210 209 203 210 209 203 210 209 203 212 211 205 -201 200 194 35 37 38 20 22 24 22 24 25 23 25 27 155 156 152 -217 216 210 210 209 203 210 209 203 210 209 203 211 210 204 217 216 210 -34 35 36 20 22 23 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 21 23 24 26 27 26 213 213 206 211 210 204 210 209 203 -210 209 203 210 209 203 214 213 207 167 167 162 214 213 207 210 209 203 -210 209 203 210 209 203 210 209 203 219 218 211 155 156 152 9 12 13 -22 24 25 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 14 16 17 97 97 95 -223 222 215 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 -210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 -210 209 203 210 209 203 221 220 213 115 115 113 12 14 15 21 23 24 -30 32 32 186 185 180 214 213 207 210 209 203 210 209 203 210 209 203 -214 213 207 186 185 180 26 28 30 21 23 24 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 20 22 23 35 37 38 201 200 194 -212 211 205 210 209 203 210 209 203 210 209 203 217 215 209 155 156 152 -8 10 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 20 22 23 17 19 21 199 199 193 213 212 206 210 209 203 -210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 221 219 213 -123 124 122 14 16 17 23 25 26 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 21 23 27 16 21 27 -198 140 8 252 181 4 246 172 5 245 167 3 245 170 5 244 163 4 -245 163 4 244 163 4 244 157 4 244 158 4 244 157 4 243 153 2 -252 154 1 254 162 1 198 140 8 178 116 9 148 72 11 70 55 22 -70 55 22 108 69 17 173 86 8 178 116 9 252 137 0 252 137 0 -241 129 1 239 123 2 239 123 2 237 120 0 238 117 1 238 117 1 -237 110 0 239 136 1 245 174 5 246 172 5 245 167 3 244 167 4 -244 167 4 245 163 4 245 163 4 244 158 4 244 158 4 244 158 4 -241 156 2 246 155 2 254 162 1 242 147 2 178 116 9 153 108 13 -111 56 15 70 55 22 85 50 19 148 89 12 178 116 9 225 114 1 -252 137 0 241 129 1 239 126 1 239 123 2 239 123 2 237 117 0 -238 117 1 238 116 1 236 112 1 237 111 1 237 109 1 236 106 0 -249 107 0 173 86 8 21 23 27 22 25 27 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 21 23 24 30 32 32 188 188 182 -214 213 207 210 209 203 210 209 203 210 209 203 216 216 210 106 107 104 -13 15 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 23 24 -30 32 33 189 188 183 214 213 206 210 209 203 210 209 203 210 209 203 -221 219 213 123 124 122 12 14 15 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 15 17 -106 107 104 216 216 210 210 209 203 210 209 203 210 209 203 212 211 205 -201 200 194 35 37 38 20 22 24 23 25 26 17 19 21 139 140 136 -219 218 211 210 209 203 210 209 203 210 209 203 210 209 203 222 221 214 -47 48 48 19 21 22 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 21 23 24 26 27 26 213 213 206 211 210 204 210 209 203 -210 209 203 210 209 203 222 220 214 85 86 85 191 190 185 215 213 207 -210 209 203 210 209 203 210 209 203 210 209 203 221 219 213 123 124 122 -5 8 10 23 25 26 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 14 16 17 97 97 95 -223 222 215 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 -214 213 207 214 213 207 214 213 207 214 213 207 214 213 207 214 213 207 -214 213 207 214 213 207 226 224 218 115 115 113 12 14 15 22 24 25 -21 23 24 178 178 173 214 213 207 210 209 203 210 209 203 210 209 203 -213 212 206 191 190 185 34 35 36 20 22 23 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 19 21 23 43 44 44 213 211 204 -211 210 204 210 209 203 210 209 203 210 209 203 217 215 209 139 140 136 -12 14 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -22 24 25 15 17 19 155 156 152 219 218 211 210 209 203 210 209 203 -210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 211 210 204 -220 219 212 63 65 64 15 17 18 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 23 25 27 18 24 27 119 81 15 -252 181 4 249 174 4 245 170 5 245 167 3 245 167 3 244 163 4 -245 163 4 244 163 4 244 158 4 244 158 4 244 158 4 254 162 1 -198 112 6 86 62 19 35 31 25 12 18 27 18 24 27 21 23 27 -20 22 26 17 22 27 17 22 27 20 22 26 57 39 22 148 89 12 -241 129 1 246 126 1 239 123 2 237 120 0 238 117 1 237 117 0 -237 117 0 246 172 5 245 174 5 246 172 5 245 167 3 244 167 4 -244 167 4 245 163 4 245 163 4 244 158 4 244 158 4 244 157 4 -254 162 1 242 147 2 119 81 15 57 39 22 21 23 27 17 21 27 -17 22 27 18 22 27 16 21 27 17 21 27 12 18 27 29 29 28 -108 69 17 198 112 6 252 126 0 242 125 0 239 123 2 238 117 1 -238 117 1 238 116 1 236 112 1 237 111 1 237 109 1 235 106 1 -238 106 0 236 99 0 111 56 15 9 20 28 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 21 23 24 30 32 32 188 188 182 -214 213 207 210 209 203 210 209 203 210 209 203 216 216 210 106 107 104 -13 15 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 23 24 -30 32 33 189 188 183 214 213 206 210 209 203 210 209 203 210 209 203 -221 219 213 123 124 122 12 14 15 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 15 17 -104 105 103 216 216 210 210 209 203 210 209 203 210 209 203 212 211 205 -201 200 194 35 37 38 20 22 24 23 25 26 15 17 19 123 124 122 -221 219 213 210 209 203 210 209 203 210 209 203 210 209 203 226 224 218 -75 76 76 15 17 18 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 21 23 24 26 27 26 213 213 206 211 210 204 210 209 203 -210 209 203 210 209 203 227 226 219 63 65 64 85 86 85 217 216 210 -211 210 204 210 209 203 210 209 203 210 209 203 211 210 204 217 216 210 -63 65 64 17 19 21 23 25 26 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 14 16 17 97 97 95 -223 222 215 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 -186 185 180 186 185 180 186 185 180 186 185 180 186 185 180 186 185 180 -186 185 180 186 185 180 194 194 188 104 105 103 14 16 18 23 25 26 -12 14 15 155 156 152 217 215 209 210 209 203 210 209 203 210 209 203 -212 211 205 208 207 200 51 52 52 18 20 22 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 15 17 19 75 76 76 217 215 209 -210 209 203 210 209 203 210 209 203 210 209 203 217 215 209 123 124 122 -12 14 15 0 0 0 0 0 0 0 0 0 0 0 0 23 25 26 -14 16 17 75 76 76 213 213 206 211 210 204 210 209 203 210 209 203 -210 209 203 208 207 200 210 209 203 210 209 203 210 209 203 210 209 203 -215 213 207 178 178 173 21 23 24 21 23 24 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 18 22 27 43 33 24 239 160 4 -248 180 4 245 174 5 245 170 5 245 167 3 245 170 5 245 163 4 -245 163 4 244 163 4 244 157 4 251 162 2 254 162 1 119 81 15 -14 22 27 14 20 27 21 23 27 23 25 27 23 25 27 23 25 27 -23 25 27 23 25 27 23 25 27 22 25 27 17 21 27 4 17 28 -57 39 22 198 112 6 252 126 0 239 123 2 238 117 1 237 112 0 -242 147 2 248 180 4 246 172 5 246 172 5 245 167 3 244 167 4 -244 167 4 245 163 4 245 163 4 244 158 4 247 162 2 250 168 2 -198 112 6 46 40 24 10 17 28 18 22 27 22 25 27 23 25 27 -23 25 27 23 25 27 23 25 27 23 25 27 22 25 27 21 23 27 -9 20 28 21 23 27 148 72 11 252 137 0 242 125 0 238 117 1 -238 117 1 238 116 1 236 112 1 237 111 1 237 109 1 235 106 1 -236 103 0 241 105 0 196 92 5 18 22 27 22 25 27 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 21 23 24 30 32 32 188 188 182 -214 213 207 210 209 203 210 209 203 210 209 203 216 216 210 106 107 104 -13 15 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 23 24 -31 33 34 189 189 185 214 213 206 210 209 203 210 209 203 210 209 203 -220 219 212 123 124 122 10 13 14 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 12 14 15 -115 115 113 216 215 208 210 209 203 210 209 203 210 209 203 213 212 206 -194 194 188 31 33 34 21 23 24 0 0 0 13 15 16 104 105 103 -223 222 215 210 209 203 210 209 203 210 209 203 210 209 203 220 219 212 -123 124 122 16 18 19 23 25 26 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 21 23 24 26 27 26 213 213 206 211 210 204 210 209 203 -210 209 203 210 209 203 225 224 217 75 76 76 8 10 12 155 156 152 -220 219 212 210 209 203 210 209 203 210 209 203 210 209 203 217 215 209 -186 185 180 21 24 26 20 22 23 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 14 16 17 97 97 95 -223 222 215 210 209 203 210 209 203 210 209 203 212 211 205 204 202 197 -0 0 0 5 8 10 5 8 10 5 8 10 5 8 10 5 8 10 -5 8 10 5 8 10 5 8 10 14 16 17 0 0 0 0 0 0 -10 13 14 139 140 136 220 219 212 210 209 203 210 209 203 210 209 203 -210 209 203 216 215 208 85 86 85 15 17 19 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 12 14 15 108 109 107 221 219 213 -210 209 203 210 209 203 210 209 203 211 210 204 217 215 209 85 86 85 -14 16 17 0 0 0 0 0 0 0 0 0 0 0 0 21 23 24 -22 24 25 186 185 180 217 215 209 210 209 203 210 209 203 210 209 203 -216 216 210 155 156 152 204 202 197 211 210 204 210 209 203 210 209 203 -210 209 203 217 216 210 104 105 103 9 12 13 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 23 25 27 18 24 27 119 81 15 250 181 3 -245 174 5 246 172 5 245 170 5 245 167 3 245 167 3 244 163 4 -245 163 4 244 158 4 250 168 3 228 138 5 58 46 23 4 17 28 -22 25 27 26 28 30 23 25 27 26 28 30 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 23 25 27 22 25 27 -16 21 27 14 22 27 148 72 11 252 126 0 238 117 1 237 117 0 -248 180 4 245 174 5 246 172 5 246 172 5 245 167 3 244 167 4 -244 167 4 245 163 4 245 163 4 247 162 2 244 163 4 148 89 12 -4 17 28 16 21 27 22 25 27 23 25 27 26 28 30 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -23 25 27 18 24 27 4 17 28 85 50 19 237 117 0 242 125 0 -238 117 1 238 116 1 236 112 1 237 111 1 237 109 1 235 106 1 -236 106 0 236 101 0 249 107 0 85 50 19 17 22 27 23 25 27 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 21 23 24 30 32 32 188 188 182 -214 213 207 210 209 203 210 209 203 210 209 203 216 216 210 106 107 104 -13 15 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 24 25 -23 25 26 178 178 173 215 214 208 210 209 203 210 209 203 210 209 203 -217 215 209 155 156 152 9 12 13 23 25 26 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 10 12 -139 140 136 217 215 209 210 209 203 210 209 203 210 209 203 216 215 208 -178 178 173 26 28 30 21 23 24 0 0 0 17 19 21 63 65 64 -224 222 216 210 209 203 210 209 203 210 209 203 210 209 203 215 213 207 -201 200 194 35 37 38 19 21 22 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 21 23 24 26 27 26 213 213 206 211 210 204 210 209 203 -210 209 203 210 209 203 225 224 217 75 76 76 12 14 15 14 16 18 -201 200 194 215 213 207 210 209 203 210 209 203 210 209 203 210 209 203 -222 220 214 155 156 152 13 15 17 22 24 25 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 14 16 17 97 97 95 -223 222 215 210 209 203 210 209 203 210 209 203 212 211 205 208 207 200 -4 6 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -13 15 16 97 97 95 220 219 212 210 209 203 210 209 203 210 209 203 -210 209 203 218 216 210 167 167 162 4 6 8 23 25 26 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 22 24 25 13 15 17 178 178 173 216 215 208 -210 209 203 210 209 203 210 209 203 212 211 205 201 200 194 43 44 44 -19 21 22 0 0 0 0 0 0 0 0 0 23 25 26 5 8 10 -139 140 136 219 218 211 210 209 203 210 209 203 210 209 203 212 211 205 -210 209 203 51 52 52 167 167 162 217 215 209 210 209 203 210 209 203 -210 209 203 212 211 205 219 218 211 30 32 33 19 21 22 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 21 23 27 35 31 25 198 140 8 252 181 4 -248 180 4 246 172 5 245 170 5 245 167 3 245 170 5 245 163 4 -245 163 4 247 162 2 244 158 4 58 46 23 14 22 27 23 25 27 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -23 25 27 18 24 27 14 22 27 173 86 8 238 118 0 242 147 2 -248 180 4 245 174 5 245 174 5 246 172 5 245 167 3 244 167 4 -244 167 4 245 163 4 247 162 2 250 164 3 148 89 12 9 20 28 -18 24 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 22 25 27 9 20 28 85 50 19 238 119 0 -238 119 0 238 116 1 236 112 1 237 111 1 237 109 1 235 106 1 -236 106 0 236 101 0 249 107 0 173 86 8 29 29 28 21 23 27 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 21 23 24 30 32 32 188 188 182 -214 213 207 210 209 203 210 209 203 210 209 203 216 216 210 106 107 104 -13 15 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 25 26 -9 12 13 155 156 152 219 218 211 210 209 203 210 209 203 210 209 203 -214 213 207 188 188 182 30 32 32 20 22 24 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 23 25 26 5 8 10 -186 185 180 213 212 206 210 209 203 210 209 203 210 209 203 217 216 210 -155 156 152 21 23 24 22 24 25 0 0 0 22 24 25 14 16 17 -208 207 200 212 211 205 210 209 203 210 209 203 210 209 203 210 209 203 -219 218 211 123 124 122 12 14 15 23 25 26 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 21 23 24 26 27 26 213 213 206 211 210 204 210 209 203 -210 209 203 210 209 203 225 224 217 75 76 76 17 19 21 14 16 17 -75 76 76 212 210 204 212 211 205 210 209 203 210 209 203 210 209 203 -211 210 204 217 215 209 108 109 107 8 10 12 23 25 26 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 14 16 17 97 97 95 -223 222 215 210 209 203 210 209 203 210 209 203 212 211 205 208 207 200 -4 6 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -20 22 23 38 39 40 204 202 197 212 211 205 210 209 203 210 209 203 -210 209 203 211 210 204 221 219 213 47 49 49 17 19 21 23 25 26 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 14 16 18 75 76 76 210 209 203 211 210 204 -210 209 203 210 209 203 210 209 203 217 216 210 167 167 162 15 17 19 -21 24 26 0 0 0 0 0 0 23 25 26 17 19 21 51 52 52 -224 222 216 211 210 204 210 209 203 210 209 203 210 209 203 220 219 212 -139 140 136 9 12 13 75 76 76 221 220 213 210 209 203 210 209 203 -210 209 203 210 209 203 220 219 212 139 140 136 19 21 23 22 24 25 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 18 24 27 70 55 22 248 180 4 252 181 4 -245 174 5 246 172 5 245 170 5 245 167 3 245 167 3 244 163 4 -245 163 4 245 167 3 108 69 17 10 17 28 23 25 27 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 23 25 27 14 22 27 43 33 24 198 112 6 250 164 3 -248 180 4 245 174 5 246 172 5 246 172 5 245 167 3 244 167 4 -245 167 3 243 165 4 254 162 1 198 140 8 26 27 26 18 24 27 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 22 25 27 14 20 27 108 69 17 -252 126 0 238 116 1 236 112 1 237 111 1 237 109 1 235 106 1 -236 106 0 236 99 0 236 99 0 223 98 1 57 39 22 18 24 27 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 21 23 24 30 32 32 188 188 182 -214 213 207 210 209 203 210 209 203 210 209 203 216 216 210 106 107 104 -13 15 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -14 16 17 123 124 122 221 219 213 210 209 203 210 209 203 210 209 203 -211 210 204 212 211 205 75 76 76 13 15 17 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 15 17 19 43 44 44 -221 219 213 210 209 203 210 209 203 210 209 203 210 209 203 222 221 214 -115 115 113 14 16 17 23 25 26 0 0 0 0 0 0 8 10 12 -155 156 152 219 218 211 210 209 203 210 209 203 210 209 203 210 209 203 -212 211 205 211 210 204 75 76 76 5 8 10 21 24 26 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 22 24 25 16 18 19 22 24 25 0 0 0 -0 0 0 21 23 24 26 27 26 213 213 206 211 210 204 210 209 203 -210 209 203 210 209 203 227 226 219 75 76 76 16 18 19 23 25 26 -10 13 14 139 140 136 224 222 216 210 209 203 210 209 203 210 209 203 -210 209 203 212 211 205 219 218 211 43 44 44 15 17 19 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 14 16 17 97 97 95 -223 222 215 210 209 203 210 209 203 210 209 203 212 211 205 208 207 200 -4 6 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -22 24 25 19 21 23 155 156 152 219 218 211 210 209 203 210 209 203 -210 209 203 210 209 203 217 216 210 167 167 162 13 15 16 20 22 23 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 19 21 22 9 12 13 191 190 185 214 213 207 210 209 203 -210 209 203 210 209 203 210 209 203 222 220 214 85 86 85 14 16 17 -0 0 0 0 0 0 0 0 0 21 23 24 17 19 21 178 178 173 -217 216 210 210 209 203 210 209 203 210 209 203 211 210 204 223 222 215 -35 37 38 17 19 21 4 6 8 186 185 180 217 215 209 210 209 203 -210 209 203 210 209 203 211 210 204 219 218 211 75 76 76 14 16 17 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 14 20 27 86 62 19 248 180 4 248 180 4 -245 174 5 246 172 5 245 170 5 245 167 3 245 170 5 245 163 4 -250 168 3 178 116 9 9 20 28 4 17 28 16 21 27 18 23 27 -22 25 27 23 25 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 23 25 27 12 18 27 85 50 19 250 168 3 -248 180 4 249 174 4 246 172 5 246 172 5 245 167 3 244 167 4 -244 167 4 247 162 2 250 168 2 43 33 24 16 21 27 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -23 25 27 21 23 27 18 23 27 14 20 27 4 17 28 4 17 28 -225 114 1 240 113 0 236 112 1 237 111 1 237 109 1 235 106 1 -236 106 0 236 101 0 236 100 0 223 98 1 57 39 22 17 21 27 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 21 23 24 30 32 32 188 188 182 -214 213 207 210 209 203 210 209 203 210 209 203 216 216 210 104 105 103 -10 13 14 21 23 24 21 23 24 21 23 24 21 23 24 21 23 24 -21 23 24 21 23 24 21 23 24 21 23 24 23 25 26 0 0 0 -17 19 21 75 76 76 219 218 211 210 209 203 210 209 203 210 209 203 -210 209 203 215 213 207 201 200 194 17 19 21 14 16 18 21 23 24 -23 25 26 23 25 26 21 23 24 15 17 19 20 22 24 167 167 162 -219 218 211 210 209 203 210 209 203 210 209 203 210 209 203 226 224 218 -63 65 64 15 17 19 0 0 0 0 0 0 0 0 0 18 20 22 -51 52 52 210 209 203 212 211 205 210 209 203 210 209 203 210 209 203 -210 209 203 212 211 205 227 226 219 97 97 95 8 10 12 16 18 19 -20 22 23 22 24 25 23 25 26 23 25 26 22 24 25 20 22 24 -19 21 22 10 13 14 16 18 19 97 97 95 31 33 34 22 24 25 -0 0 0 21 23 24 26 27 26 213 213 206 211 210 204 210 209 203 -210 209 203 210 209 203 225 224 217 75 76 76 17 19 21 0 0 0 -21 23 24 18 20 22 178 178 173 217 216 210 210 209 203 210 209 203 -210 209 203 210 209 203 217 215 209 189 188 183 34 35 36 19 21 22 -24 26 27 24 26 27 24 26 27 24 26 27 14 16 17 97 97 95 -223 222 215 210 209 203 210 209 203 210 209 203 212 211 205 208 207 200 -1 3 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 17 19 21 51 52 52 225 224 217 211 210 204 210 209 203 -210 209 203 210 209 203 210 209 203 223 222 215 155 156 152 16 18 19 -14 16 18 21 23 24 22 24 25 23 25 26 22 24 25 20 22 23 -12 14 15 24 26 27 167 167 162 221 219 213 210 209 203 210 209 203 -210 209 203 210 209 203 216 215 208 178 178 173 26 28 30 21 23 24 -0 0 0 0 0 0 23 25 26 9 12 13 123 124 122 221 219 213 -210 209 203 210 209 203 210 209 203 210 209 203 219 218 211 123 124 122 -9 12 13 0 0 0 17 19 21 63 65 64 210 209 203 212 211 205 -210 209 203 210 209 203 210 209 203 216 215 208 188 188 182 23 25 26 -21 23 24 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 18 24 27 58 46 23 244 172 4 251 178 1 -245 174 5 246 172 5 245 170 5 245 167 3 245 167 3 243 165 4 -250 164 3 238 145 2 178 116 9 153 108 13 86 62 19 35 31 25 -22 25 27 10 17 28 14 20 27 23 25 27 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 21 23 27 14 20 27 198 140 8 -252 181 4 245 174 5 246 172 5 246 172 5 245 167 3 244 167 4 -245 167 3 250 168 2 178 116 9 4 11 29 23 25 27 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 22 25 27 14 20 27 -10 17 28 26 27 26 43 33 24 86 62 19 153 108 13 178 116 9 -239 136 1 238 116 1 236 112 1 237 111 1 237 109 1 235 106 1 -236 106 0 236 100 0 236 99 0 223 98 1 43 33 24 21 23 27 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 21 23 24 30 32 32 188 188 182 -214 213 207 210 209 203 210 209 203 210 209 203 216 215 208 108 109 107 -22 24 25 31 33 34 31 33 34 31 33 34 31 33 34 31 33 34 -31 33 34 31 33 34 31 33 34 31 33 34 24 26 27 23 25 26 -20 22 23 30 32 32 186 185 180 214 213 207 210 209 203 210 209 203 -210 209 203 210 209 203 219 218 211 178 178 173 63 65 64 26 28 30 -15 17 18 16 18 19 24 26 27 51 52 52 167 167 162 219 218 211 -210 209 203 210 209 203 210 209 203 210 209 203 214 213 207 194 194 188 -5 8 10 23 25 26 0 0 0 0 0 0 0 0 0 23 25 26 -13 15 17 139 140 136 221 219 213 210 209 203 210 209 203 210 209 203 -210 209 203 210 209 203 211 210 204 215 214 208 167 167 162 63 65 64 -34 35 36 22 24 25 15 17 19 17 19 21 21 23 24 34 35 36 -43 44 44 115 115 113 188 188 182 222 221 214 43 44 44 20 22 23 -0 0 0 21 23 24 26 27 26 213 213 206 211 210 204 210 209 203 -210 209 203 210 209 203 227 226 219 75 76 76 16 18 19 0 0 0 -23 25 26 17 19 21 51 52 52 219 218 211 212 211 205 210 209 203 -210 209 203 210 209 203 210 209 203 222 220 214 139 140 136 12 14 15 -21 24 26 24 26 27 24 26 27 24 26 27 14 16 17 97 97 95 -223 222 215 210 209 203 210 209 203 210 209 203 212 211 205 208 207 200 -4 6 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 23 25 26 5 8 10 155 156 152 218 216 210 210 209 203 -210 209 203 210 209 203 210 209 203 210 209 203 217 215 209 189 188 183 -63 65 64 30 32 33 20 22 23 14 16 18 21 23 24 31 33 34 -85 86 85 189 188 183 217 215 209 210 209 203 210 209 203 210 209 203 -210 209 203 211 210 204 224 222 216 75 76 76 17 19 21 23 25 26 -0 0 0 0 0 0 19 21 22 51 52 52 204 202 197 213 212 206 -210 209 203 210 209 203 210 209 203 214 213 207 194 194 188 38 39 40 -20 22 23 0 0 0 23 25 26 10 13 14 155 156 152 219 218 211 -210 209 203 210 209 203 210 209 203 210 209 203 219 218 211 123 124 122 -8 10 12 23 25 26 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 22 25 27 26 27 26 198 140 8 252 181 4 -249 174 4 246 172 5 245 170 5 245 167 3 245 170 5 245 163 4 -244 158 4 243 153 2 252 154 1 252 154 1 249 147 1 242 151 2 -178 116 9 148 89 12 86 62 19 4 11 29 4 11 29 10 17 28 -16 21 27 21 23 27 23 25 27 23 25 27 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 23 25 27 12 18 27 86 62 19 -252 181 4 250 181 3 246 172 5 246 172 5 245 167 3 244 167 4 -250 168 3 250 168 2 86 62 19 14 22 27 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 23 25 27 23 25 27 -21 23 27 14 20 27 12 18 27 4 11 29 4 17 28 86 62 19 -148 89 12 198 140 8 238 145 2 252 154 1 252 154 1 252 154 1 -243 152 2 237 120 0 236 112 1 237 111 1 237 109 1 235 106 1 -236 106 0 236 101 0 241 105 0 173 86 8 20 22 26 21 23 27 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 21 23 24 30 32 32 188 188 182 -214 213 207 210 209 203 210 209 203 210 209 203 211 210 204 194 194 188 -189 188 183 191 190 184 191 190 184 191 190 184 191 190 184 191 190 184 -191 190 184 191 190 184 191 190 185 199 199 193 75 76 76 17 19 21 -23 25 26 14 16 18 108 109 107 226 224 218 210 209 203 210 209 203 -210 209 203 210 209 203 210 209 203 216 215 208 221 220 213 191 190 184 -155 156 152 155 156 152 178 178 173 221 219 213 217 215 209 210 209 203 -210 209 203 210 209 203 210 209 203 210 209 203 221 219 213 104 105 103 -13 15 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -19 21 22 38 39 40 194 194 188 217 215 209 210 209 203 210 209 203 -210 209 203 210 209 203 210 209 203 211 210 204 217 215 209 226 224 218 -201 200 194 167 167 162 155 156 152 155 156 152 167 167 162 194 194 188 -224 222 216 222 220 214 216 215 208 211 210 204 38 39 40 20 22 23 -0 0 0 21 23 24 26 27 26 213 213 206 211 210 204 210 209 203 -210 209 203 210 209 203 225 224 217 75 76 76 17 19 21 0 0 0 -0 0 0 23 25 26 5 8 10 123 124 122 221 220 213 210 209 203 -210 209 203 210 209 203 210 209 203 211 210 204 218 216 210 97 97 95 -9 12 13 23 25 26 24 26 27 24 26 27 14 16 17 97 97 95 -223 222 215 210 209 203 210 209 203 210 209 203 212 211 205 208 207 200 -1 3 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 20 22 23 31 33 34 199 199 193 217 216 210 -210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 215 214 208 -224 222 216 194 194 188 167 167 162 155 156 152 167 167 162 201 200 194 -225 224 217 214 213 207 210 209 203 210 209 203 210 209 203 210 209 203 -210 209 203 222 221 214 155 156 152 1 3 5 22 24 25 0 0 0 -0 0 0 23 25 26 1 3 5 178 178 173 217 215 209 210 209 203 -210 209 203 210 209 203 210 209 203 222 221 214 115 115 113 9 12 13 -23 25 26 0 0 0 0 0 0 17 19 21 51 52 52 215 213 207 -211 210 204 210 209 203 210 209 203 210 209 203 212 211 205 219 218 211 -31 33 34 18 20 22 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 23 25 27 14 22 27 108 69 17 252 181 4 -249 174 4 246 172 5 245 170 5 245 167 3 245 167 3 244 163 4 -243 152 2 242 151 2 242 151 2 243 152 2 243 153 2 246 155 2 -252 154 1 254 162 1 254 162 1 250 164 3 228 138 5 119 81 15 -86 62 19 29 29 28 10 17 28 17 22 27 22 25 27 23 25 27 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 4 11 29 -198 140 8 252 181 4 251 178 1 249 174 4 250 168 3 250 168 3 -251 178 1 153 108 13 4 11 29 23 25 27 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 22 25 27 16 21 27 10 17 28 -35 31 25 86 62 19 119 81 15 242 151 2 254 162 1 254 162 1 -254 162 1 252 154 1 246 155 2 243 152 2 243 152 2 243 152 2 -243 152 2 242 147 2 237 114 1 237 108 0 237 108 0 235 106 1 -236 103 0 236 99 0 249 114 0 69 44 21 17 21 27 23 25 27 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 21 23 24 30 32 32 188 188 182 -214 213 207 210 209 203 210 209 203 210 209 203 210 209 203 212 211 205 -213 212 206 213 212 206 213 212 206 213 212 206 213 212 206 213 212 206 -213 212 206 213 212 206 214 213 207 223 222 215 85 86 85 15 17 19 -0 0 0 22 24 25 10 13 14 194 194 188 217 216 210 210 209 203 -210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 214 212 206 -217 215 209 217 215 209 215 213 207 210 209 203 210 209 203 210 209 203 -210 209 203 210 209 203 210 209 203 222 220 214 167 167 162 17 19 21 -22 24 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 15 17 19 38 39 40 213 212 206 217 215 209 210 209 203 -210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 -212 211 205 216 215 208 217 216 210 217 215 209 217 215 209 214 212 206 -210 209 203 210 209 203 211 210 204 211 210 204 43 44 44 20 22 23 -0 0 0 21 23 24 26 27 26 213 213 206 211 210 204 210 209 203 -210 209 203 210 209 203 227 226 219 75 76 76 16 18 19 0 0 0 -0 0 0 0 0 0 22 24 25 16 18 19 167 167 162 219 218 211 -210 209 203 210 209 203 210 209 203 210 209 203 212 211 205 224 222 216 -43 44 44 17 19 21 23 25 26 24 26 27 14 16 17 97 97 95 -223 222 215 210 209 203 210 209 203 210 209 203 212 211 205 208 207 200 -4 6 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 15 17 18 47 49 49 201 200 194 -217 216 210 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 -210 209 203 214 212 206 215 213 207 216 215 208 216 215 208 212 211 205 -210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 -224 222 216 155 156 152 14 16 17 22 24 25 0 0 0 0 0 0 -23 25 26 14 16 18 97 97 95 227 226 219 210 209 203 210 209 203 -210 209 203 210 209 203 215 214 208 186 185 180 23 25 26 21 23 24 -0 0 0 0 0 0 0 0 0 23 25 26 16 18 19 123 124 122 -222 220 214 210 209 203 210 209 203 210 209 203 210 209 203 218 216 210 -167 167 162 18 20 22 22 24 25 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 21 23 27 35 31 25 198 140 8 -250 168 3 246 172 5 245 170 5 245 167 3 245 163 4 242 153 2 -242 153 2 243 152 2 243 152 2 243 152 2 243 152 2 243 152 2 -243 152 2 243 152 2 243 152 2 243 153 2 246 155 2 254 162 1 -246 155 2 228 138 5 178 116 9 58 46 23 21 23 27 21 23 27 -23 25 27 24 26 27 24 26 27 24 26 27 24 26 27 21 24 26 -17 22 27 119 81 15 228 138 5 245 174 5 244 167 4 198 140 8 -119 81 15 12 18 27 21 23 27 23 25 27 24 26 27 24 26 27 -24 26 27 23 25 27 18 23 27 21 23 27 70 55 22 178 116 9 -238 145 2 251 162 2 254 162 1 246 155 2 243 153 2 243 152 2 -242 151 2 242 151 2 242 151 2 243 152 2 243 152 2 243 152 2 -243 153 2 243 153 2 242 147 2 239 123 2 236 112 1 235 106 1 -237 110 0 246 126 1 198 112 6 14 22 27 22 25 27 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 21 23 24 30 32 32 188 188 182 -214 213 207 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 -210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 -210 209 203 210 209 203 210 209 203 220 219 212 85 86 85 15 17 19 -0 0 0 0 0 0 16 18 19 63 65 64 194 194 188 218 216 210 -210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 -210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 -210 209 203 210 209 203 220 219 212 186 185 180 38 39 40 18 20 22 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 13 15 16 63 65 64 191 190 185 220 219 212 -210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 -210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 -210 209 203 210 209 203 211 210 204 212 210 204 38 39 40 20 22 23 -0 0 0 21 23 24 26 27 26 213 213 206 211 210 204 210 209 203 -210 209 203 210 209 203 225 224 217 75 76 76 17 19 21 0 0 0 -0 0 0 0 0 0 0 0 0 16 18 19 51 52 52 208 207 200 -212 211 205 210 209 203 210 209 203 210 209 203 210 209 203 217 215 209 -178 178 173 26 28 30 20 22 23 24 26 27 14 16 17 97 97 95 -223 222 215 210 209 203 210 209 203 210 209 203 212 211 205 208 207 200 -1 3 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 23 25 26 17 19 21 51 52 52 -199 199 193 219 218 211 210 209 203 210 209 203 210 209 203 210 209 203 -210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 -210 209 203 210 209 203 210 209 203 210 209 203 212 211 205 224 222 216 -139 140 136 26 28 30 19 21 22 0 0 0 0 0 0 0 0 0 -18 20 22 43 44 44 201 200 194 213 212 206 210 209 203 210 209 203 -210 209 203 210 209 203 224 222 216 85 86 85 15 17 19 23 25 26 -0 0 0 0 0 0 0 0 0 0 0 0 19 21 22 35 37 38 -216 215 208 212 211 205 210 209 203 210 209 203 210 209 203 211 210 204 -219 218 211 85 86 85 15 17 18 23 25 26 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 23 25 27 14 20 27 70 55 22 -252 154 1 248 161 3 244 158 4 243 157 2 242 153 2 242 153 2 -242 153 2 242 153 2 242 153 2 242 153 2 242 153 2 242 153 2 -242 153 2 242 153 2 242 153 2 242 153 2 242 153 2 242 153 2 -246 155 2 243 157 2 254 162 1 243 153 2 153 108 13 18 22 27 -17 22 27 23 25 27 24 26 27 24 26 27 24 26 27 24 26 27 -22 25 27 14 22 27 29 29 28 70 55 22 70 55 22 26 27 26 -12 18 27 22 25 27 24 26 27 24 26 27 24 26 27 24 26 27 -23 25 27 14 20 27 21 23 27 178 116 9 252 154 1 254 162 1 -243 157 2 244 155 3 242 153 2 242 153 2 242 153 2 242 153 2 -242 153 2 242 153 2 242 153 2 242 153 2 242 153 2 242 153 2 -242 153 2 242 153 2 244 155 3 243 157 2 242 147 2 242 147 2 -246 155 2 238 145 2 58 46 23 14 22 27 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 21 23 24 30 32 32 188 188 182 -214 213 207 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 -210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 -210 209 203 210 209 203 210 209 203 219 218 211 85 86 85 15 17 19 -0 0 0 0 0 0 0 0 0 13 15 16 51 52 52 194 194 188 -226 224 218 214 213 207 210 209 203 210 209 203 210 209 203 210 209 203 -210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 -216 215 208 227 226 219 186 185 180 26 28 30 17 19 21 23 25 26 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 13 15 17 38 39 40 155 156 152 -236 234 227 219 218 211 212 211 205 210 209 203 210 209 203 210 209 203 -210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 -210 209 203 211 210 204 217 215 209 223 222 215 43 44 44 20 22 23 -0 0 0 21 23 24 26 27 26 213 213 206 211 210 204 210 209 203 -210 209 203 210 209 203 227 226 219 75 76 76 16 18 19 0 0 0 -0 0 0 0 0 0 0 0 0 23 25 26 14 16 17 100 100 100 -228 227 220 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 -219 218 211 139 140 136 5 8 10 23 25 26 14 16 17 97 97 95 -223 222 215 210 209 203 210 209 203 210 209 203 212 211 205 208 207 200 -4 6 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 23 25 26 14 16 18 -30 32 33 167 167 162 228 227 220 218 216 210 212 210 204 210 209 203 -210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 -210 209 203 210 209 203 213 212 206 223 222 215 218 216 210 115 115 113 -10 13 14 20 22 23 0 0 0 0 0 0 0 0 0 23 25 26 -8 10 12 155 156 152 221 219 213 210 209 203 210 209 203 210 209 203 -210 209 203 215 214 208 191 190 185 8 10 12 22 24 25 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 10 12 -123 124 122 220 219 212 210 209 203 210 209 203 210 209 203 210 209 203 -217 215 209 191 190 185 29 29 28 20 22 24 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 23 25 27 10 17 28 -86 62 19 242 153 2 251 162 2 244 155 3 244 155 3 244 155 3 -244 155 3 244 155 3 244 155 3 244 155 3 244 155 3 244 155 3 -244 155 3 244 155 3 244 155 3 244 155 3 244 155 3 244 155 3 -244 155 3 244 155 3 244 155 3 246 155 2 254 162 1 228 138 5 -26 27 26 16 21 27 23 25 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 18 24 27 18 24 27 17 21 27 21 23 27 -23 25 27 24 26 27 24 26 27 24 26 27 24 26 27 23 25 27 -12 18 27 58 46 23 228 138 5 254 162 1 244 158 4 244 155 3 -244 155 3 244 155 3 244 155 3 244 155 3 244 155 3 244 155 3 -244 155 3 244 155 3 244 155 3 244 155 3 244 155 3 244 155 3 -244 155 3 244 155 3 244 155 3 244 155 3 244 155 3 254 162 1 -238 145 2 70 55 22 9 20 28 23 25 27 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 21 23 24 31 33 34 204 202 197 -236 234 227 227 226 219 228 227 220 228 227 220 228 227 220 228 227 220 -228 227 220 228 227 220 228 227 220 228 227 220 228 227 220 228 227 220 -228 227 220 228 227 220 228 227 220 236 234 227 85 86 85 17 19 21 -0 0 0 0 0 0 0 0 0 0 0 0 18 20 22 8 10 12 -115 115 113 189 188 183 226 224 218 222 220 214 217 216 210 215 214 208 -215 214 208 215 214 208 216 215 208 219 218 211 224 222 216 224 222 216 -178 178 173 85 86 85 5 8 10 19 21 23 23 25 26 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 19 21 23 1 3 5 -63 65 64 139 140 136 212 211 205 227 226 219 221 219 213 217 215 209 -215 214 208 215 214 208 215 214 208 215 214 208 217 216 210 220 219 212 -226 224 218 220 219 212 178 178 173 104 105 103 26 28 30 22 24 25 -0 0 0 21 23 24 29 29 28 228 227 220 228 227 220 228 227 220 -228 227 220 228 227 220 236 234 227 85 86 85 16 18 19 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 23 25 26 1 3 5 -167 167 162 228 227 220 228 227 220 228 227 220 228 227 220 228 227 220 -228 227 220 236 234 227 115 115 113 14 16 17 14 16 17 104 105 103 -236 234 227 228 227 220 228 227 220 228 227 220 228 227 220 224 222 216 -4 6 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -20 22 23 5 8 10 51 52 52 167 167 162 211 210 204 226 224 218 -219 218 211 217 215 209 215 214 208 215 214 208 215 214 208 217 215 209 -222 220 214 226 224 218 199 199 193 115 115 113 26 28 30 9 12 13 -23 25 26 0 0 0 0 0 0 0 0 0 0 0 0 14 16 18 -108 109 107 236 234 227 228 227 220 228 227 220 228 227 220 228 227 220 -228 227 220 226 224 218 63 65 64 17 19 21 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 20 22 24 -31 33 34 201 200 194 236 234 227 227 226 219 228 227 220 228 227 220 -228 227 220 236 234 227 167 167 162 9 12 13 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 25 27 -18 22 27 86 62 19 198 140 8 254 162 1 248 161 3 244 157 4 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 179 91 1 239 123 2 239 123 2 +239 123 2 239 123 2 239 123 2 239 123 2 239 123 2 239 123 2 +36 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 12 0 +161 88 1 239 123 2 239 123 2 239 123 2 239 123 2 239 123 2 +239 123 2 239 123 2 239 123 2 239 123 2 239 123 2 216 117 2 +70 36 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +161 88 1 239 123 2 239 123 2 239 123 2 239 123 2 239 123 2 +239 123 2 239 123 2 239 123 2 53 25 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 169 90 1 239 125 2 239 125 2 +239 125 2 239 125 2 239 125 2 239 125 2 239 125 2 239 125 2 +48 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 70 36 0 192 97 1 239 125 2 239 125 2 239 125 2 +239 125 2 239 125 2 239 125 2 216 117 2 113 64 1 10 6 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +179 91 1 239 125 2 239 125 2 239 125 2 239 125 2 239 125 2 +239 125 2 239 125 2 239 125 2 43 21 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 158 78 1 239 125 2 239 125 2 +239 125 2 239 125 2 239 125 2 239 125 2 239 125 2 239 125 2 +57 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 43 21 0 83 40 0 110 51 0 +113 64 1 101 51 0 61 28 0 8 5 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +192 97 1 239 125 2 239 125 2 239 125 2 239 125 2 239 125 2 +239 125 2 239 125 2 239 125 2 26 13 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +34 34 34 119 119 119 153 153 153 204 204 204 204 204 204 153 153 153 +119 119 119 34 34 34 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 51 51 51 136 136 136 +170 170 170 204 204 204 204 204 204 136 136 136 102 102 102 17 17 17 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 147 76 1 239 126 2 239 126 2 +239 126 2 239 126 2 239 126 2 239 126 2 239 126 2 239 126 2 +79 40 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +216 117 2 239 126 2 239 126 2 239 126 2 239 126 2 239 126 2 +239 126 2 239 126 2 236 120 1 15 8 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +170 170 170 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 238 238 238 +255 255 255 255 255 255 255 255 255 255 255 255 204 204 204 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 17 17 17 153 153 153 238 238 238 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 238 238 238 85 85 85 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +170 170 170 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 119 119 119 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 85 85 85 +0 0 0 0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 170 170 170 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 51 51 51 187 187 187 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +221 221 221 119 119 119 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 153 153 153 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +68 68 68 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 34 34 34 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 187 187 187 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 161 88 1 239 128 2 239 128 2 +239 128 2 239 128 2 239 128 2 239 128 2 239 128 2 239 128 2 +79 40 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +216 117 2 239 128 2 239 128 2 239 128 2 239 128 2 239 128 2 +239 128 2 239 128 2 239 128 2 26 13 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +170 170 170 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 238 238 238 +255 255 255 255 255 255 255 255 255 255 255 255 204 204 204 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 102 102 102 238 238 238 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 204 204 204 17 17 17 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +170 170 170 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 85 85 85 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 85 85 85 0 0 0 +0 0 0 0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 170 170 170 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 17 17 17 +187 187 187 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 238 238 238 51 51 51 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +221 221 221 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +221 221 221 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 204 204 204 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 238 238 238 17 17 17 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 216 117 2 240 130 2 240 130 2 +240 130 2 206 109 2 147 76 1 98 43 0 63 34 1 43 21 0 +8 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +27 17 0 48 27 0 79 40 0 113 64 1 192 97 1 228 121 1 +240 130 2 240 130 2 240 130 2 63 34 1 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +170 170 170 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 238 238 238 +255 255 255 255 255 255 255 255 255 255 255 255 204 204 204 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 187 187 187 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 238 238 238 +34 34 34 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +170 170 170 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 85 85 85 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 102 102 102 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 170 170 170 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 34 34 34 221 221 221 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 102 102 102 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +34 34 34 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 153 153 153 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 102 102 102 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 85 85 85 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 86 43 0 240 131 2 179 91 1 102 58 1 +43 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 12 0 +72 43 1 147 76 1 240 130 2 206 109 2 6 4 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +170 170 170 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 238 238 238 +255 255 255 255 255 255 255 255 255 255 255 255 204 204 204 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +187 187 187 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +221 221 221 17 17 17 0 0 0 0 0 0 0 0 0 0 0 0 +170 170 170 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +34 34 34 238 238 238 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 119 119 119 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 170 170 170 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 17 17 17 221 221 221 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 85 85 85 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 136 136 136 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 34 34 34 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 17 17 17 238 238 238 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 170 170 170 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 6 4 0 101 51 0 70 36 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 31 17 0 127 63 1 31 17 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +170 170 170 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 238 238 238 +255 255 255 255 255 255 255 255 255 255 255 255 204 204 204 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 153 153 153 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 221 221 221 204 204 204 204 204 204 221 221 221 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 187 187 187 0 0 0 0 0 0 0 0 0 0 0 0 +170 170 170 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 34 34 34 +238 238 238 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 119 119 119 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 170 170 170 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 204 204 204 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 238 238 238 +204 204 204 204 204 204 204 204 204 221 221 221 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 238 238 238 +34 34 34 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 204 204 204 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 221 221 221 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 221 221 221 17 17 17 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 42 29 1 99 64 1 137 86 2 157 99 2 +181 110 2 189 109 2 189 109 2 181 110 2 169 90 1 140 77 1 +102 58 1 48 27 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 22 12 0 91 58 1 +127 80 2 157 99 2 181 110 2 189 109 2 189 109 2 189 109 2 +169 90 1 147 76 1 113 64 1 70 36 0 1 1 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +170 170 170 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 238 238 238 +255 255 255 255 255 255 255 255 255 255 255 255 204 204 204 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 51 51 51 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +136 136 136 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +34 34 34 204 204 204 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 68 68 68 0 0 0 0 0 0 0 0 0 +170 170 170 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +0 0 0 0 0 0 0 0 0 0 0 0 17 17 17 221 221 221 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +119 119 119 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 102 102 102 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 238 238 238 85 85 85 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 34 34 34 204 204 204 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +187 187 187 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 34 34 34 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 136 136 136 0 0 0 0 0 0 +0 0 0 51 51 51 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 85 85 85 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 42 29 1 +127 80 2 187 127 3 243 152 3 243 150 3 242 147 3 242 146 3 +242 144 3 241 141 3 241 140 3 241 137 2 241 135 2 240 134 2 +240 131 2 240 130 2 206 109 2 140 77 1 48 27 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 10 6 0 101 70 1 172 112 3 229 147 3 243 151 3 +242 148 3 242 146 3 242 144 3 242 142 3 241 140 3 241 138 2 +241 136 2 240 134 2 240 132 2 240 130 2 216 117 2 158 78 1 +79 40 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +170 170 170 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 238 238 238 +255 255 255 255 255 255 255 255 255 255 255 255 204 204 204 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 204 204 204 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 238 238 238 51 51 51 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 255 255 255 +221 221 221 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0 +170 170 170 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +0 0 0 0 0 0 0 0 0 17 17 17 204 204 204 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 119 119 119 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 221 221 221 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 221 221 221 17 17 17 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +170 170 170 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 51 51 51 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 119 119 119 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 34 34 34 0 0 0 +0 0 0 221 221 221 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 170 170 170 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 51 34 1 159 105 3 244 157 4 +244 155 4 243 153 3 243 152 3 243 150 3 242 147 3 242 146 3 +242 144 3 241 141 3 241 140 3 241 137 2 241 135 2 240 134 2 +240 131 2 240 130 2 239 128 2 239 126 2 239 124 2 169 90 1 +61 28 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 18 12 0 +137 86 2 229 147 3 244 156 4 243 154 3 243 152 3 243 151 3 +242 148 3 242 146 3 242 144 3 242 142 3 241 140 3 241 138 2 +241 136 2 240 134 2 240 132 2 240 130 2 240 128 2 239 126 2 +239 124 2 192 97 1 101 51 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +170 170 170 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 238 238 238 +255 255 255 255 255 255 255 255 255 255 255 255 204 204 204 0 0 0 +0 0 0 0 0 0 0 0 0 51 51 51 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 85 85 85 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 221 221 221 221 221 221 68 68 68 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +170 170 170 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +0 0 0 0 0 0 0 0 0 204 204 204 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 119 119 119 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 85 85 85 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 34 34 34 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 204 204 204 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 187 187 187 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 204 204 204 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 204 204 204 0 0 0 +136 136 136 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +221 221 221 17 17 17 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 4 2 0 145 97 2 244 161 4 244 159 4 244 157 4 +244 155 4 243 153 3 243 152 3 243 150 3 242 147 3 242 146 3 +242 144 3 241 141 3 241 140 3 241 137 2 241 135 2 240 134 2 +240 131 2 240 130 2 239 128 2 239 126 2 239 124 2 239 121 1 +238 119 1 147 76 1 22 12 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 101 70 1 229 147 3 +244 160 4 244 158 4 244 156 4 243 154 3 243 152 3 243 151 3 +242 148 3 242 146 3 242 144 3 242 142 3 241 140 3 241 138 2 +241 136 2 240 134 2 240 132 2 240 130 2 240 128 2 239 126 2 +239 124 2 239 122 1 238 120 1 190 88 0 57 27 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +170 170 170 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 238 238 238 +255 255 255 255 255 255 255 255 255 255 255 255 204 204 204 0 0 0 +0 0 0 0 0 0 0 0 0 153 153 153 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 187 187 187 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +170 170 170 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 136 136 136 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 187 187 187 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 153 153 153 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 34 34 34 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 238 238 238 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 34 34 34 238 238 238 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 136 136 136 +238 238 238 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +68 68 68 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +54 36 1 213 144 3 245 162 4 244 161 4 244 159 4 244 157 4 +244 155 4 243 153 3 243 152 3 243 150 3 242 147 3 242 146 3 +242 144 3 241 141 3 241 140 3 241 137 2 241 135 2 240 134 2 +240 131 2 240 130 2 239 128 2 239 126 2 239 124 2 239 121 1 +238 119 1 238 117 1 227 107 1 75 35 0 0 0 0 0 0 0 +0 0 0 0 0 0 18 12 0 172 112 3 245 163 4 244 161 4 +244 160 4 244 158 4 244 156 4 243 154 3 243 152 3 243 151 3 +242 148 3 242 146 3 242 144 3 242 142 3 241 140 3 241 138 2 +241 136 2 240 134 2 240 132 2 240 130 2 240 128 2 239 126 2 +239 124 2 239 122 1 238 120 1 238 117 1 238 116 1 127 63 1 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +170 170 170 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 238 238 238 +255 255 255 255 255 255 255 255 255 255 255 255 204 204 204 0 0 0 +0 0 0 0 0 0 0 0 0 221 221 221 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 51 51 51 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +170 170 170 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +0 0 0 170 170 170 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 136 136 136 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 221 221 221 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 34 34 34 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 204 204 204 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 68 68 68 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 119 119 119 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 170 170 170 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 99 64 1 +245 166 4 245 164 4 245 162 4 244 161 4 244 159 4 244 157 4 +244 155 4 243 153 3 243 152 3 243 150 3 242 147 3 242 146 3 +242 144 3 241 141 3 241 140 3 241 137 2 241 135 2 240 134 2 +240 131 2 240 130 2 239 128 2 239 126 2 239 124 2 239 121 1 +238 119 1 238 117 1 238 115 1 237 113 1 118 52 0 0 0 0 +0 0 0 42 29 1 222 154 4 245 165 4 245 163 4 244 161 4 +244 160 4 244 158 4 244 156 4 243 154 3 243 152 3 243 151 3 +242 148 3 242 146 3 242 144 3 242 142 3 241 140 3 241 138 2 +241 136 2 240 134 2 240 132 2 240 130 2 240 128 2 239 126 2 +239 124 2 239 122 1 238 120 1 238 117 1 238 116 1 237 114 1 +158 78 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +170 170 170 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 238 238 238 +255 255 255 255 255 255 255 255 255 255 255 255 204 204 204 0 0 0 +0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 221 221 221 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +170 170 170 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +119 119 119 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 153 153 153 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +221 221 221 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 119 119 119 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 136 136 136 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +204 204 204 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 221 221 221 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 116 76 1 246 168 4 +245 166 4 245 164 4 245 162 4 244 161 4 244 159 4 244 157 4 +244 155 4 243 153 3 243 152 3 243 150 3 242 147 3 242 146 3 +242 144 3 241 141 3 241 140 3 241 137 2 241 135 2 240 134 2 +240 131 2 240 130 2 239 128 2 239 126 2 239 124 2 239 121 1 +238 119 1 238 117 1 238 115 1 237 113 1 237 111 1 98 43 0 +48 27 0 242 175 4 245 167 4 245 165 4 245 163 4 244 161 4 +244 160 4 244 158 4 244 156 4 243 154 3 243 152 3 243 151 3 +242 148 3 242 146 3 242 144 3 242 142 3 241 140 3 241 138 2 +241 136 2 240 134 2 240 132 2 240 130 2 240 128 2 239 126 2 +239 124 2 239 122 1 238 120 1 238 117 1 238 116 1 237 114 1 +237 111 1 183 82 0 3 2 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +170 170 170 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 238 238 238 +255 255 255 255 255 255 255 255 255 255 255 255 204 204 204 0 0 0 +0 0 0 0 0 0 68 68 68 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 170 170 170 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +170 170 170 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +170 170 170 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +68 68 68 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +170 170 170 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 68 68 68 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 170 170 170 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +34 34 34 238 238 238 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 68 68 68 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 101 70 1 246 169 4 246 168 4 +245 166 4 245 164 4 245 162 4 244 161 4 244 159 4 244 157 4 +244 155 4 243 153 3 243 152 3 243 150 3 242 147 3 242 146 3 +242 144 3 241 141 3 241 140 3 241 137 2 241 135 2 240 134 2 +240 131 2 240 130 2 239 128 2 239 126 2 239 124 2 239 121 1 +238 119 1 238 117 1 238 115 1 237 114 1 235 99 0 238 118 2 +246 172 5 247 172 4 245 167 4 245 165 4 245 163 4 244 161 4 +244 160 4 244 158 4 244 156 4 243 154 3 243 152 3 243 151 3 +242 148 3 242 146 3 242 144 3 242 142 3 241 140 3 241 138 2 +241 136 2 240 134 2 240 132 2 240 130 2 240 128 2 239 126 2 +239 124 2 239 122 1 238 120 1 238 117 1 238 116 1 237 114 1 +237 111 1 237 110 1 183 82 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +170 170 170 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 238 238 238 +255 255 255 255 255 255 255 255 255 255 255 255 204 204 204 0 0 0 +0 0 0 0 0 0 102 102 102 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 136 136 136 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +170 170 170 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +34 34 34 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 238 238 238 238 238 238 238 238 238 +238 238 238 238 238 238 238 238 238 238 238 238 238 238 238 238 238 238 +238 238 238 238 238 238 187 187 187 0 0 0 0 0 0 0 0 0 +102 102 102 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +119 119 119 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 204 204 204 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 102 102 102 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 153 153 153 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 73 49 1 246 172 5 246 169 4 246 168 4 +245 166 4 245 164 4 245 162 4 244 161 4 244 159 4 244 157 4 +244 155 4 243 153 3 243 152 3 243 150 3 242 147 3 242 146 3 +242 144 3 241 141 3 241 140 3 241 137 2 241 135 2 240 134 2 +240 131 2 240 130 2 239 128 2 239 126 2 239 124 2 239 121 1 +238 119 1 238 117 1 238 116 1 236 104 0 237 110 1 247 174 5 +248 181 5 246 166 4 245 167 4 245 165 4 245 163 4 244 161 4 +244 160 4 244 158 4 244 156 4 243 154 3 243 152 3 243 151 3 +242 148 3 242 146 3 242 144 3 242 142 3 241 140 3 241 138 2 +241 136 2 240 134 2 240 132 2 240 130 2 240 128 2 239 126 2 +239 124 2 239 122 1 238 120 1 238 117 1 238 116 1 237 114 1 +237 111 1 237 110 1 237 108 1 159 68 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +170 170 170 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 238 238 238 +255 255 255 255 255 255 255 255 255 255 255 255 204 204 204 0 0 0 +0 0 0 0 0 0 119 119 119 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 119 119 119 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +170 170 170 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +204 204 204 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 204 204 204 0 0 0 0 0 0 0 0 0 +119 119 119 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +119 119 119 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 204 204 204 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 221 221 221 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 221 221 221 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 13 8 0 246 173 5 246 171 5 246 169 4 246 168 4 +245 166 4 245 164 4 245 162 4 244 161 4 244 159 4 244 157 4 +244 155 4 243 153 3 243 152 3 243 150 3 242 147 3 242 146 3 +237 141 2 212 134 3 216 117 2 227 136 3 241 135 2 240 134 2 +240 131 2 240 130 2 239 128 2 239 126 2 239 124 2 239 121 1 +238 119 1 238 117 1 238 112 1 236 103 0 245 161 5 249 189 6 +246 169 5 246 168 4 245 167 4 245 165 4 245 163 4 244 161 4 +244 160 4 244 158 4 244 156 4 243 154 3 243 152 3 243 151 3 +242 148 3 242 146 3 242 144 3 212 134 3 216 117 2 228 121 1 +241 136 2 240 134 2 240 132 2 240 130 2 240 128 2 239 126 2 +239 124 2 239 122 1 238 120 1 238 117 1 238 116 1 237 114 1 +237 111 1 237 110 1 237 108 1 236 105 1 98 43 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +170 170 170 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 238 238 238 +255 255 255 255 255 255 255 255 255 255 255 255 204 204 204 0 0 0 +0 0 0 0 0 0 119 119 119 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 119 119 119 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +170 170 170 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 170 170 170 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 204 204 204 0 0 0 0 0 0 0 0 0 +119 119 119 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +119 119 119 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 238 238 238 255 255 255 255 255 255 +255 255 255 255 255 255 204 204 204 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 119 119 119 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 102 102 102 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 187 127 3 246 173 5 246 171 5 246 169 4 246 168 4 +245 166 4 245 164 4 245 162 4 244 161 4 244 159 4 244 157 4 +244 155 4 243 153 3 243 152 3 185 119 2 122 79 2 72 43 1 +22 12 0 1 1 0 0 0 0 13 8 0 63 34 1 113 64 1 +179 91 1 240 130 2 239 128 2 239 126 2 239 124 2 239 121 1 +238 119 1 238 118 1 235 101 0 242 139 3 249 189 6 246 172 5 +246 170 5 246 168 4 245 167 4 245 165 4 245 163 4 244 161 4 +244 160 4 244 158 4 244 156 4 243 154 3 243 152 3 212 134 3 +137 86 2 81 53 1 31 17 0 4 2 0 0 0 0 8 5 0 +48 27 0 102 58 1 161 88 1 239 128 2 240 128 2 239 126 2 +239 124 2 239 122 1 238 120 1 238 117 1 238 116 1 237 114 1 +237 111 1 237 110 1 237 108 1 236 105 1 236 102 0 26 13 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +170 170 170 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 238 238 238 +255 255 255 255 255 255 255 255 255 255 255 255 204 204 204 0 0 0 +0 0 0 0 0 0 119 119 119 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 136 136 136 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +170 170 170 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 119 119 119 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 204 204 204 0 0 0 0 0 0 0 0 0 +119 119 119 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +119 119 119 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 204 204 204 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +34 34 34 238 238 238 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 238 238 238 17 17 17 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +73 49 1 247 175 5 246 173 5 246 171 5 246 169 4 246 168 4 +245 166 4 245 164 4 245 162 4 244 161 4 244 159 4 244 157 4 +244 155 4 187 127 3 73 49 1 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 63 34 1 169 90 1 239 126 2 239 124 2 239 121 1 +238 119 1 237 111 1 239 118 1 247 177 5 248 181 5 246 172 5 +246 170 5 246 168 4 245 167 4 245 165 4 245 163 4 244 161 4 +244 160 4 244 158 4 244 156 4 229 147 3 113 64 1 1 1 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 31 17 0 147 76 1 239 126 2 +239 124 2 239 122 1 238 120 1 238 117 1 238 116 1 237 114 1 +237 111 1 237 110 1 237 108 1 236 105 1 236 103 0 173 76 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +170 170 170 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 238 238 238 +255 255 255 255 255 255 255 255 255 255 255 255 204 204 204 0 0 0 +0 0 0 0 0 0 68 68 68 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 170 170 170 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +170 170 170 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 187 187 187 221 221 221 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 238 238 238 34 34 34 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 204 204 204 0 0 0 0 0 0 0 0 0 +68 68 68 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +153 153 153 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 34 34 34 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 187 187 187 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +204 204 204 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 187 187 187 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +222 154 4 247 175 5 246 173 5 246 171 5 246 169 4 246 168 4 +245 166 4 245 164 4 245 162 4 244 161 4 244 159 4 244 157 4 +137 86 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 102 58 1 239 124 2 239 121 1 +238 120 1 236 104 0 244 150 3 249 189 6 246 173 5 246 172 5 +246 170 5 246 168 4 245 167 4 245 165 4 245 163 4 244 161 4 +244 160 4 244 158 4 181 110 2 22 12 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 70 36 0 +216 117 2 239 122 1 238 120 1 238 117 1 238 116 1 237 114 1 +237 111 1 237 110 1 237 108 1 236 105 1 236 103 0 236 101 0 +53 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +170 170 170 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 238 238 238 +255 255 255 255 255 255 255 255 255 255 255 255 204 204 204 0 0 0 +0 0 0 0 0 0 17 17 17 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 221 221 221 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +170 170 170 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +204 204 204 0 0 0 34 34 34 238 238 238 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 221 221 221 17 17 17 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 51 51 51 51 51 51 51 51 51 +51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 +51 51 51 51 51 51 34 34 34 0 0 0 0 0 0 0 0 0 +34 34 34 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +187 187 187 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 102 102 102 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 170 170 170 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 102 102 102 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 102 102 102 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 73 49 1 +247 177 5 247 175 5 246 173 5 246 171 5 246 169 4 246 168 4 +245 166 4 245 164 4 245 162 4 244 161 4 244 159 4 99 64 1 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 79 40 0 239 121 1 +237 113 1 239 121 1 247 180 5 248 181 5 247 174 5 246 172 5 +246 170 5 246 168 4 245 167 4 245 165 4 245 163 4 244 161 4 +244 160 4 159 105 3 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +27 17 0 216 117 2 238 120 1 238 117 1 238 116 1 237 114 1 +237 111 1 237 110 1 237 108 1 236 105 1 236 103 0 236 101 0 +173 76 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +170 170 170 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 238 238 238 +255 255 255 255 255 255 255 255 255 255 255 255 204 204 204 0 0 0 +0 0 0 0 0 0 0 0 0 221 221 221 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 34 34 34 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +170 170 170 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +0 0 0 0 0 0 0 0 0 85 85 85 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 204 204 204 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 238 238 238 255 255 255 255 255 255 255 255 255 255 255 255 +238 238 238 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 102 102 102 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 17 17 17 238 238 238 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 170 170 170 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 238 238 238 +17 17 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 159 114 3 +247 177 5 247 175 5 246 173 5 246 171 5 246 169 4 246 168 4 +245 166 4 245 164 4 245 162 4 244 160 4 116 76 1 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 86 43 0 +236 108 0 242 146 3 249 189 6 247 175 5 247 174 5 246 172 5 +246 170 5 246 168 4 245 167 4 245 165 4 245 163 4 244 161 4 +185 119 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 31 17 0 236 120 1 238 117 1 238 116 1 237 114 1 +237 111 1 237 110 1 237 108 1 236 105 1 236 103 0 236 101 0 +231 95 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +136 136 136 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +85 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 34 34 34 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 170 170 170 0 0 0 +0 0 0 0 0 0 0 0 0 187 187 187 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 153 153 153 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +170 170 170 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +0 0 0 0 0 0 0 0 0 0 0 0 170 170 170 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 119 119 119 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 204 204 204 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 119 119 119 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 238 238 238 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 17 17 17 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 187 187 187 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 187 187 187 0 0 0 +221 221 221 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +187 187 187 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 234 169 5 +247 177 5 247 175 5 246 173 5 246 171 5 246 169 4 246 168 4 +245 166 4 245 164 4 245 162 4 159 105 3 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +147 68 0 244 158 4 249 189 6 247 175 5 247 174 5 246 172 5 +246 170 5 246 168 4 245 167 4 245 165 4 245 163 4 241 157 3 +6 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 57 27 0 230 112 1 238 117 1 237 114 1 +237 111 1 237 110 1 237 108 1 236 105 1 236 103 0 236 101 0 +231 95 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +102 102 102 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +153 153 153 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 136 136 136 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 136 136 136 0 0 0 +0 0 0 0 0 0 0 0 0 85 85 85 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 238 238 238 34 34 34 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 153 153 153 85 85 85 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +170 170 170 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 204 204 204 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +85 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 136 136 136 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 221 221 221 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 136 136 136 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 204 204 204 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 102 102 102 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 34 34 34 0 0 0 +51 51 51 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 102 102 102 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 242 175 4 +247 176 5 247 175 5 246 173 5 246 171 5 246 169 4 246 168 4 +245 166 4 245 165 4 245 163 4 62 42 1 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +8 5 0 239 150 3 249 189 6 247 175 5 247 174 5 246 172 5 +246 170 5 246 168 4 245 167 4 245 164 4 245 164 4 99 64 1 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 4 2 0 192 97 1 237 112 1 237 114 1 +237 111 1 237 110 1 237 108 1 236 105 1 236 103 0 236 101 0 +220 97 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +17 17 17 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 34 34 34 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 17 17 17 238 238 238 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 51 51 51 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 221 221 221 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 204 204 204 17 17 17 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 85 85 85 255 255 255 255 255 255 238 238 238 +119 119 119 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +170 170 170 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 17 17 17 +238 238 238 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +238 238 238 34 34 34 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 17 17 17 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 170 170 170 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +85 85 85 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 119 119 119 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 17 17 17 238 238 238 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 136 136 136 0 0 0 0 0 0 +0 0 0 170 170 170 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 238 238 238 17 17 17 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 187 127 3 +247 180 5 247 175 5 246 173 5 246 171 5 246 169 4 246 168 4 +245 166 4 245 167 4 244 159 4 241 145 3 203 125 2 137 86 2 +91 58 1 42 29 1 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 127 80 2 249 189 6 247 175 5 247 174 5 246 172 5 +246 170 5 246 168 4 245 167 4 245 167 4 240 155 3 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 26 13 0 72 43 1 +122 79 2 172 112 3 241 157 3 237 141 2 237 111 1 237 113 1 +237 111 1 237 110 1 237 108 1 236 105 1 236 103 0 236 101 0 +231 95 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 204 204 204 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 221 221 221 17 17 17 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 17 17 17 204 204 204 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 221 221 221 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 102 102 102 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 221 221 221 +17 17 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 119 119 119 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 238 238 238 68 68 68 0 0 0 0 0 0 0 0 0 +170 170 170 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +85 85 85 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 204 204 204 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 187 187 187 17 17 17 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 102 102 102 +238 238 238 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +238 238 238 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 238 238 238 0 0 0 0 0 0 0 0 0 +0 0 0 17 17 17 238 238 238 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 170 170 170 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 99 64 1 +248 181 5 247 176 5 246 173 5 246 171 5 246 169 4 246 168 4 +245 167 4 245 166 4 243 154 3 243 150 3 243 152 3 243 152 3 +243 152 3 243 152 3 212 134 3 157 99 2 91 58 1 42 29 1 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 27 17 0 247 177 5 247 180 5 247 174 5 246 172 5 +246 170 5 246 168 4 245 167 4 246 171 4 113 64 1 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +22 12 0 72 43 1 122 79 2 203 125 2 239 150 3 243 152 3 +243 152 3 243 152 3 243 153 3 244 159 4 240 124 2 236 104 0 +237 112 1 237 110 1 237 108 1 236 105 1 236 104 0 231 95 0 +204 100 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 204 204 204 204 204 204 204 204 204 204 204 204 +204 204 204 204 204 204 204 204 204 204 204 204 204 204 204 204 204 204 +204 204 204 204 204 204 204 204 204 51 51 51 0 0 0 0 0 0 +0 0 0 102 102 102 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 170 170 170 68 68 68 51 51 51 +51 51 51 153 153 153 238 238 238 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 136 136 136 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 204 204 204 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 187 187 187 85 85 85 51 51 51 51 51 51 119 119 119 +221 221 221 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 238 238 238 17 17 17 0 0 0 0 0 0 0 0 0 +170 170 170 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 136 136 136 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 170 170 170 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 17 17 17 238 238 238 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 238 238 238 153 153 153 +68 68 68 51 51 51 51 51 51 119 119 119 221 221 221 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +102 102 102 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 85 85 85 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 102 102 102 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 102 102 102 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 85 85 85 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 8 0 +245 166 4 248 181 5 247 177 5 246 172 5 246 170 4 246 171 4 +246 169 4 244 158 4 243 150 3 243 152 3 243 152 3 243 152 3 +243 152 3 243 152 3 243 152 3 243 152 3 243 152 3 243 152 3 +212 134 3 157 99 2 91 58 1 35 23 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 81 53 1 247 180 5 247 177 5 246 173 5 +246 171 5 246 172 4 246 172 4 172 112 3 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 13 8 0 72 43 1 122 79 2 203 125 2 +239 150 3 243 152 3 243 152 3 243 152 3 243 152 3 243 152 3 +243 152 3 243 152 3 243 152 3 244 157 3 243 152 3 238 116 2 +235 101 0 236 105 1 237 105 1 235 99 0 231 95 0 237 105 1 +99 64 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 68 68 68 0 0 0 0 0 0 +0 0 0 0 0 0 204 204 204 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 221 221 221 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 17 17 17 +221 221 221 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0 +170 170 170 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 204 204 204 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 119 119 119 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 85 85 85 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 187 187 187 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 221 221 221 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 204 204 204 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 187 187 187 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 238 238 238 17 17 17 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +99 64 1 245 161 5 246 170 5 246 170 5 246 168 4 245 165 4 +244 156 4 243 151 3 243 153 3 243 154 3 243 153 3 243 153 3 +243 153 3 243 153 3 243 153 3 243 153 3 243 153 3 243 153 3 +243 153 3 243 153 3 243 153 3 243 153 3 185 119 2 72 43 1 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 51 34 1 172 112 3 222 154 4 +233 166 5 195 135 3 101 70 1 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +31 17 0 137 86 2 229 147 3 243 153 3 243 153 3 243 153 3 +243 153 3 243 153 3 243 153 3 243 153 3 243 153 3 243 153 3 +243 153 3 243 153 3 243 153 3 243 152 3 244 159 4 243 155 3 +240 129 2 237 114 1 237 109 1 237 110 1 239 124 2 212 134 3 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 68 68 68 0 0 0 0 0 0 +0 0 0 0 0 0 34 34 34 238 238 238 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 238 238 238 34 34 34 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +34 34 34 238 238 238 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +119 119 119 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +170 170 170 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 17 17 17 221 221 221 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 238 238 238 34 34 34 0 0 0 +0 0 0 0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 119 119 119 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 204 204 204 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +170 170 170 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 34 34 34 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 34 34 34 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 170 170 170 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 181 110 2 243 153 3 243 156 3 243 155 3 243 153 3 +243 153 3 243 155 3 243 155 3 243 155 3 243 155 3 243 155 3 +243 155 3 243 155 3 243 155 3 243 155 3 243 155 3 243 155 3 +243 155 3 243 155 3 243 155 3 243 155 3 243 155 3 243 155 3 +159 105 3 13 8 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 2 0 +13 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 99 64 1 +240 155 3 243 155 3 243 155 3 243 155 3 243 155 3 243 155 3 +243 155 3 243 155 3 243 155 3 243 155 3 243 155 3 243 155 3 +243 155 3 243 155 3 243 155 3 243 155 3 243 154 3 244 158 3 +244 161 3 244 156 4 243 152 3 244 157 3 245 164 4 42 29 1 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 68 68 68 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 34 34 34 238 238 238 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +238 238 238 68 68 68 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 17 17 17 221 221 221 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 102 102 102 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +170 170 170 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 68 68 68 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 221 221 221 17 17 17 +0 0 0 0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 102 102 102 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 187 187 187 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 51 51 51 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +170 170 170 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 136 136 136 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 85 85 85 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 187 127 3 244 155 4 244 155 4 244 156 4 +244 156 4 244 156 4 244 156 4 244 156 4 244 156 4 244 156 4 +244 156 4 244 156 4 244 156 4 244 156 4 244 156 4 244 156 4 +244 156 4 244 156 4 244 156 4 244 156 4 244 156 4 244 156 4 +244 156 4 212 134 3 22 12 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 137 86 2 244 156 4 +244 156 4 244 156 4 244 156 4 244 156 4 244 156 4 244 156 4 +244 156 4 244 156 4 244 156 4 244 156 4 244 156 4 244 156 4 +244 156 4 244 156 4 244 156 4 244 156 4 244 156 4 244 156 4 +244 156 4 244 158 4 245 160 4 244 158 4 62 42 1 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 68 68 68 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 17 17 17 170 170 170 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 187 187 187 +17 17 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 136 136 136 238 238 238 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 204 204 204 34 34 34 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +170 170 170 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 119 119 119 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 187 187 187 +0 0 0 0 0 0 0 0 0 170 170 170 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +17 17 17 204 204 204 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 238 238 238 68 68 68 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 221 221 221 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 238 238 238 +17 17 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 221 221 221 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 238 238 238 +17 17 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 157 99 2 244 157 4 244 157 4 244 157 4 244 157 4 244 157 4 244 157 4 244 157 4 244 157 4 244 157 4 244 157 4 244 157 4 244 157 4 244 157 4 244 157 4 -244 157 4 244 157 4 244 157 4 244 157 4 244 157 4 251 162 2 -198 140 8 35 31 25 18 23 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 17 22 27 -57 39 22 198 140 8 250 164 3 244 158 4 244 157 4 244 157 4 +244 157 4 244 157 4 244 157 4 244 157 4 244 157 4 244 157 4 +244 157 4 244 157 4 213 144 3 6 4 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 122 79 2 244 157 4 244 157 4 244 157 4 244 157 4 244 157 4 244 157 4 244 157 4 244 157 4 244 157 4 244 157 4 244 157 4 244 157 4 244 157 4 244 157 4 -244 157 4 244 157 4 244 157 4 248 161 3 254 162 1 198 140 8 -58 46 23 16 21 27 23 25 27 0 0 0 0 0 0 0 0 0 +244 157 4 244 157 4 244 157 4 244 157 4 244 157 4 244 157 4 +244 157 4 244 157 4 212 134 3 51 34 1 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 85 85 85 136 136 136 136 136 136 136 136 136 +136 136 136 136 136 136 136 136 136 136 136 136 136 136 136 136 136 136 +136 136 136 136 136 136 136 136 136 136 136 136 136 136 136 136 136 136 +136 136 136 136 136 136 136 136 136 34 34 34 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +17 17 17 136 136 136 221 221 221 238 238 238 255 255 255 255 255 255 +255 255 255 238 238 238 221 221 221 136 136 136 17 17 17 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 102 102 102 +187 187 187 238 238 238 255 255 255 255 255 255 255 255 255 238 238 238 +221 221 221 153 153 153 34 34 34 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +85 85 85 136 136 136 136 136 136 136 136 136 136 136 136 136 136 136 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 102 102 102 +136 136 136 136 136 136 136 136 136 136 136 136 136 136 136 136 136 136 +34 34 34 0 0 0 0 0 0 85 85 85 136 136 136 136 136 136 +136 136 136 136 136 136 136 136 136 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 23 25 26 22 25 27 47 48 48 -47 49 49 47 48 48 47 48 48 47 48 48 47 48 48 47 48 48 -47 48 48 47 48 48 47 48 48 47 48 48 47 48 48 47 48 48 -47 48 48 47 48 48 47 49 49 51 52 52 31 33 34 22 24 25 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 24 25 -12 14 15 30 32 32 51 52 52 115 115 113 155 156 152 178 178 173 -178 178 173 178 178 173 167 167 162 155 156 152 97 97 95 47 48 48 -21 23 24 14 16 17 23 25 26 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 17 17 17 136 136 136 221 221 221 238 238 238 +255 255 255 255 255 255 255 255 255 238 238 238 221 221 221 170 170 170 +51 51 51 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 51 51 51 136 136 136 +136 136 136 136 136 136 136 136 136 136 136 136 136 136 136 68 68 68 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -17 19 21 18 20 22 38 39 40 63 65 64 123 124 122 167 167 162 -178 178 173 178 178 173 178 178 173 178 178 173 155 156 152 139 140 136 -75 76 76 43 44 44 24 26 27 12 14 15 22 24 25 0 0 0 -0 0 0 23 25 26 23 25 26 47 49 49 47 49 49 47 48 48 -47 48 48 47 49 49 51 52 52 30 32 32 22 24 25 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 20 22 24 -30 32 32 47 49 49 47 49 49 47 48 48 47 48 48 47 48 48 -47 49 49 51 52 52 47 48 48 20 22 24 22 24 25 34 35 36 -51 52 52 47 49 49 47 48 48 47 48 48 47 49 49 47 49 49 -19 21 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 23 25 26 17 19 21 16 18 19 38 39 40 75 76 76 -139 140 136 167 167 162 178 178 173 178 178 173 178 178 173 167 167 162 -115 115 113 51 52 52 31 33 34 10 13 14 21 23 24 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 24 26 -43 44 44 51 52 52 47 49 49 47 48 48 47 48 48 47 48 48 -47 49 49 47 48 48 24 26 27 23 25 26 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 25 26 -19 21 22 38 39 40 47 49 49 47 48 48 47 48 48 47 48 48 -47 48 48 47 49 49 51 52 52 20 22 23 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 51 51 51 +136 136 136 136 136 136 136 136 136 136 136 136 136 136 136 136 136 136 +68 68 68 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -22 25 27 17 21 27 35 31 25 153 108 13 241 156 2 250 168 2 -254 162 1 250 164 3 244 158 4 244 158 4 244 158 4 244 158 4 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 72 43 1 185 119 2 244 158 4 244 158 4 244 158 4 244 158 4 244 158 4 244 158 4 244 158 4 244 158 4 244 158 4 244 158 4 244 158 4 244 158 4 -254 162 1 153 108 13 10 17 28 23 25 27 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 22 25 27 4 11 29 -178 116 9 250 168 3 248 161 3 244 158 4 244 158 4 244 158 4 244 158 4 244 158 4 244 158 4 244 158 4 244 158 4 244 158 4 -244 158 4 244 158 4 244 158 4 244 158 4 244 158 4 248 161 3 -251 162 2 254 162 1 251 178 1 238 145 2 119 81 15 43 33 24 -16 21 27 23 25 27 0 0 0 0 0 0 0 0 0 0 0 0 +244 158 4 244 158 4 244 158 4 159 105 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 23 25 26 20 22 23 -19 21 22 19 21 22 19 21 22 19 21 22 19 21 22 19 21 22 -19 21 22 19 21 22 19 21 22 19 21 22 19 21 22 19 21 22 -19 21 22 19 21 22 19 21 22 19 21 22 22 24 25 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -23 25 26 21 23 24 19 21 22 14 16 17 9 12 13 5 8 10 -5 8 10 5 8 10 8 10 12 8 10 12 13 15 16 19 21 22 -22 24 25 23 25 26 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 23 25 26 20 22 23 18 20 22 13 15 16 8 10 12 -5 8 10 5 8 10 5 8 10 5 8 10 8 10 12 9 12 13 -14 16 18 19 21 23 22 24 25 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 23 25 26 19 21 22 19 21 22 19 21 22 -19 21 22 19 21 22 19 21 22 22 24 25 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -21 23 24 19 21 22 19 21 22 19 21 22 19 21 22 19 21 22 -19 21 22 19 21 22 20 22 24 0 0 0 0 0 0 22 24 25 -19 21 22 19 21 22 19 21 22 19 21 22 19 21 22 19 21 23 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 22 25 27 20 22 23 16 18 19 -10 13 14 8 10 12 5 8 10 5 8 10 5 8 10 8 10 12 -13 15 16 20 22 23 22 24 25 23 25 26 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -21 23 24 19 21 22 19 21 22 19 21 22 19 21 22 19 21 22 -19 21 22 19 21 23 23 25 26 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -23 25 26 20 22 23 19 21 22 19 21 22 19 21 22 19 21 22 -19 21 22 19 21 22 20 22 23 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 23 25 27 20 22 26 10 17 28 20 22 26 70 55 22 -153 108 13 198 140 8 250 164 3 250 168 2 254 162 1 248 161 3 -248 161 3 244 158 4 244 158 4 244 158 4 244 158 4 244 158 4 +0 0 0 0 0 0 51 34 1 244 158 4 244 158 4 244 158 4 244 158 4 244 158 4 244 158 4 244 158 4 244 158 4 244 158 4 -248 161 3 248 161 3 86 62 19 12 18 27 23 25 27 24 26 27 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 24 26 27 23 25 27 14 22 27 108 69 17 -250 168 2 248 161 3 244 158 4 244 158 4 244 158 4 244 158 4 244 158 4 244 158 4 244 158 4 244 158 4 244 158 4 244 158 4 -244 158 4 248 161 3 251 162 2 250 168 2 250 168 2 251 162 2 -178 116 9 153 108 13 58 46 23 14 22 27 13 20 27 21 23 27 -23 25 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 23 25 27 21 23 27 18 22 27 -12 18 27 20 22 26 43 33 24 86 62 19 178 116 9 228 138 5 -239 160 4 250 168 2 250 164 3 247 162 2 247 162 2 244 158 4 244 158 4 244 158 4 244 158 4 244 158 4 244 158 4 244 158 4 -244 158 4 250 164 3 198 140 8 21 23 27 21 23 27 23 25 27 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 23 25 27 18 22 27 43 33 24 228 138 5 -245 167 3 244 158 4 244 158 4 244 158 4 244 158 4 244 158 4 -244 158 4 244 158 4 244 158 4 247 162 2 248 161 3 250 164 3 -254 162 1 241 156 2 228 138 5 153 108 13 70 55 22 46 40 24 -18 22 27 12 18 27 18 22 27 23 25 27 23 25 27 0 0 0 +213 144 3 122 79 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 @@ -3253,19 +3105,17 @@ P3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 25 27 -23 25 27 23 25 27 18 23 27 9 20 28 4 17 28 9 20 28 -58 46 23 108 69 17 153 108 13 241 156 2 247 162 2 250 168 2 -245 163 4 244 158 4 244 163 4 244 158 4 244 163 4 244 158 4 -244 163 4 248 161 3 250 168 2 119 81 15 14 20 27 23 25 27 -24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 24 26 27 22 25 27 9 20 28 153 108 13 250 168 2 -244 163 4 244 158 4 244 163 4 244 158 4 244 163 4 244 158 4 -244 163 4 250 164 3 250 168 3 241 156 2 239 160 4 153 108 13 -108 69 17 46 40 24 9 20 28 10 17 28 16 21 27 18 23 27 -22 25 27 23 25 27 23 25 27 0 0 0 0 0 0 0 0 0 +42 29 1 122 79 2 172 112 3 229 147 3 244 159 4 244 159 4 +244 159 4 244 159 4 244 159 4 244 159 4 244 159 4 244 159 4 +244 159 4 244 159 4 244 159 4 244 159 4 244 159 4 244 159 4 +244 159 4 244 159 4 244 159 4 244 159 4 72 43 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 213 144 3 244 159 4 244 159 4 244 159 4 +244 159 4 244 159 4 244 159 4 244 159 4 244 159 4 244 159 4 +244 159 4 244 159 4 244 159 4 244 159 4 244 159 4 244 159 4 +244 159 4 244 159 4 240 155 3 203 125 2 145 97 2 73 49 1 +4 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 @@ -3304,15 +3154,165 @@ P3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 22 25 27 21 24 26 -18 24 27 13 20 27 10 17 28 4 17 28 35 31 25 119 81 15 -244 163 4 250 164 3 244 163 4 245 163 4 245 163 4 245 163 4 -244 158 4 245 163 4 250 164 3 239 160 4 58 46 23 18 22 27 -23 25 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -24 26 27 23 25 27 13 20 27 86 62 19 245 163 4 247 162 2 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 8 5 0 51 34 1 127 80 2 +185 119 2 229 147 3 244 160 4 244 160 4 244 160 4 244 160 4 +244 160 4 244 160 4 244 160 4 244 160 4 244 160 4 244 160 4 +244 160 4 244 160 4 244 160 4 244 160 4 213 144 3 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 122 79 2 244 160 4 244 160 4 244 160 4 244 160 4 +244 160 4 244 160 4 244 160 4 244 160 4 244 160 4 244 160 4 +244 160 4 244 160 4 244 160 4 244 160 4 241 157 3 195 135 3 +145 97 2 81 53 1 22 12 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 8 5 0 51 34 1 101 70 1 172 112 3 229 147 3 +244 161 4 244 161 4 244 161 4 244 161 4 244 161 4 244 161 4 +244 161 4 244 161 4 244 161 4 244 161 4 244 161 4 137 86 2 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +27 17 0 244 161 4 244 161 4 244 161 4 244 161 4 244 161 4 +244 161 4 244 161 4 244 161 4 244 161 4 244 161 4 244 161 4 +242 160 3 202 135 3 128 87 2 73 49 1 27 17 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 6 0 +54 36 1 145 97 2 245 162 4 245 162 4 245 162 4 245 162 4 +245 162 4 245 162 4 245 162 4 245 162 4 245 162 4 245 162 4 +42 29 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +195 135 3 245 162 4 245 162 4 245 162 4 245 162 4 245 162 4 +245 162 4 245 162 4 245 162 4 245 162 4 213 144 3 81 53 1 +27 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 159 105 3 245 163 4 245 163 4 245 163 4 245 163 4 245 163 4 245 163 4 245 163 4 245 163 4 245 163 4 -250 164 3 228 138 5 119 81 15 26 28 30 4 11 29 4 17 28 -9 20 28 18 23 27 22 25 27 22 25 27 0 0 0 0 0 0 +195 135 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 91 58 1 +245 163 4 245 163 4 245 163 4 245 163 4 245 163 4 245 163 4 +245 163 4 245 163 4 245 163 4 244 161 4 13 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 @@ -3355,15 +3355,14 @@ P3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 23 25 27 18 22 27 4 17 28 -119 81 15 250 164 3 245 163 4 244 158 4 245 163 4 245 163 4 -245 163 4 245 163 4 245 163 4 250 168 2 178 116 9 22 25 27 -21 23 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 -23 25 27 21 23 27 20 22 26 198 140 8 250 168 3 245 163 4 -245 163 4 245 163 4 244 158 4 245 163 4 245 163 4 247 162 2 -245 167 3 86 62 19 9 20 28 18 23 27 22 25 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 8 5 0 229 155 4 245 165 4 245 165 4 +245 165 4 245 165 4 245 165 4 245 165 4 245 165 4 245 165 4 +245 165 4 99 64 1 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 8 5 0 243 164 4 +245 165 4 245 165 4 245 165 4 245 165 4 245 165 4 245 165 4 +245 165 4 245 165 4 245 165 4 91 58 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 @@ -3405,16 +3404,15 @@ P3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 23 27 -24 26 27 198 140 8 250 168 2 245 163 4 245 163 4 245 163 4 -245 163 4 245 163 4 245 163 4 245 167 3 250 168 2 86 62 19 -14 22 27 23 25 27 24 26 27 24 26 27 24 26 27 24 26 27 -23 25 27 10 17 28 108 69 17 252 181 4 250 164 3 245 163 4 -245 163 4 245 163 4 245 163 4 245 163 4 245 163 4 249 174 4 -178 116 9 22 25 27 22 25 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 91 58 1 245 165 4 245 165 4 +245 165 4 245 165 4 245 165 4 245 165 4 245 165 4 245 165 4 +245 165 4 242 160 3 15 8 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 159 114 3 245 165 4 +245 165 4 245 165 4 245 165 4 245 165 4 245 165 4 245 165 4 +245 165 4 245 165 4 195 135 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 @@ -3455,17 +3453,16 @@ P3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 25 27 -14 20 27 58 46 23 239 160 4 250 168 3 243 165 4 243 165 4 -243 165 4 243 165 4 245 167 3 245 163 4 250 168 3 249 174 4 -18 22 27 21 23 27 24 26 27 24 26 27 24 26 27 24 26 27 -17 22 27 46 40 24 250 168 2 250 168 3 243 165 4 243 165 4 -243 165 4 243 165 4 243 165 4 243 165 4 250 168 3 239 160 4 -29 29 28 17 22 27 23 25 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 187 127 3 245 166 4 +245 166 4 245 166 4 245 166 4 245 166 4 245 166 4 245 166 4 +245 166 4 245 166 4 172 112 3 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 54 36 1 245 166 4 245 166 4 +245 166 4 245 166 4 245 166 4 245 166 4 245 166 4 245 166 4 +245 166 4 245 166 4 31 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 @@ -3506,16 +3503,16 @@ P3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -22 25 27 17 22 27 119 81 15 251 178 1 245 167 3 245 167 3 -244 167 4 244 167 4 244 167 4 244 167 4 245 167 3 251 178 1 -153 108 13 12 18 27 23 25 27 24 26 27 24 26 27 22 25 27 -10 17 28 198 140 8 250 168 2 244 167 4 244 167 4 244 167 4 -244 167 4 244 167 4 244 167 4 245 167 3 250 168 3 119 81 15 -9 20 28 23 25 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 27 17 0 246 168 4 +246 168 4 246 168 4 246 168 4 246 168 4 246 168 4 246 168 4 +246 168 4 246 168 4 246 168 4 72 43 1 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 222 154 4 246 168 4 246 168 4 +246 168 4 246 168 4 246 168 4 246 168 4 246 168 4 246 168 4 +246 168 4 128 87 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 @@ -3556,16 +3553,16 @@ P3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 22 25 27 26 27 26 239 160 4 249 174 4 245 167 3 -245 167 3 245 167 3 245 167 3 245 167 3 244 167 4 250 168 3 -251 178 1 58 46 23 12 18 27 23 25 27 23 25 27 4 17 28 -108 69 17 249 174 4 245 167 3 245 167 3 244 167 4 244 167 4 -245 167 3 245 167 3 245 167 3 251 178 1 198 140 8 24 26 27 -21 23 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 128 87 2 +246 168 4 246 168 4 246 168 4 246 168 4 246 168 4 246 168 4 +246 168 4 246 168 4 246 168 4 222 154 4 0 0 0 0 0 0 +0 0 0 0 0 0 128 87 2 246 168 4 246 168 4 246 168 4 +246 168 4 246 168 4 246 168 4 246 168 4 246 168 4 246 168 4 +222 154 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 @@ -3606,16 +3603,16 @@ P3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 12 18 27 86 62 19 250 168 3 250 168 3 -245 167 3 245 167 3 245 167 3 245 167 3 245 167 3 245 167 3 -249 174 4 239 160 4 29 29 28 10 17 28 10 17 28 35 31 25 -249 174 4 250 168 3 245 167 3 245 167 3 245 167 3 245 167 3 -245 167 3 245 167 3 250 168 3 245 167 3 58 46 23 17 21 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +222 154 4 246 170 4 246 170 4 246 170 4 246 170 4 246 170 4 +246 170 4 246 170 4 246 170 4 246 170 4 195 135 3 54 36 1 +42 29 1 128 87 2 246 170 4 246 170 4 246 170 4 246 170 4 +246 170 4 246 170 4 246 170 4 246 170 4 246 170 4 246 170 4 +62 42 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 @@ -3656,16 +3653,15 @@ P3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 22 25 27 14 22 27 178 116 9 251 178 1 -245 170 5 245 170 5 250 168 3 245 170 5 245 170 5 250 168 3 -245 167 3 251 178 1 198 140 8 119 81 15 119 81 15 228 138 5 -249 174 4 245 170 5 245 170 5 245 170 5 245 170 5 250 168 3 -245 170 5 245 170 5 251 178 1 153 108 13 16 21 27 23 25 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +54 36 1 246 171 5 246 171 5 246 171 5 246 171 5 246 171 5 +246 171 5 246 171 5 246 171 5 246 171 5 246 171 5 246 171 5 +246 171 5 246 171 5 246 171 5 246 171 5 246 171 5 246 171 5 +246 171 5 246 171 5 246 171 5 246 171 5 246 171 5 159 114 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 @@ -3706,17 +3702,16 @@ P3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 16 21 27 46 40 24 244 167 4 -249 174 4 245 170 5 245 170 5 245 170 5 245 170 5 245 170 5 -245 170 5 245 170 5 252 181 4 252 181 4 252 181 4 248 180 4 -246 172 5 245 170 5 246 172 5 245 170 5 245 170 5 245 170 5 -245 170 5 249 174 4 245 170 5 12 18 27 18 22 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 159 105 3 246 171 5 246 171 5 246 171 5 246 171 5 +246 171 5 246 171 5 246 171 5 246 171 5 246 171 5 246 171 5 +246 171 5 246 171 5 246 171 5 246 171 5 246 171 5 246 171 5 +246 171 5 246 171 5 246 171 5 246 171 5 246 171 5 4 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 @@ -3756,11 +3751,6 @@ P3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 23 25 27 9 20 28 108 69 17 -252 181 4 246 172 5 246 172 5 246 172 5 246 172 5 246 172 5 -246 172 5 246 172 5 246 172 5 246 172 5 245 174 5 246 172 5 -246 172 5 246 172 5 246 172 5 246 172 5 246 172 5 246 172 5 -249 174 4 252 181 4 70 55 22 12 18 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 @@ -3768,6 +3758,10 @@ P3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 8 5 0 233 166 5 246 173 5 246 173 5 246 173 5 +246 173 5 246 173 5 246 173 5 246 173 5 246 173 5 246 173 5 +246 173 5 246 173 5 246 173 5 246 173 5 246 173 5 246 173 5 +246 173 5 246 173 5 246 173 5 246 173 5 101 70 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 @@ -3806,11 +3800,6 @@ P3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 22 25 27 4 17 28 -198 140 8 252 181 4 246 172 5 246 172 5 246 172 5 246 172 5 -246 172 5 246 172 5 246 172 5 246 172 5 246 172 5 246 172 5 -246 172 5 246 172 5 246 172 5 246 172 5 246 172 5 246 172 5 -252 181 4 153 108 13 21 23 27 23 25 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 @@ -3819,6 +3808,10 @@ P3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 81 53 1 247 174 5 247 174 5 247 174 5 +247 174 5 247 174 5 247 174 5 247 174 5 247 174 5 247 174 5 +247 174 5 247 174 5 247 174 5 247 174 5 247 174 5 247 174 5 +247 174 5 247 174 5 247 174 5 202 135 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 @@ -3856,11 +3849,6 @@ P3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16 21 27 -58 46 23 252 181 4 251 178 1 245 174 5 246 172 5 245 174 5 -246 172 5 245 174 5 246 172 5 245 174 5 246 172 5 245 174 5 -246 172 5 245 174 5 246 172 5 245 174 5 246 172 5 252 181 4 -244 172 4 46 40 24 18 22 27 23 25 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 @@ -3870,6 +3858,10 @@ P3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 159 105 3 247 175 5 247 174 5 +247 174 5 247 174 5 247 174 5 247 174 5 247 174 5 247 174 5 +247 174 5 247 174 5 247 174 5 247 174 5 247 174 5 247 174 5 +247 174 5 247 174 5 242 169 4 22 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 @@ -3906,11 +3898,6 @@ P3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 25 27 -12 18 27 86 62 19 252 181 4 252 181 4 249 174 4 245 174 5 -249 174 4 245 174 5 249 174 4 245 174 5 249 174 4 245 174 5 -249 174 4 245 174 5 249 174 4 249 174 4 252 181 4 251 178 1 -58 46 23 13 20 27 23 25 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 @@ -3921,6 +3908,10 @@ P3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 159 114 3 247 176 5 +247 176 5 247 176 5 247 176 5 247 176 5 247 176 5 247 176 5 +247 176 5 247 176 5 247 176 5 247 176 5 247 176 5 247 176 5 +247 176 5 233 166 5 42 29 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 @@ -3957,10 +3948,6 @@ P3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -22 25 27 22 25 27 86 62 19 245 174 5 252 181 4 248 180 4 -248 180 4 245 174 5 248 180 4 245 174 5 248 180 4 245 174 5 -248 180 4 245 174 5 248 180 4 250 181 3 239 160 4 86 62 19 -10 17 28 23 25 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 @@ -3971,6 +3958,10 @@ P3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 128 87 2 +247 177 5 247 177 5 247 177 5 247 177 5 247 177 5 247 177 5 +247 177 5 247 177 5 247 177 5 247 177 5 247 177 5 247 177 5 +187 127 3 35 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 @@ -4007,10 +3998,29 @@ P3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 22 25 27 13 20 27 70 55 22 198 140 8 252 181 4 -252 181 4 252 181 4 252 181 4 248 180 4 251 178 1 252 181 4 -252 181 4 252 181 4 252 181 4 198 140 8 46 40 24 14 22 27 -24 26 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +51 34 1 159 114 3 233 166 5 234 169 5 234 169 5 234 169 5 +234 169 5 234 169 5 234 169 5 234 169 5 195 135 3 99 64 1 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 @@ -4057,9 +4067,6 @@ P3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 23 25 27 14 22 27 9 20 28 86 62 19 -153 108 13 198 140 8 239 160 4 239 160 4 244 172 4 239 160 4 -198 140 8 153 108 13 70 55 22 4 17 28 18 24 27 22 25 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 @@ -4107,9 +4114,6 @@ P3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 22 25 27 14 22 27 -24 26 27 35 31 25 58 46 23 70 55 22 58 46 23 46 40 24 -30 32 32 18 24 27 14 22 27 22 25 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 @@ -4157,9 +4161,6 @@ P3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 25 27 -24 26 27 18 24 27 14 22 27 14 22 27 18 24 27 18 24 27 -22 25 27 22 25 27 22 25 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 @@ -4208,7 +4209,6 @@ P3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 1 3 5 0 0 0 1 3 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 diff --git a/sysdrv/source/uboot/rkbin/bin/rv11/rv1106_spl_v1.01.bin b/sysdrv/source/uboot/rkbin/bin/rv11/rv1106_spl_v1.01.bin index bab9bf9bb08cb94124c764e9580e4bca085a3842..5d34f413381af56c7b07a43960d6b6bf5f122d93 100644 GIT binary patch literal 157930 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

  • SJ_hPRCF#Ccy$07`LxtXRv@deH>1#A=0Oc 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�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®1$@yeO%l+&YbPtU=m-63d5=o-SODBt34 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 = 0; + mmc_send_if_cond(mmc); + } /* Now try to get the SD card's operating condition */ err = sd_send_op_cond(mmc); diff --git a/sysdrv/tools/board/android-tools/S50usbdevice b/sysdrv/tools/board/android-tools/S50usbdevice index d29c2334b..be39abcab 100755 --- a/sysdrv/tools/board/android-tools/S50usbdevice +++ b/sysdrv/tools/board/android-tools/S50usbdevice @@ -30,7 +30,7 @@ USB_CONFIGS_DIR=${USB_CONFIGFS_DIR}/configs/${USB_SKELETON} # For VBUS_ALWAYS_ON usb otg is not support ums # Since the block to ums is always occupated by USB due to no disconneted state UMS_BLOCK=/userdata/ums_shared.img -UMS_BLOCK_SIZE=0 #unit M +UMS_BLOCK_SIZE=0 #unit M UMS_BLOCK_TYPE=fat UMS_BLOCK_AUTO_MOUNT=off UMS_RO=0 @@ -42,13 +42,11 @@ UVC_U_DIR=${UVC_STREAMING_DIR}/uncompressed/u/ UVC_M_DIR=${UVC_STREAMING_DIR}/mjpeg/m/ UVC_F_DIR=${UVC_STREAMING_DIR}/framebased/f/ -test_write() -{ - test -e $2 && echo $1 > $2 +test_write() { + test -e $2 && echo $1 >$2 } -function_init() -{ +function_init() { mkdir ${USB_FUNCTIONS_DIR}/uac1.gs0 test_write 1 ${USB_FUNCTIONS_DIR}/uac1.gs0/c_feature_unit test_write 1 ${USB_FUNCTIONS_DIR}/uac1.gs0/p_feature_unit @@ -66,38 +64,36 @@ function_init() mkdir ${USB_FUNCTIONS_DIR}/hid.usb0 } -configfs_init() -{ +configfs_init() { echo "Debug: configfs_init" mkdir /dev/usb-ffs mount -t configfs none ${CONFIGFS_DIR} mkdir ${USB_CONFIGFS_DIR} -m 0770 - echo 0x2207 > ${USB_CONFIGFS_DIR}/idVendor - echo 0x0310 > ${USB_CONFIGFS_DIR}/bcdDevice - echo 0x0200 > ${USB_CONFIGFS_DIR}/bcdUSB - mkdir ${USB_STRINGS_DIR} -m 0770 - SERIAL=`cat /proc/cpuinfo | grep Serial | awk '{print $3}'` - if [ -z $SERIAL ];then + echo 0x2207 >${USB_CONFIGFS_DIR}/idVendor + echo 0x0310 >${USB_CONFIGFS_DIR}/bcdDevice + echo 0x0200 >${USB_CONFIGFS_DIR}/bcdUSB + mkdir ${USB_STRINGS_DIR} -m 0770 + SERIAL=$(cat /proc/cpuinfo | grep Serial | awk '{print $3}') + if [ -z $SERIAL ]; then SERIAL=0123456789ABCDEF fi - echo $SERIAL > ${USB_STRINGS_DIR}/serialnumber - echo "rockchip" > ${USB_STRINGS_DIR}/manufacturer - echo "rk3xxx" > ${USB_STRINGS_DIR}/product + echo $SERIAL >${USB_STRINGS_DIR}/serialnumber + echo "rockchip" >${USB_STRINGS_DIR}/manufacturer + echo "rk3xxx" >${USB_STRINGS_DIR}/product function_init - mkdir ${USB_CONFIGS_DIR} -m 0770 - mkdir ${USB_CONFIGS_DIR}/strings/${USB_ATTRIBUTE} -m 0770 + mkdir ${USB_CONFIGS_DIR} -m 0770 + mkdir ${USB_CONFIGS_DIR}/strings/${USB_ATTRIBUTE} -m 0770 - echo 0x1 > ${USB_CONFIGFS_DIR}/os_desc/b_vendor_code - echo "MSFT100" > ${USB_CONFIGFS_DIR}/os_desc/qw_sign - echo 500 > ${USB_CONFIGS_DIR}/MaxPower + echo 0x1 >${USB_CONFIGFS_DIR}/os_desc/b_vendor_code + echo "MSFT100" >${USB_CONFIGFS_DIR}/os_desc/qw_sign + echo 500 >${USB_CONFIGS_DIR}/MaxPower ln -s ${USB_CONFIGS_DIR} ${USB_CONFIGFS_DIR}/os_desc/b.1 } -make_config_string() -{ +make_config_string() { tmp=$CONFIG_STRING if [ -n "$CONFIG_STRING" ]; then CONFIG_STRING=${tmp}_${1} @@ -106,131 +102,127 @@ make_config_string() fi } -parse_parameter() -{ +parse_parameter() { # find name and var - NAME=`echo $1 | awk -F "=" '{print $1}'` - VAR=`echo $1 | awk -F "=" '{print $2}'` + NAME=$(echo $1 | awk -F "=" '{print $1}') + VAR=$(echo $1 | awk -F "=" '{print $2}') case "$NAME" in - ums_block) - UMS_BLOCK=${VAR} - ;; - ums_block_size) - if [ ! "$VAR" -gt 0 ] 2>/dev/null ;then - echo "$VAR is not a number" - exit 1 - fi - UMS_BLOCK_SIZE=${VAR} - ;; - ums_block_type) - UMS_BLOCK_TYPE=${VAR} - ;; - ums_block_auto_mount) - UMS_BLOCK_AUTO_MOUNT=${VAR} - ;; - ums_ro) - if [ "$VAR" != "off" ]; then - echo "Set UMS read-only" - UMS_RO=1 - fi - UMS_RO=0 - ;; + ums_block) + UMS_BLOCK=${VAR} + ;; + ums_block_size) + if [ ! "$VAR" -gt 0 ] 2>/dev/null; then + echo "$VAR is not a number" + exit 1 + fi + UMS_BLOCK_SIZE=${VAR} + ;; + ums_block_type) + UMS_BLOCK_TYPE=${VAR} + ;; + ums_block_auto_mount) + UMS_BLOCK_AUTO_MOUNT=${VAR} + ;; + ums_ro) + if [ "$VAR" != "off" ]; then + echo "Set UMS read-only" + UMS_RO=1 + fi + UMS_RO=0 + ;; esac } -parameter_init() -{ - while read line - do +parameter_init() { + while read line; do case "$line" in - usb_mtp_en) - MTP_EN=on - make_config_string mtp - ;; - usb_adb_en) - ADB_EN=on - make_config_string adb - ;; - usb_ums_en) - UMS_EN=on - make_config_string ums - ;; - usb_ntb_en) - NTB_EN=on - make_config_string ntb - ;; - usb_acm_en) - ACM_EN=on - make_config_string acm - ;; - usb_uac1_en) - UAC1_EN=on - make_config_string uac1 - ;; - usb_uac2_en) - UAC2_EN=on - make_config_string uac2 - ;; - usb_uvc_en) - UVC_EN=on - make_config_string uvc - ;; - usb_rndis_en) - RNDIS_EN=on - make_config_string rndis - ;; - usb_hid_en) - HID_EN=on - make_config_string hid - ;; - *) - parse_parameter ${line} - ;; - esac - done < $USB_CONFIG_FILE - - case "$CONFIG_STRING" in - ums) - PID=0x0000 + usb_mtp_en) + MTP_EN=on + make_config_string mtp ;; - mtp) - PID=0x0001 + usb_adb_en) + ADB_EN=on + make_config_string adb ;; - adb) - PID=0x0006 + usb_ums_en) + UMS_EN=on + make_config_string ums ;; - mtp_adb | adb_mtp) - PID=0x0011 + usb_ntb_en) + NTB_EN=on + make_config_string ntb ;; - ums_adb | adb_ums) - PID=0x0018 + usb_acm_en) + ACM_EN=on + make_config_string acm ;; - acm) - PID=0x1005 + usb_uac1_en) + UAC1_EN=on + make_config_string uac1 + ;; + usb_uac2_en) + UAC2_EN=on + make_config_string uac2 + ;; + usb_uvc_en) + UVC_EN=on + make_config_string uvc + ;; + usb_rndis_en) + RNDIS_EN=on + make_config_string rndis + ;; + usb_hid_en) + HID_EN=on + make_config_string hid ;; *) - PID=0x0019 + parse_parameter ${line} + ;; + esac + done <$USB_CONFIG_FILE + + case "$CONFIG_STRING" in + ums) + PID=0x0000 + ;; + mtp) + PID=0x0001 + ;; + adb) + PID=0x0006 + ;; + mtp_adb | adb_mtp) + PID=0x0011 + ;; + ums_adb | adb_ums) + PID=0x0018 + ;; + acm) + PID=0x1005 + ;; + *) + PID=0x0019 + ;; esac } -use_os_desc() -{ - if [ $MTP_EN = on ];then - echo "MTP" > ${USB_FUNCTIONS_DIR}/mtp.gs0/os_desc/interface.MTP/compatible_id - echo 1 > ${USB_CONFIGFS_DIR}/os_desc/use +use_os_desc() { + if [ $MTP_EN = on ]; then + echo "MTP" >${USB_FUNCTIONS_DIR}/mtp.gs0/os_desc/interface.MTP/compatible_id + echo 1 >${USB_CONFIGFS_DIR}/os_desc/use fi } -pre_run_binary() -{ - if [ $ADB_EN = on ];then +pre_run_binary() { + if [ $ADB_EN = on ]; then mkdir /dev/usb-ffs/adb -m 0770 mount -o uid=2000,gid=2000 -t functionfs adb /dev/usb-ffs/adb start-stop-daemon --start --quiet --background --exec /usr/bin/adbd fi - if [ $NTB_EN = on ];then + if [ $NTB_EN = on ]; then mkdir /dev/usb-ffs/ntb -m 0770 mount -o uid=2000,gid=2000 -t functionfs ntb /dev/usb-ffs/ntb # Not start app here @@ -239,65 +231,60 @@ pre_run_binary() # Add uvc app here with start-stop-daemon } -configure_uvc_resolution_yuyv() -{ +configure_uvc_resolution_yuyv() { W=$1 H=$2 DIR=${UVC_U_DIR}/${H}p/ mkdir ${DIR} - echo $W > ${DIR}/wWidth - echo $H > ${DIR}/wHeight - echo 333333 > ${DIR}/dwDefaultFrameInterval - echo $((W*H*20)) > ${DIR}/dwMinBitRate - echo $((W*H*20)) > ${DIR}/dwMaxBitRate - echo $((W*H*2)) > ${DIR}/dwMaxVideoFrameBufferSize - echo -e "333333\n666666\n1000000\n2000000" > ${DIR}/dwFrameInterval + echo $W >${DIR}/wWidth + echo $H >${DIR}/wHeight + echo 333333 >${DIR}/dwDefaultFrameInterval + echo $((W * H * 20)) >${DIR}/dwMinBitRate + echo $((W * H * 20)) >${DIR}/dwMaxBitRate + echo $((W * H * 2)) >${DIR}/dwMaxVideoFrameBufferSize + echo -e "333333\n666666\n1000000\n2000000" >${DIR}/dwFrameInterval } -configure_uvc_resolution_mjpeg() -{ +configure_uvc_resolution_mjpeg() { W=$1 H=$2 DIR=${UVC_M_DIR}/${H}p/ mkdir ${DIR} - echo $W > ${DIR}/wWidth - echo $H > ${DIR}/wHeight - echo 333333 > ${DIR}/dwDefaultFrameInterval - echo $((W*H*20)) > ${DIR}/dwMinBitRate - echo $((W*H*20)) > ${DIR}/dwMaxBitRate - echo $((W*H*2)) > ${DIR}/dwMaxVideoFrameBufferSize - echo -e "333333\n666666\n1000000\n2000000" > ${DIR}/dwFrameInterval + echo $W >${DIR}/wWidth + echo $H >${DIR}/wHeight + echo 333333 >${DIR}/dwDefaultFrameInterval + echo $((W * H * 20)) >${DIR}/dwMinBitRate + echo $((W * H * 20)) >${DIR}/dwMaxBitRate + echo $((W * H * 2)) >${DIR}/dwMaxVideoFrameBufferSize + echo -e "333333\n666666\n1000000\n2000000" >${DIR}/dwFrameInterval } -configure_uvc_resolution_h264() -{ +configure_uvc_resolution_h264() { W=$1 H=$2 DIR=${UVC_F_DIR}/${H}p/ mkdir ${DIR} - echo $W > ${DIR}/wWidth - echo $H > ${DIR}/wHeight - echo 333333 > ${DIR}/dwDefaultFrameInterval - echo $((W*H*10)) > ${DIR}/dwMinBitRate - echo $((W*H*10)) > ${DIR}/dwMaxBitRate + echo $W >${DIR}/wWidth + echo $H >${DIR}/wHeight + echo 333333 >${DIR}/dwDefaultFrameInterval + echo $((W * H * 10)) >${DIR}/dwMinBitRate + echo $((W * H * 10)) >${DIR}/dwMaxBitRate #echo $((W*H*2)) > ${DIR}/dwMaxVideoFrameBufferSize - echo -e "333333\n666666\n1000000\n2000000" > ${DIR}/dwFrameInterval + echo -e "333333\n666666\n1000000\n2000000" >${DIR}/dwFrameInterval } -syslink_function() -{ +syslink_function() { ln -s ${USB_FUNCTIONS_DIR}/$1 ${USB_CONFIGS_DIR}/f${USB_FUNCTIONS_CNT} let USB_FUNCTIONS_CNT=USB_FUNCTIONS_CNT+1 } -bind_functions() -{ +bind_functions() { USB_FUNCTIONS_CNT=1 test $UAC1_EN = on && syslink_function uac1.gs0 test $UAC2_EN = on && syslink_function uac2.gs0 - if [ $UVC_EN = on ];then + if [ $UVC_EN = on ]; then #echo 3072 > ${UVC_DIR}/streaming_maxpacket #echo 1 > ${UVC_DIR}/streaming_bulk @@ -342,55 +329,52 @@ bind_functions() test $ACM_EN = on && syslink_function acm.gs6 if [ $HID_EN = on ]; then - echo 1 > /sys/kernel/config/usb_gadget/rockchip/functions/hid.usb0/protocol - echo 1 > /sys/kernel/config/usb_gadget/rockchip/functions/hid.usb0/subclass - echo 8 > /sys/kernel/config/usb_gadget/rockchip/functions/hid.usb0/report_length - echo -ne \\x05\\x01\\x09\\x06\\xa1\\x01\\x05\\x07\\x19\\xe0\\x29\\xe7\\x15\\x00\\x25\\x01\\x75\\x01\\x95\\x08\\x81\\x02\\x95\\x01\\x75\\x08\\x81\\x03\\x95\\x05\\x75\\x01\\x05\\x08\\x19\\x01\\x29\\x05\\x91\\x02\\x95\\x01\\x75\\x03\\x91\\x03\\x95\\x06\\x75\\x08\\x15\\x00\\x25\\x65\\x05\\x07\\x19\\x00\\x29\\x65\\x81\\x00\\xc0 > /sys/kernel/config/usb_gadget/rockchip/functions/hid.usb0/report_desc + echo 1 >/sys/kernel/config/usb_gadget/rockchip/functions/hid.usb0/protocol + echo 1 >/sys/kernel/config/usb_gadget/rockchip/functions/hid.usb0/subclass + echo 8 >/sys/kernel/config/usb_gadget/rockchip/functions/hid.usb0/report_length + echo -ne \\x05\\x01\\x09\\x06\\xa1\\x01\\x05\\x07\\x19\\xe0\\x29\\xe7\\x15\\x00\\x25\\x01\\x75\\x01\\x95\\x08\\x81\\x02\\x95\\x01\\x75\\x08\\x81\\x03\\x95\\x05\\x75\\x01\\x05\\x08\\x19\\x01\\x29\\x05\\x91\\x02\\x95\\x01\\x75\\x03\\x91\\x03\\x95\\x06\\x75\\x08\\x15\\x00\\x25\\x65\\x05\\x07\\x19\\x00\\x29\\x65\\x81\\x00\\xc0 >/sys/kernel/config/usb_gadget/rockchip/functions/hid.usb0/report_desc syslink_function hid.usb0 fi - if [ $UMS_EN = on ];then - echo ${UMS_RO} > ${USB_FUNCTIONS_DIR}/mass_storage.0/lun.0/ro + if [ $UMS_EN = on ]; then + echo ${UMS_RO} >${USB_FUNCTIONS_DIR}/mass_storage.0/lun.0/ro if [ "$UMS_BLOCK_SIZE" != "0" -a ! -e ${UMS_BLOCK} ]; then dd if=/dev/zero of=${UMS_BLOCK} bs=1M count=${UMS_BLOCK_SIZE} mkfs.${UMS_BLOCK_TYPE} ${UMS_BLOCK} test $? && echo "Warning: failed to mkfs.${UMS_BLOCK_TYPE} ${UMS_BLOCK}" fi mkdir /mnt/ums -p - if [ $UMS_BLOCK_AUTO_MOUNT = on ];then + if [ $UMS_BLOCK_AUTO_MOUNT = on ]; then mount ${UMS_BLOCK} /mnt/ums else - echo ${UMS_BLOCK} > ${USB_FUNCTIONS_DIR}/mass_storage.0/lun.0/file + echo ${UMS_BLOCK} >${USB_FUNCTIONS_DIR}/mass_storage.0/lun.0/file fi syslink_function mass_storage.0 fi - echo ${CONFIG_STRING} > ${USB_CONFIGS_DIR}/strings/${USB_ATTRIBUTE}/configuration + echo ${CONFIG_STRING} >${USB_CONFIGS_DIR}/strings/${USB_ATTRIBUTE}/configuration } -run_binary() -{ - if [ $MTP_EN = on ];then +run_binary() { + if [ $MTP_EN = on ]; then start-stop-daemon --start --quiet --background --exec /usr/bin/mtp-server fi - if [ $RNDIS_EN = on ];then + if [ $RNDIS_EN = on ]; then - sleep .5 - ifconfig usb0 172.32.0.70 - ifconfig usb0 up + sleep .5 + ifconfig usb0 172.32.0.70 + ifconfig usb0 up fi } -program_kill() -{ - P_PID=`ps | grep $1 | grep -v grep | awk '{print $1}'` +program_kill() { + P_PID=$(ps | grep $1 | grep -v grep | awk '{print $1}') test -z ${P_PID} || kill -9 ${P_PID} } -usb_device_stop() -{ - echo "none" > ${USB_CONFIGFS_DIR}/UDC +usb_device_stop() { + echo "none" >${USB_CONFIGFS_DIR}/UDC program_kill adbd program_kill mtp-server ls ${USB_CONFIGS_DIR} | grep f[0-9] | xargs -I {} rm ${USB_CONFIGS_DIR}/{} @@ -399,38 +383,38 @@ usb_device_stop() case "$1" in start) ifconfig lo up -# if [ ! -e "/tmp/.usb_config" ]; then -# echo "$0: Cannot find .usb_config" -# # exit 0 -# USB_CONFIG_FILE=/tmp/.usb_config -# echo "usb_adb_en" >> $USB_CONFIG_FILE -# fi + # if [ ! -e "/tmp/.usb_config" ]; then + # echo "$0: Cannot find .usb_config" + # # exit 0 + # USB_CONFIG_FILE=/tmp/.usb_config + # echo "usb_adb_en" >> $USB_CONFIG_FILE + # fi -# if [ -e /tmp/.usb_config ]; then -# USB_CONFIG_FILE=/tmp/.usb_config -# fi + # if [ -e /tmp/.usb_config ]; then + # USB_CONFIG_FILE=/tmp/.usb_config + # fi parameter_init -# if [ -z $CONFIG_STRING ]; then -# echo "$0: no function be selected" -# exit 0 -# fi + # if [ -z $CONFIG_STRING ]; then + # echo "$0: no function be selected" + # exit 0 + # fi test -d ${USB_CONFIGFS_DIR} || configfs_init use_os_desc - echo $PID > ${USB_CONFIGFS_DIR}/idProduct + echo $PID >${USB_CONFIGFS_DIR}/idProduct bind_functions pre_run_binary sleep 1 - UDC=`ls /sys/class/udc/| awk '{print $1}'` - echo $UDC > ${USB_CONFIGFS_DIR}/UDC + UDC=$(ls /sys/class/udc/ | awk '{print $1}') + echo $UDC >${USB_CONFIGFS_DIR}/UDC run_binary ;; stop) usb_device_stop ;; -restart|reload) +restart | reload) # Do restart usb by udev - echo "USB_FORCE_CHANGED" >> /tmp/.usb_config + echo "USB_FORCE_CHANGED" >>/tmp/.usb_config usb_device_stop sleep 1 $0 start @@ -440,6 +424,7 @@ restart|reload) *) echo "Usage: $0 {start|stop|restart}" exit 1 + ;; esac exit 0 diff --git a/sysdrv/tools/board/android-tools/S90usb0config b/sysdrv/tools/board/android-tools/S99usb0config similarity index 100% rename from sysdrv/tools/board/android-tools/S90usb0config rename to sysdrv/tools/board/android-tools/S99usb0config diff --git a/sysdrv/tools/board/buildroot/S99hciinit b/sysdrv/tools/board/buildroot/S99hciinit index d747f0c87..2b2f67a06 100755 --- a/sysdrv/tools/board/buildroot/S99hciinit +++ b/sysdrv/tools/board/buildroot/S99hciinit @@ -3,7 +3,7 @@ check_hciconfig() { if command -v hciattach &> /dev/null; then if lsmod | grep -q "aic8800_fdrv"; then - hciattach -s 115200 /dev/ttyS1 any 115200 flow nosleep& + hciattach -s 1500000 /dev/ttyS1 any 1500000 flow nosleep& sleep 2 if hciconfig -a | grep -q "hci0"; then hciconfig hci0 up& diff --git a/sysdrv/tools/board/buildroot/busybox.config b/sysdrv/tools/board/buildroot/busybox.config index 3cae292c6..dca54501c 100755 --- a/sysdrv/tools/board/buildroot/busybox.config +++ b/sysdrv/tools/board/buildroot/busybox.config @@ -835,7 +835,7 @@ CONFIG_MT=y CONFIG_PARTPROBE=y # CONFIG_RAIDAUTORUN is not set # CONFIG_READAHEAD is not set -# CONFIG_RFKILL is not set +CONFIG_RFKILL=y CONFIG_RUNLEVEL=y # CONFIG_RX is not set CONFIG_SEEDRNG=y diff --git a/sysdrv/tools/board/emmc/emmc_wifi_bt_init.sh b/sysdrv/tools/board/emmc/emmc_wifi_bt_init.sh index f9a760563..03342dabc 100755 --- a/sysdrv/tools/board/emmc/emmc_wifi_bt_init.sh +++ b/sysdrv/tools/board/emmc/emmc_wifi_bt_init.sh @@ -2,10 +2,19 @@ if [ "$(cat /proc/device-tree/model)" == "Luckfox Pico Ultra W" ]; then systemctl stop wpa_supplicant - if [ -d /usr/ko ]; then - cd /usr/ko + if [ -d /oem/usr/ko ]; then + cd /oem/usr/ko if [ -z "$(ifconfig | grep "wlan0")" ]; then - ./insmod_wifi.sh + insmod cfg80211.ko + insmod libarc4.ko + insmod ctr.ko + insmod ccm.ko + insmod aes_generic.ko + insmod aic8800_bsp.ko + sleep 0.2 + insmod aic8800_fdrv.ko + sleep 2 + insmod aic8800_btplm.ko else # wait systemctl sleep 0.5 diff --git a/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800_bsp.ko b/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800_bsp.ko deleted file mode 100644 index 0b697e0ce4b46c774a2df3587248e818a74af475..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 73076 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 z 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 diff --git a/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800_btlpm.ko b/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800_btlpm.ko deleted file mode 100644 index 4771c4cc1a192eb10cf83a3bfced8e616bd9a405..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6256 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%0A2u}($I-awUKlMT6-gXW+2rzA|F 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

    gHOI0U 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 We|3{cq*gll`Fu@Qm(TD?(fLN*AGdNWH4>o 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 diff --git a/sysdrv/tools/board/emmc/emmc_wifi_ko/cfg80211.ko b/sysdrv/tools/board/emmc/emmc_wifi_ko/cfg80211.ko deleted file mode 100644 index 285c94bf3019b589d3724f5162f89075508a0ca1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 225140 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

    7lz-*a<+D<0XGRmh0VK{IFyzi!TGVsxBgc8 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 diff --git a/sysdrv/tools/board/emmc/emmc_wifi_ko/ctr.ko b/sysdrv/tools/board/emmc/emmc_wifi_ko/ctr.ko deleted file mode 100644 index 7acf4f90cbf58865b25966b2d849f049342203e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6772 zcmd5=eQX@X6`$L^iyf1MOJX2E2dvD&nc{4lv_U`NHmpmR19whMo-Yl*ab~f90d%Gx{PgSDiAi8;C7qqE_niOe(_{YU zyi&W)KAg$}o%erOk{7IW1d#R6~W!TCBd-nzUyIO0DVIqcavGbhICV{c+~NDOud z-}8$7`jt{g+1uBXTA$i6l1}xH49=JCxk^1b(z$bbZb8SL>WR6Aj_Em}Lr95d{peZGTtUlM0@@FBm+RSNDuOmGbqkZx43u8L@10^Ov#6 zk$f*Ze<`D=*@rKiF$bihXZ-EtE&iNO;;ZmV!bzVLlHy0F%lo2t>f+kvC%;>_bjGu~ zGkKTpk@h6&`i{?uts!%SPhz1n)4^0g+SmJ+)0oLuK23RAE;UFVvN+ZW%WE!0kF)?b%E7)<5of^zqKn?BZXLeDT@4#idVdmrj)z9hfaQ zmS*)+<;F)IThaWU;EhR5=Dh2qA#gXFe1{YgbvIZ?j{Ri}~j+mA)~xKoXzvHO0+H zDQoh~hQ7gbJCyA^X%6g4Xvg$q%H+>RJmRB*eW637u zEU3M&Clc=_hs*VwpG*vw8#jAf-&Kao{>?u~dRv2uC4EnhEa`g@d%dJjRe;cgBQy`i z|H@2A@=eVjr9J;GcK#CIKTlihr8Qru2~D1xG1|!|lE6dHtOLZjz0&lTbd&y}95gjL?v=9~R zUlo88S)B_ncj3mG8icXS&6;B`tQMks*fMrC=wl8X1^<)-_kjNiIxURsYakKmr?da|c` zpW~0gYy_^i{gJBx6?kT|{Bwl!!Tc~Fn?>jXF!A*j0}EFmTkOhj9s6R<_&V2k3s=Yc zO??$NvMiLa~zaH5&nsz@}SMkiib1*ZKq%^He^ zs|ydgu;#)g7vAr}hh6x0F8rDczwg2Vebm{_JT1*hCd)(u;N;STUO~;B<^aTr?DQTvk)#^4Nq@pmSxG8mP_h)w4-i z&FAHOA;Q$Orer7b+`+hW!?5Ukvve?GJd%lQK^xPHhE|Xb4LQbM7P+nxrF|02(_`%q zH^HinLTvKd{~$Q*<7 zfpuq9O)g@?(^^$+`bg%o4pC((d=L+_qWH`jYxhAWch>gHV+AE4^N5jbTRfR7a0|u2 zc~#P5GCinVh}B}3OqH=auOSK6I?Oy2>1v?=bXE;o|NS)dG4=rAE_^c*y_K<-K^tyo zY?d%yrhg`kf@l#g(uS{C^^1UlD-68qPSiFeM}b4{<_5fMA0Z0)KBC=>9UwZ)*t0~p z;(q{J{)sJLi946Vqt@^4}_Xs{4_g690Y%O9n+s&4oFx{_2 zkqVOrY#Op@#HMkZw%Zhhtwro+gFk9(5sTS?>D?#vSpEgP(hu19heWSo>{X%zj7?&0 zVGBUGxI1Gg2~eY8(G=(Ch7ONqC&GydJ)LaPlPqkCtpD=D1uY#mv`K@R96etSNLQc@ z@!cJU8O=dMET|_Znax5Ic8#vsI29E?@K$kNKw4Pe;{yaSh#(r(-zUX?X=pCHd$ Jxe_|g{s&=3ea8R* diff --git a/sysdrv/tools/board/emmc/emmc_wifi_ko/insmod_wifi.sh b/sysdrv/tools/board/emmc/emmc_wifi_ko/insmod_wifi.sh deleted file mode 100755 index ffba12b42..000000000 --- a/sysdrv/tools/board/emmc/emmc_wifi_ko/insmod_wifi.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -cmd=$(realpath $0) -_DIR=$(dirname $cmd) -cd $_DIR - -export PATH=$PATH:/ko - -#aic8800 -if [ -f /usr/ko/aic8800_fdrv.ko ]; then - mkdir -p /oem/usr/ko - cp /usr/ko/aic8800dc_fw /oem/usr/ko -r - insmod cfg80211.ko - insmod libarc4.ko - insmod ctr.ko - insmod ccm.ko - #insmod libaes.ko - #insmod aes_generic.ko - insmod aic8800_bsp.ko - sleep 0.2 - insmod aic8800_fdrv.ko - sleep 2 - insmod aic8800_btlpm.ko - sleep 0.1 -fi diff --git a/sysdrv/tools/board/emmc/emmc_wifi_ko/libarc4.ko b/sysdrv/tools/board/emmc/emmc_wifi_ko/libarc4.ko deleted file mode 100644 index 512cfb881aaa730dfe64bac321a871557e2d89d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3112 zcmeHJU1%It6h5=F*`{fYCN`Sd8W$7OM4MqZ*_u)t*qBX1H4SMYpr}k{cgJMN?(DKV z8xs{0eGtLN6!B5;rD%kZA_`Jk#0SwnG>@W4z<+B?UMl00e&^2I?CiEFeelr(=bqnt z&Yg4bJ#&{wC&m;-AqfigP*o!OtWj7R5`y&51Jp)g@CSe@aC~x_npc;(p;)RcQ9b~yDDe7m-iZdXjb)*MN?N4Au~zcyN3<(+>x$_#tG^+#jm=l1K6AKOw~ zW!@NV*u=UVtSWW!x9vBMj{Wc}ulF8cJ2O7)2Q^BWgkCnCd2`7ZGNq-WLzJ^Jrd>9N z#-}DIYZgsATOK0Ic1or>^gP){-WmyW8q#0s<^3DrAm>SJ5JOj?lhn6y+DQb&>_&afE)+k0p$C@_EFF$ zfV@zaYgZ7Wm!N0hyQ5HuOd-i3La%}4d>%w-6%5DrAVTNCRPSAcE=iN1YF)m4^o4Kd zn76JcOyAbn!(x6lf0%B-&ayY(v-?v(>g(lwZ*~5jsw=qq)v5UYAgH3+RgH@J1wkdR z=}Mg{c121Yzo{yKQ)yqFT&*M)PK#05vsf5o!1dZt*^izU8J0z$ncPDuzyhff1jK5rqk1FkR2{10Zz@VKmh zkLNFB&0861UR6NnB*zugX6=fWu2{KjpOqy|sJwr*=9r5PX(cnq^$=eoitBw7Vp#TU znKXQfWxre?4L>XmGmJE8S;H|%M9x|Ee8J9`TJWnmrtfZL7fG{h%h8HCBukeOF;mFr zO&gL}3?3JKWyi?Odl?J|iPIIwEPLO4HzW5kzFmHq@bDn&3QXj;41)#?`aK7^+JC&g zV80VUE;YYz7>d9(!FhwslY+>8Qa%jfcJY$%;hxKs;T#shhv0r7uZ@xSe-g;?`hg4y z2nRh@jBI0^@u|#v8p;=-lfXU<7La-AcU~IU2#_LPHG=229>Z>aufoQ2q~B!-D>4Z5 zNg%^}K&Xpv3JH2l;PWi!$^AG7U9c`+qApxNt_ycNS(o$RWnPXmg+PI{JNyR$Kkja4 zcJccdHmG_&o0w1N)^sR*dY&__TX2?SiT1aA1375ZENkwFvrsk2-$`odoIkFP@rxpa1{> diff --git a/sysdrv/tools/board/luckfox_config/S99luckfoxconfigload b/sysdrv/tools/board/luckfox_config/S99luckfoxconfigload index 9dba3fa8d..3f850145c 100755 --- a/sysdrv/tools/board/luckfox_config/S99luckfoxconfigload +++ b/sysdrv/tools/board/luckfox_config/S99luckfoxconfigload @@ -3,6 +3,9 @@ load_luckfoxconfig() { if [ -f /usr/bin/luckfox-config ]; then luckfox-config load + fi + if [ "$(cat /proc/device-tree/model)" == "Luckfox Pico Ultra" ] || + [ "$(cat /proc/device-tree/model)" == "Luckfox Pico Ultra W" ]; then luckfox_switch_rgb_resolution & fi } diff --git a/sysdrv/tools/board/luckfox_config/luckfox-config b/sysdrv/tools/board/luckfox_config/luckfox-config index d1de74761..ab73a2aac 100755 --- a/sysdrv/tools/board/luckfox_config/luckfox-config +++ b/sysdrv/tools/board/luckfox_config/luckfox-config @@ -407,8 +407,8 @@ function luckfox_pico_mini_pin_diagram_file() { PWM4_M2 - SPI0_M0_CLK - GPIO1_C1 | | GPIO1_C6 - - PWM10_M1 PWM5_M2 - SPI0_M0_MOSI - GPIO1_C2 | | GPIO1_D3 - - PWM11_M2 PWM6_M2 - SPI0_M0_MISO - GPIO1_C3 | | GPIO1_D2 - - PWM0_M1 - PWM8_M1 - UART4_M1_RX - GPIO1_C4 | | GPIO1_D1 - - PWM10_M2 - PWM9_M1 - UART4_M1_TX - GPIO1_C5 | | GPIO1_D0 - SARADC_M1 - PWM3_M2 + PWM8_M1 - UART4_M1_RX - GPIO1_C4 | | GPIO1_D1 - UART3_M1_RX - PWM10_M2 + PWM9_M1 - UART4_M1_TX - GPIO1_C5 | | GPIO1_D0 - UART3_M1_TX - PWM3_M2 + - + - + EOF } @@ -2710,7 +2710,7 @@ elif [ "$1" == "rgb_switch" ]; then "18" "16" \ "2" "2" \ "0" "0" \ - "0" "1" + "0" "0" elif [ "$(luckfox_get_pin_cfg "RGB_HACTIVE")" == "720" ]; then # 720 -> 480 echo "****************************************************"

    C^S_-g2GC_#Oec=nfSc&eI&b@W-C{oG9|F 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 i+f-{$Bthq9B!t`+so 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 diff --git a/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fmacfw_patch_8800dc_h_u02.bin b/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fmacfw_patch_8800dc_h_u02.bin deleted file mode 100755 index 7615a823d47e42d0eee6dcd3d69436ebc23732ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16388 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 fB97A_{&Nl$XHEMU2 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 WNI75mzinqJEG;T2__ZnK`~LtpSrNVf diff --git a/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fmacfw_patch_8800dc_ipc_u02.bin b/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fmacfw_patch_8800dc_ipc_u02.bin deleted file mode 100755 index 819be58cc754cc2863f4861dda1b49d9b43612ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26984 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 Q=6`CkpI$f3&zN`qH*>)^F8}}l diff --git a/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fmacfw_patch_8800dc_u02.bin b/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fmacfw_patch_8800dc_u02.bin deleted file mode 100755 index fa8edfb58ade7afc22bbdd5bf03eae8d744b2e14..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31600 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 diff --git a/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fmacfw_patch_tbl_8800dc_ipc_u02.bin b/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fmacfw_patch_tbl_8800dc_ipc_u02.bin deleted file mode 100755 index df2573d0b8a30551cb68f71a53116f0a7938f4be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 504 zcmcJ~y-EW?6b0Z@7)=x+Q;1hlnBWhIAehZYmPJs(fY?P;R2FrEB7wvz>Cy-mTcj|Z z7J`irAed6v!a@t*z{192!NT+kp2c|ux7d%lcjn9;v;_64-e{ibysfPTtH7UIv|P*4 z^ZL}!TNS(F)bU?mkW?tA1)nt96f|gu>)n2Z%&6dPK;fRg)AG2$VZTc+`xHhN1)4^) zf;LTL1p&`>a)OZiUklt%OGUv}LLub{uHw99=5pT;*B7j>x;#h6mIOBI=X*RyqkTb* z_kDPRZ}w*n1YdE^p&-ltbxH8Ver8SZOmi!ooB21sz~j1i!h7-e4$rtw7{;GT&CSSmF8Wq0Oq8`Agl2YQ-Hk{g=m!xAQCh34=qAF73Tq-5craLD z1-;cFC{XC)A?Od-LkBwub_hCj*zOH<>6YMUaQ=nn@|o}Ryzl#c-*-kUrr81&9Ab)qll#KeM z-WM3&!iRrvn9}$&L(E4%;k4-y9IBX#`0kv^s51Uv z6eeN$C3T>)#JoD*TQTNc811PBzmGCUr>phnrUu+8o8F&cPp|>k=_ife1DnKueZij5 zL;5rHUgAEVChrpQr?{`jlsHRY>_3I>(C6it#VD@NG!?TFvl??HW<6%3gSj8l58UEA reT2VY3GP<;&fI^IdDql3xXM2(SYJA!=si)Izq88OK}{(+82zkACCze% diff --git a/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fw_adid_8800dc_u02.bin b/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fw_adid_8800dc_u02.bin deleted file mode 100755 index 3e90e35afb03e52376eb575f7ca9fc52e088cedf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1468 zcmeH{y-QnB7{;HpzUSO~AzGnDL>)vT?GVJFe}HW*ji}YZLHxi9DJW!!5UWF=9Xd)8 zRB9n^!O1}+*nmQpf>EO=INZTOP-@W-0)F5i`k0G$Xa>KQLSOjZ^K#DfKIfdv%PCF@ zTD}S{Blb`beIR(3Cvch0e8Bx@{Zi+BERZ5WfW*i}xXT1<6@up;@>F0q3CjBfgTy}~ z*doDiq@Q&wtRp9@0`EGt1q#)#$s2`@I)&D8g(q_gJF^POh|2n>zG!?J(byZ)NRc$j zkmiVnJE|cw8mB)rIyx0>Qr4!h)z11Zg;=-avEf(PJfc3N5GKAsg`TiN=z~IFfcr5| zxD9xUjO?CXTW7~ypXk2EVcJXa7L5o^QaYAVUhrZr>-dDZwm>lj}xw$La5( z1ry<)H}7@Vq98<4Buz5Jza*Gm7SuLbup2D|$ekZbH`^111{}oTo=Me`B(C@tISEN-U8>4_IW=5 diff --git a/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fw_adid_8800dc_u02h.bin b/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fw_adid_8800dc_u02h.bin deleted file mode 100755 index e3bc1f0d45480da71d050709820aee098922ad32..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1476 zcmeH{J!n%=6vuyloO@p`L>f@UA$}kQD~OXrh7LsoMhNwTDiMM{B+#XUI+Q9!GdOf` zs8C}lg*p`Kpb{iP3JQe|EgESM2f+>rWm-rpw=1f7E@UHyk;BRnLn3J?4;uO&8&YG2wqaBEFWj)ibC&yg zOF?;{6qW3-=0`294=vFNOXaK~=^OgfhK@6;KWAvk1RjY_!?mhvx()NnqsxYwD~7i{ zhS^J6@2cT^lgHFHuU<3p%GTeF9{xw|<5RHT_TDnHU`f2QWZqbM7A^jl#@g84z`NS3 zbvi>_9||?HU(;MH6QXeI@9Qj;g#NLg=V48o{crZq{(*2(7`Ul-f)dXC`J8;dCoC#e zX0L=)FQv#s{>SgBjDEjACp}7@uQ3g OO)IjmD=XOF4&MNgReYxa diff --git a/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fw_patch_8800dc_u02.bin b/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fw_patch_8800dc_u02.bin deleted file mode 100755 index 220c6a894de68d4298337397821977d5e316f5a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18344 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 diff --git a/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fw_patch_8800dc_u02h.bin b/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fw_patch_8800dc_u02h.bin deleted file mode 100755 index 30053f00b39eabc61e60731ec1f0d6828253fe6b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4544 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 D)}WW0 diff --git a/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fw_patch_table_8800dc_u02h.bin b/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fw_patch_table_8800dc_u02h.bin deleted file mode 100755 index 1cb983077ba6398b6fb7c6df3c9c584b52cedf66..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 448 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